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

main.cpp

Committer:
Lp
Date:
2019-06-04
Revision:
0:24647f68ab29

File content as of revision 0:24647f68ab29:

#include "mbed.h"
#include "F746_GUI.hpp"
#include "TS_DISCO_F746NG.h"
#include "LCD_DISCO_F746NG.h"

LCD_DISCO_F746NG lcd;
TS_DISCO_F746NG ts;

PwmOut pouce(A5);
PwmOut index(A4);
PwmOut majeur(A3);
PwmOut annulaire(A2);
PwmOut auriculaire(A0);
PwmOut poignet(D3);
float us;

int main() {
   
    SeekBar auriculairebar(30,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
    SeekBar annulairebar(70,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
    SeekBar majeurbar(110,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
    SeekBar indexbar(150,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
    SeekBar poucebar(190,40,150,0,180,90,SeekBar::Vertical,0xFFB0B0FF,30,5);
    SeekBar poignetbar(40,230,150,0,180,90,SeekBar::Holizontal,0xFFB0B0FF,30,5);
    Button reset(270,30,80,40,"Reset",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
    Button poing(380,30,80,40,"Poing",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
    Button doigt(270,100,80,40,"Cencurer",Font12,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
    Button metal(380,100,80,40,"Metal",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
    Button pointe(270,170,80,40,"Pointe",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
    Button ok(380,170,80,40,"OK",Font16,LCD_COLOR_WHITE,LCD_COLOR_BLUE);
    
    pouce.pulsewidth_us(1500);
    index.pulsewidth_us(1500);
    majeur.pulsewidth_us(1500);
    annulaire.pulsewidth_us(1500);
    auriculaire.pulsewidth_us(1500);
    poignet.pulsewidth_us(1500);
    lcd.DrawVLine(250, 0, 300);
   
    
    wait(2);
    
         while(1){
            lcd.DisplayStringAt(5,5, (uint8_t *)"MODE LIBRE",LEFT_MODE);
            lcd.DisplayStringAt(5,5, (uint8_t *)"MODE PREPROGRAMMER",RIGHT_MODE);
             
         if (auriculairebar.Slide()) {
            //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
            us = auriculairebar.GetValue()*((1500/180)*2);
            auriculaire.pulsewidth_us(us);
            }
            
         if (annulairebar.Slide()) {
            us = annulairebar.GetValue()*((1500/180)*2);
            annulaire.pulsewidth_us(us);
            }   
            
        if (majeurbar.Slide()) {
            //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
            us = majeurbar.GetValue()*((1500/180)*2);
            majeur.pulsewidth_us(us);
            }
            
        if (indexbar.Slide()) {
            //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
            us = indexbar.GetValue()*((1500/180)*2);
            index.pulsewidth_us(us);
            }  
            
         if (poucebar.Slide()) {
            //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
            us = poucebar.GetValue()*((1500/180)*2);
            pouce.pulsewidth_us(us);
            }
            
        if (poignetbar.Slide()) {
            //labelServo.Draw("%%%5.1f", auriculairebar .GetValue());
            us = poignetbar.GetValue()*((1500/180)*2);
            poignet.pulsewidth_us(us);
            }
            
        if(reset.Touched())
        {
            pouce.pulsewidth_us(1500);
            index.pulsewidth_us(1500);
            majeur.pulsewidth_us(1500);
            annulaire.pulsewidth_us(1500);
            auriculaire.pulsewidth_us(1500);
            poignet.pulsewidth_us(1500);
        }
            
            if(poing.Touched())
        {
            pouce.pulsewidth_us(1900);
            index.pulsewidth_us(1900);
            majeur.pulsewidth_us(1900);
            annulaire.pulsewidth_us(1900);
            auriculaire.pulsewidth_us(1900);
            poignet.pulsewidth_us(1500);
            
        }
        
         if(doigt.Touched())
        {
            pouce.pulsewidth_us(1900);
            index.pulsewidth_us(1900);
            majeur.pulsewidth_us(450);
            annulaire.pulsewidth_us(1900);
            auriculaire.pulsewidth_us(1900);
            poignet.pulsewidth_us(1500);
            
        }
        
         if(metal.Touched())
        {
            pouce.pulsewidth_us(1900);
            index.pulsewidth_us(450);
            majeur.pulsewidth_us(1900);
            annulaire.pulsewidth_us(1900);
            auriculaire.pulsewidth_us(450);
            poignet.pulsewidth_us(1500);
            
        }
           if(pointe.Touched())
        {
            pouce.pulsewidth_us(1900);
            index.pulsewidth_us(450);
            majeur.pulsewidth_us(1900);
            annulaire.pulsewidth_us(1900);
            auriculaire.pulsewidth_us(1900);
            poignet.pulsewidth_us(450);
            
        }
        
        if(ok.Touched())
        {
            pouce.pulsewidth_us(1700);
            index.pulsewidth_us(1600);
            majeur.pulsewidth_us(450);
            annulaire.pulsewidth_us(450);
            auriculaire.pulsewidth_us(450);
            poignet.pulsewidth_us(1500);
            
        }
           
            
        }  
     }