Bonjour,
je viens quémander votre aide pour un projet de science de l'ingénieur.
Voici le projet, nous devons réaliser une prothèse destinée a remplacer une main qui peut agripper et soulever un gobelet en plastique. Pour cela nous devons faire fonctionner un servomoteur avec un joystick et renvoyer la force exercée sur le gobelet à un écran LCD. J'ai écris le code du LCD et une partie du servomoteur (il faudrait que quelqu'un m'aide a y ajouter le joystick), il me faudrait des connaisseurs pour vérifier ces codes et m'aider à les assembler. Et s'y possible m'expliquer mes erreurs.
Merci a tous ceux qui m'aideront.
PS: Les codes se trouvent aussi en pièce jointe.
CODE projet si.pdf
CODE LCD et du CAPTEUR
CODE SERVOMOTEUR
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include "rgb_lcd.h" #include <Wire.h> int capteur = A1; rgb_lcd lcd; void setup() { Serial.begin(96000); lcd.begin(16,2); lcd.print("FORCE:"); delay(1000); } void loop() { int sensorValue=analogRead(capteur); int force_mise=map(sensorValue,0,1023,0,2000); Serial.print("la force ="); Serial.print('force_mise'); Serial.println("g"); lcd.setCursor(0,1); lcd.print('force_mise'); delay(100); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 //initialisation de la pin 2 int Capteur= 2; /* Inclut la lib Servo pour manipuler le servomoteur */ #include "Servo.h" /* Créer un objet Servo pour contrôler le servomoteur */ Servo; void setup() { // Attache le servomoteur à la broche D9 Servo.attach(D8); } void loop() { // Fait bouger le bras de 0° à 180° for (int position = 0; position <= 180; position++) { Servo.write(position); delay(15); } // Fait bouger le bras de 180° à 10° for (int position = 180; position >= 0; position--) { Servo.write(position); delay(15); } }
CODE JOYSTICK
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 int VRx = A0; int VRy = A1; int SW = 2; int xPosition = 0; int yPosition = 0; int SW_state = 0; int mapX = 0; int mapY = 0; void setup() { Serial.begin(9600); pinMode(VRx, INPUT); pinMode(VRy, INPUT); pinMode(SW, INPUT_PULLUP); } void loop() { xPosition = analogRead(VRx); yPosition = analogRead(VRy); SW_state = digitalRead(SW); mapX = map(xPosition, 0, 1023, -512, 512); mapY = map(yPosition, 0, 1023, -512, 512); Serial.print("X: "); Serial.print(mapX); Serial.print(" | Y: "); Serial.print(mapY); Serial.print(" | Button: "); Serial.println(SW_state); delay(100); }
Partager