Thank you for your help,
I block on my program and I turn in circle for the solution.
The part piloted by the PC functions well. The part piloted by the buttons sends me a message of mistake: expected unqualified id before 'yew'
Here is my program:
//
//Controle la vitesse et du sens de rotation du moteur Accufocus Orion brancgé en M1
//sur le sheild Adafruit
//Lecture du port com
//quand a il augmente la vitesse de 1
//quand d il diminue la vitesse de 1
//o avance dans le sens anti horaire le focus rentre
//i avance dans le sens horaire le focus sort
//Utilisation par PC via le port USB et en manuel par boutons
//Cela conserve la raquette Orion dans son état normale.
//
#include <Button.h>
Button buttonin = Button(14, BUTTON_PULLUP);
Button buttonout = Button(15, BUTTON_PULLUP);
Button buttond = Button(16, BUTTON_PULLUP);
Button buttona = Button(17, BUTTON_PULLUP);
#include <AFMotor.h>
AF_DCMotor motor1(1, MOTOR12_64KHZ);
char val;
int vitesse = 125;
int i = 0;
int x = 0;
void setup()
{
Serial.begin(9600);
motor1.setSpeed(vitesse);
}
void loop()
{
if(Serial.available())
{
if(Serial.available()>2)
{
x = Serial.available();
char vitread[x-2];
//Serial.println(x);
for (i = 0; i <= x-2; i++)
{
vitread[i] = Serial.read();
}
vitesse = atoi(vitread);
Serial.println(vitesse);
motor1.setSpeed(vitesse);
Serial.flush();
}
else
{
val = Serial.read();
//Serial.print(val);
}
}
switch (val){
case 'a':
if (vitesse < 255)
{
vitesse++;
Serial.println(vitesse);
motor1.setSpeed(vitesse);
}
break;
case 'd':
if (vitesse > 0)
{
vitesse--;
Serial.println(vitesse);
motor1.setSpeed(vitesse);
}
break;
case 'o':
motor1.run(FORWARD);
break;
case 'i':
motor1.run(BACKWARD);
break;
default:
motor1.run(RELEASE);
}
delay(100);
}
//erreure ici
if (buttonin.isPressed()){
motor1.run(BACKWARD);
break;
if (buttonout.isPressed()){
motor1.run(FORWARD);
break;
}
if (buttond.isPressed()){
if (vitesse > 0)
{
vitesse--;
Serial.println(vitesse);
motor1.setSpeed(vitesse);
}
break;
if (buttona.isPressed()){
if (vitesse < 255)
{
vitesse++;
Serial.println(vitesse);
motor1.setSpeed(vitesse);
}
break;
}
Moderator edit:
</mark> <mark>[code]</mark> <mark>
</mark> <mark>[/code]</mark> <mark>
tags added.