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.
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
Generated on Fri Jul 22 2022 22:35:41 by 1.7.2