Ceci est une ancienne révision du document !


Telerobot

(projet démarré le 18 mai 2021)

Humanisons la visioconférence grâce à un avatar élégant.

Avec un photon, des servomoteurs, des leds, du wifi. Juste quelques bases pour le moment…

Interface web : http://lesporteslogiques.net/telerobot/

nb : 2 servomoteurs c'est trop de courant pour la broche ViN, solution élégante : en enlever un, ou ajouter une alim externe

Code photon

#define broche_bouton1    D4
#define broche_bouton2    D5
//servo1 sur              D0
//servo2 sur              D1

Servo servo1;
Servo servo2;

int position = 0;


void setup() {
    
    servo1.attach(D0);   
    servo1.write(90);    // test 
    servo2.attach(D1);   
    servo2.write(90);    // test 
    
    pinMode(D7, OUTPUT);  
    pinMode(broche_bouton1, INPUT);
    pinMode(broche_bouton2, INPUT);
    
   Particle.function("alarme", declencherAlarme);  
}

int declencherAlarme(String commande) {       
    
    if (commande == "m1gauche") {     
        
        servo1.write(0);       
        digitalWrite(D7, HIGH); 
        delay(1000);             
        servo1.write(90);      
        digitalWrite(D7, LOW);  

    } else if (commande == "m1droite") {     
        
        servo1.write(180);       
        digitalWrite(D7, HIGH); 
        delay(1000);             
        servo1.write(90);      
        digitalWrite(D7, LOW);  

    } else if (commande == "m2gauche") {     
        
        servo2.write(0);       
        digitalWrite(D7, HIGH); 
        delay(1000);             
        servo2.write(25);      
        digitalWrite(D7, LOW);  

    } else if (commande == "m2droite") {     
        
        servo2.write(180);       
        digitalWrite(D7, HIGH); 
        delay(1000);             
        servo2.write(90);      
        digitalWrite(D7, LOW);  

    } 
}

void loop() {
    if (digitalRead(broche_bouton1) == HIGH) {
        servo1.write(25);       
        digitalWrite(D7, HIGH); 
        delay(100);             
        servo1.write(90);      
        digitalWrite(D7, LOW); 
        delay(500);
    }
    if (digitalRead(broche_bouton2) == HIGH) {
        servo2.write(25);       
        digitalWrite(D7, HIGH); 
        delay(100);             
        servo2.write(90);      
        digitalWrite(D7, LOW);  
        delay(1000);
    } 
}

Peut-être remplacer par ce servo : https://www.dfrobot.com/product-1970.html
photon datasheet : https://docs.particle.io/datasheets/wi-fi/photon-datasheet/

  • openatelier/projet/telerobot.1621355823.txt.gz
  • Dernière modification: 2021/05/18 18:37
  • par emoc