bonjour à tous ,
j'ai un afficheur 7 segment et j'aimerai pouvoir entrer des chiffres dans le moniteur série et qu'il les affiche. Pour le moment je n'ai fait que avec " 0 " et les chiffres plus grand que " 9 " (ils sont impossibles sur un seul afficheur). Le problème et que quand j'entre la valeur " 0 " , il affiche l'erreur. pouvez vous m'aider ?
Voici mon code:
int haut=2;
int bas=5;
int point=9;
int milieu=8;
int haut_gauche=7;
int bas_gauche=6;
int haut_droit=3;
int bas_droit=4;
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
}
void loop() {
char carlu=Serial.read();
if (carlu==0 ){
zero();
}
if (carlu>9){
erreur();
}
}
void zero() {
digitalWrite(bas, HIGH);
digitalWrite(haut, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(bas_gauche, HIGH);
digitalWrite(haut_gauche, HIGH);
digitalWrite(haut_droit, HIGH);
digitalWrite(point, HIGH);
}
void un() {
digitalWrite(haut_droit, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(point, HIGH);
}
void deux() {
digitalWrite(haut, HIGH);
digitalWrite(haut_droit, HIGH);
digitalWrite(milieu, HIGH);
digitalWrite(bas_gauche, HIGH);
digitalWrite(bas, HIGH);
digitalWrite(point, HIGH);
}
void trois() {
digitalWrite(haut, HIGH);
digitalWrite(haut_droit, HIGH);
digitalWrite(milieu, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(bas, HIGH);
digitalWrite(point, HIGH);
}
void quatre() {
digitalWrite(haut_gauche, HIGH);
digitalWrite(haut_droit, HIGH);
digitalWrite(milieu, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(point, HIGH);
}
void cinq() {
digitalWrite(haut, HIGH);
digitalWrite(haut_gauche, HIGH);
digitalWrite(milieu, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(bas, HIGH);
digitalWrite(point, HIGH);
}
void six() {
digitalWrite(haut, HIGH);
digitalWrite(haut_gauche, HIGH);
digitalWrite(milieu, HIGH);
digitalWrite(bas_gauche, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(bas, HIGH);
digitalWrite(point, HIGH);
}
void sept() {
digitalWrite(haut, HIGH);
digitalWrite(haut_droit, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(point, HIGH);
}
void huit() {
digitalWrite(haut, HIGH);
digitalWrite(haut_droit, HIGH);
digitalWrite(haut_gauche, HIGH);
digitalWrite(milieu, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(bas_gauche, HIGH);
digitalWrite(bas, HIGH);
digitalWrite(point, HIGH);
}
void neuf() {
digitalWrite(haut, HIGH);
digitalWrite(haut_gauche, HIGH);
digitalWrite(haut_droit, HIGH);
digitalWrite(milieu, HIGH);
digitalWrite(bas_droit, HIGH);
digitalWrite(bas, HIGH);
digitalWrite(point, HIGH);
}
void erreur() {
digitalWrite(haut_droit, HIGH);
digitalWrite(haut_gauche, HIGH);
}
void off() {
digitalWrite(point, HIGH);
delay(1000);
digitalWrite(point, LOW);
delay(1000);
}
merci d'avance ![]()