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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| const int nivAssist=4; //Associe la variable au pin 4
const int pedalage=5; //Associe la variable au pin 5
const int frein=6; //Associe la variable au pin 6
const int potpin=7; //Associe la variable au pin 7
int val;
const int vitesseMoteurA=12;
const int sensMoteurA=3;
const int avant=1;
int vitesse=255;
boolean lect_vMax;
boolean lect_nivAssist;
boolean lect_pedalage;
boolean lect_frein;
boolean assistance;
void setup()
{
//Définie les variables en entrée
pinMode(potpin, INPUT);
pinMode(nivAssist, INPUT);
pinMode(pedalage, INPUT);
pinMode(frein, INPUT);
//Définie les variables en sortie
pinMode(sensMoteurA, OUTPUT);
pinMode(vitesseMoteurA, OUTPUT);
Serial.begin(9600);
}
void loop()
{
lect_nivAssist = digitalRead(nivAssist);
lect_pedalage = digitalRead(pedalage);
lect_frein = digitalRead(frein);
val = analogRead(A0); //Associe la variable val à des valeurs analogiques de 0 à 1023
val = map(val, 0, 1023, 0, 40); //Définie proportionnellement les valeurs 0 à 40 sur l'entrée analogique A0
delay(15);
assistance=nivAssist&pedalage&!frein;
//Affiche sur le moniteur série l'état de chaque variable
Serial.print("Vitesse=");
Serial.println(val);
Serial.print("Niveau d'assistance=");
Serial.println(nivAssist);
Serial.print("Pedalage=");
Serial.println(pedalage);
Serial.print("Frein=");
Serial.println(frein);
Serial.print("Assistance=");
Serial.println(assistance);
Serial.println(" ");
delay(1000);
if(assistance==1&val<=25)
{
digitalWrite(vitesseMoteurA, vitesse);
digitalWrite(sensMoteurA, avant);
}
else
{
digitalWrite(sensMoteurA, LOW);
}
} |
Partager