Outils pour utilisateurs

Outils du site


start:arduino:emg:grove

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:arduino:emg:grove [2023/02/10 16:09] – [Plier le Bras] gerardadminstart:arduino:emg:grove [2023/02/13 08:58] (Version actuelle) – [Commande Servo-Moteur avec un EMG] gerardadmin
Ligne 2: Ligne 2:
  
 ===== EMG Grove Gotronic===== ===== EMG Grove Gotronic=====
 +
 +{{ :start:arduino:emg:capture_d_ecran_du_2023-02-10_16-14-14.png?direct&600 |}}
  
 [[https://www.gotronic.fr/art-detecteur-emg-grove-101020058-21514.htm|EMG Grove Gotronic]] [[https://www.gotronic.fr/art-detecteur-emg-grove-101020058-21514.htm|EMG Grove Gotronic]]
Ligne 173: Ligne 175:
  
 Lorsque vous vous déplacez, vous pouvez constater que le niveau de Led Bar va changer. Lorsque vous vous déplacez, vous pouvez constater que le niveau de Led Bar va changer.
 +
 +
 +===== Code simplifié pour test valeurs de sortie =====
 +
 +<code c test_Emg_simplifie_001.ino>
 +void setup() {
 +Serial.begin(9600);
 +}
 +
 +void loop() {
 +Serial.println(analogRead(A0));
 +}
 +</code>
 +
 +
 +
 +Nous voulons observer les changements dans le signal de sortie analogique du module lorsque le muscle du bras se dilate et se contracte. Pour ce faire, ouvrez le traceur série et voyez le signal de sortie.
 +
 +L'image ci-dessous montre les valeurs de sortie sous forme graphique .
 +
 +{{ :start:arduino:emg:emg-result.jpg?direct&600 |}}
 +
  
 ===== Plier le Bras ===== ===== Plier le Bras =====
  
-{{ :start:arduino:emg:capture_d_ecran_du_2023-02-10_16-08-17.png?direct&300 |}}+{{ :start:arduino:emg:capture_d_ecran_du_2023-02-10_16-08-17.png?direct&200 |}} 
 + 
 + 
 +===== Schema Capteur Grove-EMG v1.0 ===== 
 + 
 +{{ :start:arduino:emg:capture_d_ecran_du_2023-02-10_16-12-01.png?direct&600 |}} 
 + 
 +===== Utilisation du capteur EMG avec un servo moteur ===== 
 + 
 +=== Raccordement Arduino et servo === 
 + 
 +{{ :start:arduino:emg:capture_d_ecran_du_2023-02-13_08-37-59.png?direct&600 |}} 
 + 
 +=== Code arduino Servo-moteur === 
 + 
 +<code c arduino-servo.ino> 
 +/* Servo motor with Arduino example code. Position and sweep. More info: https://www.makerguides.com/ */ 
 +// Include the servo library: 
 +#include <Servo.h> 
 +// Create a new servo object: 
 +Servo myservo; 
 +// Define the servo pin: 
 +#define servoPin 9 
 +// Create a variable to store the servo position: 
 +int angle = 0; 
 +void setup() { 
 + // Attach the Servo variable to a pin: 
 + myservo.attach(servoPin); 
 +
 +void loop() { 
 + // Tell the servo to go to a particular angle: 
 + myservo.write(90); 
 +delay(1000); 
 + myservo.write(180); 
 +delay(1000); 
 + myservo.write(0); 
 +delay(1000); 
 + // Sweep from 0 to 180 degrees: 
 +for (angle = 0; angle <= 180; angle += 1) { 
 + myservo.write(angle); 
 +delay(15); 
 +
 + // And back from 180 to 0 degrees: 
 +for (angle = 180; angle >= 0; angle -= 1) { 
 + myservo.write(angle); 
 +delay(30); 
 +
 +delay(1000); 
 +
 +</code> 
 + 
 +==== Commande Servo-Moteur avec un EMG ==== 
 + 
 + 
 +<code c Cmdservo-emg001.ino> 
 +#include "Servo.h" 
 + 
 +int PinEmg = A0; 
 +int PinServo = 9; 
 + 
 +Servo servo; // création de l'objet "servo" 
 + 
 +void setup() { 
 +   servo.attach(PinServo); // attache le servo au pin spécifié 
 +   pinMode(PinEmg, INPUT); 
 +   Serial.begin(9600); // ouvre le port série 
 +
 + 
 +void loop() { 
 +   int val = analogRead(PinEmg); // lit la valeur actuelle du capteur EMG 
 +   // mise à l'échelle pour renvoyer la position entre 0 et 180° 
 +   val = map(val, 0, 1023, 0, 180); 
 +   
 +   Serial.println(val); 
 +   Serial.println(); 
 +    
 +   servo.write(val); 
 +   delay(100); // attend 100 ms 
 +
 +</code>
 ===== EMG Grove Robotshop===== ===== EMG Grove Robotshop=====
  
/home/chanteri/www/fablab37110/data/attic/start/arduino/emg/grove.1676041748.txt.gz · Dernière modification : de gerardadmin