Bonjour et bonne année a tous !!
j'ai commence a programme le monnayeur et l’écran LCD sur mon arduino, jusqu'ici mon ecran m'indiqué la valeur mise dans mon monnayeur soit 1 pulsation 0.05 cts ...
A 0.20 cts donc 3 pulsations je veux que mon servomoteur ce met en route ,en mettant la ligne de code myservo.attach(10); dans void setup mon arduino l’écran LCD ne lire plus la valeur des pièces et le servo ne démarre pas ....
vue que je debute je sais pas si ma basse de code et bonne, si avec le codage de mon servo en pulse 3 permet d'actionné dés que l'on met la pièce ....
monnayeur : multi coin acceptor
carte elegoo uno r3
lcd 1602
mini servo blanko HYX 50009
merci de votre aide
// include the library code:
#include <Servo.h>
Servo myservo;
int pos = 0; // variable to store the servo position
int memo_pulse = 0;
#include <LiquidCrystal.h>
LiquidCrystal lcd(9, 8, 7, 6, 5, 4);
volatile int pulse = 0;
void coin_value() {
pulse = pulse + 1;
}
void setup() {
lcd.begin(16, 2);
lcd.print("Planete Nature ");
Serial.begin(9600);
myservo.attach(10); // la ligne qui me pose souci
pinMode(2, INPUT);
attachInterrupt(0, coin_value, FALLING);
}
void loop() {
if (pulse > 0)
{
delay (1000); // let the other pulses arrive
if (pulse == 6) {
lcd.setCursor(0, 1);
lcd.print("2 euros merci");
}
if (pulse == 5) {
lcd.setCursor(0, 1);
lcd.print("1 euros merci");
}
if (pulse == 4) {
lcd.setCursor(0, 1);
lcd.print("0.50 cts merci");
}
if (pulse == 3) {
lcd.setCursor(0, 1);
lcd.print("0.20 Cts Merci");
myservo.write (180);
delay(2000);
}else{
myservo.write (0);
}
if (pulse == 2) {
lcd.setCursor(0, 1);
lcd.print("0.10 Cts Merci");
}
if (pulse == 1) {
lcd.setCursor(0, 1);
lcd.print("0.5 Cts Merci");
}
pulse = 0; // clear for next time
}
}