Programme avec une interface graphique qu contrôle l'avant bras droit du projet InMoov sur la carte STM32F746G-DISCO pour le projet d’interfaçage de la Licence Pro MECSE.

Dependencies:   F746_GUI mbed

Committer:
Lp
Date:
Tue Jun 04 12:47:25 2019 +0000
Revision:
0:24647f68ab29
Interface inMoov Avant bras droit avec carte STM32F746G

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Lp 0:24647f68ab29 1 #include "mbed.h"
Lp 0:24647f68ab29 2 #include "F746_GUI.hpp"
Lp 0:24647f68ab29 3 #include "TS_DISCO_F746NG.h"
Lp 0:24647f68ab29 4 #include "LCD_DISCO_F746NG.h"
Lp 0:24647f68ab29 5
Lp 0:24647f68ab29 6 LCD_DISCO_F746NG lcd;
Lp 0:24647f68ab29 7 TS_DISCO_F746NG ts;
Lp 0:24647f68ab29 8
Lp 0:24647f68ab29 9 PwmOut pouce(A5);
Lp 0:24647f68ab29 10 PwmOut index(A4);
Lp 0:24647f68ab29 11 PwmOut majeur(A3);
Lp 0:24647f68ab29 12 PwmOut annulaire(A2);
Lp 0:24647f68ab29 13 PwmOut auriculaire(A0);
Lp 0:24647f68ab29 14 PwmOut poignet(D3);
Lp 0:24647f68ab29 15 float us;
Lp 0:24647f68ab29 16
Lp 0:24647f68ab29 17 int main() {
Lp 0:24647f68ab29 18
Lp 0:24647f68ab29 19 SeekBar auriculairebar(30,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
Lp 0:24647f68ab29 20 SeekBar annulairebar(70,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
Lp 0:24647f68ab29 21 SeekBar majeurbar(110,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
Lp 0:24647f68ab29 22 SeekBar indexbar(150,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
Lp 0:24647f68ab29 23 SeekBar poucebar(190,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
Lp 0:24647f68ab29 24 SeekBar poignetbar(40,230,150,0,180,90,SeekBar::Holizontal,0xFFB0B0FF,30,5);
Lp 0:24647f68ab29 25 Button reset(270,30,80,40,"Reset",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
Lp 0:24647f68ab29 26 Button poing(380,30,80,40,"Poing",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
Lp 0:24647f68ab29 27 Button doigt(270,100,80,40,"Cencurer",Font12,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
Lp 0:24647f68ab29 28 Button metal(380,100,80,40,"Metal",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
Lp 0:24647f68ab29 29 Button pointe(270,170,80,40,"Pointe",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
Lp 0:24647f68ab29 30 Button ok(380,170,80,40,"OK",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
Lp 0:24647f68ab29 31
Lp 0:24647f68ab29 32 pouce.pulsewidth_us(1500);
Lp 0:24647f68ab29 33 index.pulsewidth_us(1500);
Lp 0:24647f68ab29 34 majeur.pulsewidth_us(1500);
Lp 0:24647f68ab29 35 annulaire.pulsewidth_us(1500);
Lp 0:24647f68ab29 36 auriculaire.pulsewidth_us(1500);
Lp 0:24647f68ab29 37 poignet.pulsewidth_us(1500);
Lp 0:24647f68ab29 38 lcd.DrawVLine(250, 0, 300);
Lp 0:24647f68ab29 39
Lp 0:24647f68ab29 40
Lp 0:24647f68ab29 41 wait(2);
Lp 0:24647f68ab29 42
Lp 0:24647f68ab29 43 while(1){
Lp 0:24647f68ab29 44 lcd.DisplayStringAt(5,5, (uint8_t *)"MODE LIBRE",LEFT_MODE);
Lp 0:24647f68ab29 45 lcd.DisplayStringAt(5,5, (uint8_t *)"MODE PREPROGRAMMER",RIGHT_MODE);
Lp 0:24647f68ab29 46
Lp 0:24647f68ab29 47 if (auriculairebar.Slide()) {
Lp 0:24647f68ab29 48 //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
Lp 0:24647f68ab29 49 us = auriculairebar.GetValue()*((1500/180)*2);
Lp 0:24647f68ab29 50 auriculaire.pulsewidth_us(us);
Lp 0:24647f68ab29 51 }
Lp 0:24647f68ab29 52
Lp 0:24647f68ab29 53 if (annulairebar.Slide()) {
Lp 0:24647f68ab29 54 us = annulairebar.GetValue()*((1500/180)*2);
Lp 0:24647f68ab29 55 annulaire.pulsewidth_us(us);
Lp 0:24647f68ab29 56 }
Lp 0:24647f68ab29 57
Lp 0:24647f68ab29 58 if (majeurbar.Slide()) {
Lp 0:24647f68ab29 59 //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
Lp 0:24647f68ab29 60 us = majeurbar.GetValue()*((1500/180)*2);
Lp 0:24647f68ab29 61 majeur.pulsewidth_us(us);
Lp 0:24647f68ab29 62 }
Lp 0:24647f68ab29 63
Lp 0:24647f68ab29 64 if (indexbar.Slide()) {
Lp 0:24647f68ab29 65 //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
Lp 0:24647f68ab29 66 us = indexbar.GetValue()*((1500/180)*2);
Lp 0:24647f68ab29 67 index.pulsewidth_us(us);
Lp 0:24647f68ab29 68 }
Lp 0:24647f68ab29 69
Lp 0:24647f68ab29 70 if (poucebar.Slide()) {
Lp 0:24647f68ab29 71 //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
Lp 0:24647f68ab29 72 us = poucebar.GetValue()*((1500/180)*2);
Lp 0:24647f68ab29 73 pouce.pulsewidth_us(us);
Lp 0:24647f68ab29 74 }
Lp 0:24647f68ab29 75
Lp 0:24647f68ab29 76 if (poignetbar.Slide()) {
Lp 0:24647f68ab29 77 //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
Lp 0:24647f68ab29 78 us = poignetbar.GetValue()*((1500/180)*2);
Lp 0:24647f68ab29 79 poignet.pulsewidth_us(us);
Lp 0:24647f68ab29 80 }
Lp 0:24647f68ab29 81
Lp 0:24647f68ab29 82 if(reset.Touched())
Lp 0:24647f68ab29 83 {
Lp 0:24647f68ab29 84 pouce.pulsewidth_us(1500);
Lp 0:24647f68ab29 85 index.pulsewidth_us(1500);
Lp 0:24647f68ab29 86 majeur.pulsewidth_us(1500);
Lp 0:24647f68ab29 87 annulaire.pulsewidth_us(1500);
Lp 0:24647f68ab29 88 auriculaire.pulsewidth_us(1500);
Lp 0:24647f68ab29 89 poignet.pulsewidth_us(1500);
Lp 0:24647f68ab29 90 }
Lp 0:24647f68ab29 91
Lp 0:24647f68ab29 92 if(poing.Touched())
Lp 0:24647f68ab29 93 {
Lp 0:24647f68ab29 94 pouce.pulsewidth_us(1900);
Lp 0:24647f68ab29 95 index.pulsewidth_us(1900);
Lp 0:24647f68ab29 96 majeur.pulsewidth_us(1900);
Lp 0:24647f68ab29 97 annulaire.pulsewidth_us(1900);
Lp 0:24647f68ab29 98 auriculaire.pulsewidth_us(1900);
Lp 0:24647f68ab29 99 poignet.pulsewidth_us(1500);
Lp 0:24647f68ab29 100
Lp 0:24647f68ab29 101 }
Lp 0:24647f68ab29 102
Lp 0:24647f68ab29 103 if(doigt.Touched())
Lp 0:24647f68ab29 104 {
Lp 0:24647f68ab29 105 pouce.pulsewidth_us(1900);
Lp 0:24647f68ab29 106 index.pulsewidth_us(1900);
Lp 0:24647f68ab29 107 majeur.pulsewidth_us(450);
Lp 0:24647f68ab29 108 annulaire.pulsewidth_us(1900);
Lp 0:24647f68ab29 109 auriculaire.pulsewidth_us(1900);
Lp 0:24647f68ab29 110 poignet.pulsewidth_us(1500);
Lp 0:24647f68ab29 111
Lp 0:24647f68ab29 112 }
Lp 0:24647f68ab29 113
Lp 0:24647f68ab29 114 if(metal.Touched())
Lp 0:24647f68ab29 115 {
Lp 0:24647f68ab29 116 pouce.pulsewidth_us(1900);
Lp 0:24647f68ab29 117 index.pulsewidth_us(450);
Lp 0:24647f68ab29 118 majeur.pulsewidth_us(1900);
Lp 0:24647f68ab29 119 annulaire.pulsewidth_us(1900);
Lp 0:24647f68ab29 120 auriculaire.pulsewidth_us(450);
Lp 0:24647f68ab29 121 poignet.pulsewidth_us(1500);
Lp 0:24647f68ab29 122
Lp 0:24647f68ab29 123 }
Lp 0:24647f68ab29 124 if(pointe.Touched())
Lp 0:24647f68ab29 125 {
Lp 0:24647f68ab29 126 pouce.pulsewidth_us(1900);
Lp 0:24647f68ab29 127 index.pulsewidth_us(450);
Lp 0:24647f68ab29 128 majeur.pulsewidth_us(1900);
Lp 0:24647f68ab29 129 annulaire.pulsewidth_us(1900);
Lp 0:24647f68ab29 130 auriculaire.pulsewidth_us(1900);
Lp 0:24647f68ab29 131 poignet.pulsewidth_us(450);
Lp 0:24647f68ab29 132
Lp 0:24647f68ab29 133 }
Lp 0:24647f68ab29 134
Lp 0:24647f68ab29 135 if(ok.Touched())
Lp 0:24647f68ab29 136 {
Lp 0:24647f68ab29 137 pouce.pulsewidth_us(1700);
Lp 0:24647f68ab29 138 index.pulsewidth_us(1600);
Lp 0:24647f68ab29 139 majeur.pulsewidth_us(450);
Lp 0:24647f68ab29 140 annulaire.pulsewidth_us(450);
Lp 0:24647f68ab29 141 auriculaire.pulsewidth_us(450);
Lp 0:24647f68ab29 142 poignet.pulsewidth_us(1500);
Lp 0:24647f68ab29 143
Lp 0:24647f68ab29 144 }
Lp 0:24647f68ab29 145
Lp 0:24647f68ab29 146
Lp 0:24647f68ab29 147 }
Lp 0:24647f68ab29 148 }
Lp 0:24647f68ab29 149
Lp 0:24647f68ab29 150
Lp 0:24647f68ab29 151
Lp 0:24647f68ab29 152