Bonsoir,
je souhaite réaliser un découpe-gâteau automatique et pour cela la programmation est indispensable. N'étant pas un expert dans ce domaine, j'ai tout de même réaliser un programme commandant le plateau (mis en rotation par un MCC) et l'écran LCD (servant à sélectionner le nombre de parts). C'est pourquoi je vous demande de jeter un œil à mon programme et de me corriger d'essentielles fautes :
Code:#include <Wire.h> #include <Adafruit_RGBLCDShield.h> #include <utility/Adafruit_MCP23017.h> Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield(); #define RED 0x1 #define YELLOW 0x3 #define GREEN 0x2 #define TEAL 0x6 #define BLUE 0x4 #define VIOLET 0x5 #define WHITE 0x7 #define maSortie int pin1Moteur = 5; int pin2moteur = 6; void setup() { Serial.begin(9600); lcd.begin(16, 2); int time = millis(); lcd.print("Nbre parts : "); pinMode(pin1Moteur,OUTPUT); pinMode(pin2Moteur,OUTPUT); Serial.begin(9600); } void loop() { lcd.setCursor(0, 1); uint8_t buttons = lcd.readButtons(); if (buttons) { lcd.clear(); lcd.setCursor(0,0); if (buttons & BUTTON_LEFT) { nbrPart= nbrPart +1; if (nbrPart > 10) { nbrPart= 2; } delay(200); Serial.print("nbrPart = "); Serial.println(nbrPart); lcd.print("Nbre parts = "); lcd.print(nbrPart); } if (buttons & BUTTON_SELECT) { lcd.print("Nbre parts validé"); } } if (nbrPart=2) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(303); digitalWrite(5, LOW); digitalWrite(6, LOW); } if (nbrPart=3) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(202); digitalWrite(5, LOW) digitalWrite(6, LOW); } if (nbrPart=4) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(151); digitalWrite(5, LOW); digitalWrite(6, LOW); } if (nbrPart=5) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(121); digitalWrite(5, LOW); digitalWrite(6, LOW); } if (nbrPart=6) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(101); digitalWrite(5, LOW); digitalWrite(6, LOW); } if (nbrPart=7) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(86.5); digitalWrite(5, LOW); digitalWrite(6, LOW); } if (nbrPart=8) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(75); digitalWrite(5, LOW); digitalWrite(6, LOW); } if (nbrPart=9) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(67); digitalWrite(5, LOW); digitalWrite(6, LOW); } if (nbrPart=10) { digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(60); digitalWrite(5, LOW); digitalWrite(6, LOW); } }
-----