Fauteuil roulant à commande gestuelle pour personnes handicapées
Composants et fournitures
 | | × | 2 | |
| | × | 2 | |
 | Drivers de moteur SparkFun Dual H-Bridge L298 | | × | 1 | |
 | Câbles de raccordement (générique) | | × | 1 | |
 | | × | 2 | |
Applications et services en ligne
À propos de ce projet
https://drive.google.com/open?id=1RNI2ehaknWPN0lPpKm8wv95DUVcTr8H6
•Le pourcentage de personnes handicapées a augmenté dans les zones rurales et urbaines de l'Inde. L'invalidité peut être due à la naissance ou à une raison médicale ou accidentelle.
• Le but de ce projet est de créer un fauteuil roulant contrôlé par le geste de la main et utilisant l'accéléromètre comme capteur pour aider les personnes handicapées à se déplacer d'un endroit à un autre en donnant simplement la direction de la main
•Aujourd'hui en Inde beaucoup de gens souffrent de handicap, il y a des gens dont la moitié inférieure du corps est paralysée. Ce fauteuil roulant ajoutera au confort et rendra la vie des gens un peu plus facile
Code
- Code émetteur
- Code du destinataire
Code émetteurArduino
#include //Bibliothèque SPI pour communiquer avec le nRF24L01+#include "RF24.h" //La bibliothèque principale du nRF24L01+#include "Wire.h" //Pour communiquer#include "I2Cdev. h" //Pour communiquer avec le MPU6050#include "MPU6050.h" //La bibliothèque principale du MPU6050MPU6050 mpu;int16_t ax, ay, az;int16_t gx, gy, gz;int data[2];RF24 radio(9, dix); const uint64_t pipe =0xE8E8F0F0E1LL;void setup(void){ Serial.begin(9600); Fil.begin(); mpu.initialize(); //Initialiser l'objet MPU radio.begin(); //Démarrer la communication nRF24 radio.openWritingPipe(pipe); //Définit l'adresse du récepteur auquel le programme enverra les données.}void loop(void){ mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); data[0] =map(ax, -17000, 17000, 300, 400 ); //Envoyer les données de l'axe X[1] =map(ay, -17000, 17000, 100, 200); //Envoyer les données de l'axe Y radio.write(data, sizeof(data));}
Code du récepteurArduino
#include #include #include #include #include //Bibliothèque SPI pour communiquer avec le nRF24L01+#include " RF24.h" //La bibliothèque principale du nRF24L01+const int enbA =3;const int enbB =5;const int IN1 =2; //Moteur droit (-)const int IN2 =4; //Moteur droit (+)const int IN3 =7; //Moteur Gauche (+)const int IN4 =6; //Right Motor (-)int RightSpd =130;int LeftSpd =130;int data[2];RF24 radio(9,10);const uint64_t pipe =0xE8E8F0F0E1LL;void setup(){ //Définir les broches du moteur comme OUTPUT pinMode(enbA, SORTIE); pinMode(enbB, SORTIE); pinMode(IN1, SORTIE); pinMode (IN2, SORTIE); pinMode (IN3, SORTIE); pinMode (IN4, SORTIE); Serial.begin(9600); radio.begin(); radio.openReadingPipe(1, pipe); radio.startListening(); }boucle vide(){ if (radio.available()){ radio.read(data, sizeof(data)); if(data[0]> 380){ //forward analogWrite(enbA, RightSpd); analogWrite(enbB, LeftSpd); digitalWrite(IN1, HAUT); digitalWrite(IN2, LOW); digitalWrite(IN3, HAUT); digitalWrite(IN4, LOW); } if(data[0] <310){ //backward analogWrite(enbA, RightSpd); analogWrite(enbB, LeftSpd); digitalWrite(IN1, LOW); digitalWrite(IN2, HAUT); digitalWrite(IN3, LOW); digitalWrite(IN4, HAUT); } if(data[1]> 180){ //left analogWrite(enbA, RightSpd); analogWrite(enbB, LeftSpd); digitalWrite(IN1, HAUT); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HAUT); } if(data[1] <110){ //right analogWrite(enbA, RightSpd); analogWrite(enbB, LeftSpd); digitalWrite(IN1, LOW); digitalWrite(IN2, HAUT); digitalWrite(IN3, HAUT); digitalWrite(IN4, LOW); } if(data[0]> 330 &&data[0] <360 &&data[1]> 130 &&data[1] <160){ //stop car analogWrite(enbA, 0); analogWrite(enbB, 0); } }}