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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "F746_GUI.hpp"
00003 #include "TS_DISCO_F746NG.h"
00004 #include "LCD_DISCO_F746NG.h"
00005 
00006 LCD_DISCO_F746NG lcd;
00007 TS_DISCO_F746NG ts;
00008 
00009 PwmOut pouce(A5);
00010 PwmOut index(A4);
00011 PwmOut majeur(A3);
00012 PwmOut annulaire(A2);
00013 PwmOut auriculaire(A0);
00014 PwmOut poignet(D3);
00015 float us;
00016 
00017 int main() {
00018    
00019     SeekBar auriculairebar(30,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
00020     SeekBar annulairebar(70,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
00021     SeekBar majeurbar(110,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
00022     SeekBar indexbar(150,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
00023     SeekBar poucebar(190,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
00024     SeekBar poignetbar(40,230,150,0,180,90,SeekBar::Holizontal,0xFFB0B0FF,30,5);
00025     Button reset(270,30,80,40,"Reset",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
00026     Button poing(380,30,80,40,"Poing",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
00027     Button doigt(270,100,80,40,"Cencurer",Font12,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
00028     Button metal(380,100,80,40,"Metal",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
00029     Button pointe(270,170,80,40,"Pointe",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
00030     Button ok(380,170,80,40,"OK",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
00031     
00032     pouce.pulsewidth_us(1500);
00033     index.pulsewidth_us(1500);
00034     majeur.pulsewidth_us(1500);
00035     annulaire.pulsewidth_us(1500);
00036     auriculaire.pulsewidth_us(1500);
00037     poignet.pulsewidth_us(1500);
00038     lcd.DrawVLine(250, 0, 300);
00039    
00040     
00041     wait(2);
00042     
00043          while(1){
00044             lcd.DisplayStringAt(5,5, (uint8_t *)"MODE LIBRE",LEFT_MODE);
00045             lcd.DisplayStringAt(5,5, (uint8_t *)"MODE PREPROGRAMMER",RIGHT_MODE);
00046              
00047          if (auriculairebar.Slide()) {
00048             //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
00049             us = auriculairebar.GetValue()*((1500/180)*2);
00050             auriculaire.pulsewidth_us(us);
00051             }
00052             
00053          if (annulairebar.Slide()) {
00054             us = annulairebar.GetValue()*((1500/180)*2);
00055             annulaire.pulsewidth_us(us);
00056             }   
00057             
00058         if (majeurbar.Slide()) {
00059             //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
00060             us = majeurbar.GetValue()*((1500/180)*2);
00061             majeur.pulsewidth_us(us);
00062             }
00063             
00064         if (indexbar.Slide()) {
00065             //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
00066             us = indexbar.GetValue()*((1500/180)*2);
00067             index.pulsewidth_us(us);
00068             }  
00069             
00070          if (poucebar.Slide()) {
00071             //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
00072             us = poucebar.GetValue()*((1500/180)*2);
00073             pouce.pulsewidth_us(us);
00074             }
00075             
00076         if (poignetbar.Slide()) {
00077             //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
00078             us = poignetbar.GetValue()*((1500/180)*2);
00079             poignet.pulsewidth_us(us);
00080             }
00081             
00082         if(reset.Touched())
00083         {
00084             pouce.pulsewidth_us(1500);
00085             index.pulsewidth_us(1500);
00086             majeur.pulsewidth_us(1500);
00087             annulaire.pulsewidth_us(1500);
00088             auriculaire.pulsewidth_us(1500);
00089             poignet.pulsewidth_us(1500);
00090         }
00091             
00092             if(poing.Touched())
00093         {
00094             pouce.pulsewidth_us(1900);
00095             index.pulsewidth_us(1900);
00096             majeur.pulsewidth_us(1900);
00097             annulaire.pulsewidth_us(1900);
00098             auriculaire.pulsewidth_us(1900);
00099             poignet.pulsewidth_us(1500);
00100             
00101         }
00102         
00103          if(doigt.Touched())
00104         {
00105             pouce.pulsewidth_us(1900);
00106             index.pulsewidth_us(1900);
00107             majeur.pulsewidth_us(450);
00108             annulaire.pulsewidth_us(1900);
00109             auriculaire.pulsewidth_us(1900);
00110             poignet.pulsewidth_us(1500);
00111             
00112         }
00113         
00114          if(metal.Touched())
00115         {
00116             pouce.pulsewidth_us(1900);
00117             index.pulsewidth_us(450);
00118             majeur.pulsewidth_us(1900);
00119             annulaire.pulsewidth_us(1900);
00120             auriculaire.pulsewidth_us(450);
00121             poignet.pulsewidth_us(1500);
00122             
00123         }
00124            if(pointe.Touched())
00125         {
00126             pouce.pulsewidth_us(1900);
00127             index.pulsewidth_us(450);
00128             majeur.pulsewidth_us(1900);
00129             annulaire.pulsewidth_us(1900);
00130             auriculaire.pulsewidth_us(1900);
00131             poignet.pulsewidth_us(450);
00132             
00133         }
00134         
00135         if(ok.Touched())
00136         {
00137             pouce.pulsewidth_us(1700);
00138             index.pulsewidth_us(1600);
00139             majeur.pulsewidth_us(450);
00140             annulaire.pulsewidth_us(450);
00141             auriculaire.pulsewidth_us(450);
00142             poignet.pulsewidth_us(1500);
00143             
00144         }
00145            
00146             
00147         }  
00148      }
00149 
00150     
00151  
00152