Voilà, je viens demander de l'aide en urgence la veille d'un exam' de bac, qui consistait à réaliser un projet en arduino.
Je possède une arduino uno R3 avec un 4Display Shield 160.
Mais pas moyen de savoir comment cela fonctionne !
Les 5 voies sur bouton sont reliées aux sorties digitales D2,3,4,5,6.
Je ne sais absolument pas quoi faire pour utiliser ce joystick.
Logiquement, si il n'y a pas de connexion dans le switch, entre D4 et la masse, il ne peut pas y avoir de tension, or, il m'en trouve une ! Le digitalRead me donne 1 !
Même si je presse le bouton dans les autres sens.
Je ne sais absolument PAS ce que je dois faire pour utiliser ce joystick, comment le déclarer...
Quelqu'un pourrait-il m'éclairer ? C'est vraiment urgent et ce serait adorable, merci !
n'a aucun sens puisque tu places la broche en sortie et qu'en plus tu appliques un niveau haut sur celle-ci.
Tu ne penses pas que si tu déclarais les broches en entrée cela aurait plus de sens
const int joy=4;
void setup()
{
Serial.begin(9600);
pinMode(joy, INPUT);
digitalWrite(joy, HIGH); // pour activer le pullup
}
void loop()
{
Serial.println(digitalRead(joy)); // si le bouton est appuyé tu lis 0 sinon 1
delay(3000);
}
Après il ne reste plus qu'à faire la même chose pour les 4 autres broches afin de lire toute les directions du joystick.
Je sais qu'à première vue, le code que j'ai fournis semble totalement stupide et irréfléchit.
Bien sûr, j'ai un cerveau, je sais très bien qu'un bouton poussoir n'est qu'un simple contact ouvert ou fermé.
Cela dit, le code que tu as fournis, je l'ai déjà essayé. Et j'ai eu la surprise de voir qu'il... Ne marchait pas.
Alors j'ai commencé à tester tout un tas de trucs... Avant de me rendre compte que c'était simplement des contacts normalement fermés. --"