Bonjour à tous !
Comme cela est dit dans le titre ( allumer une led pour ceux qui sont nul en anglais ), j'aimerais
allumer une led, cela marche très bien quand je ne me sert pas de ma breadboard mais quand je m'en sert plus rien de fonctionne (la led reste éteinte et c'est le bouton de la carte qui clignote.) pourtant je suis sur que cela devrait marcher.
Voila mon schéma:
Le fil rouge est relié au pin 13.
La résistance fait 243 Ohm.
Le fil noir est relié au gnd.
Les connexions internes à la breadboard sont uniquement sur les lignes verticales.
Ce qui veut dire que ton fil rouge et la patte gauche de ta résistance doivent être sur la même verticale pour qu'il y ait contact. Pareil pour la patte droite de la résistance et la LED, ainsi que pour la LED et le fil noir.
Merci
J'ai ensuite essayer de faire un chenillard a 2 leds.
Mais je me suis servi de ce code :
int timer = 100; // The higher the number, the slower the timing.
void setup() {
// use a for loop to initialize each pin as an output:
for (int thisPin = 2; thisPin < 8; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}
void loop() {
// loop from the lowest pin to the highest:
for (int thisPin = 2; thisPin < 8; thisPin++) {
// turn the pin on:
digitalWrite(thisPin, HIGH);
delay(timer);
// turn the pin off:
digitalWrite(thisPin, LOW);
}
// loop from the highest pin to the lowest:
for (int thisPin = 7; thisPin >= 2; thisPin--) {
// turn the pin on:
digitalWrite(thisPin, HIGH);
delay(timer);
// turn the pin off:
digitalWrite(thisPin, LOW);
}
}
Sachant que mes pins sont le 0 et 1, je l'ai arranger comme cela:
int timer = 170; // The higher the number, the slower the timing.
void setup() {
// use a for loop to initialize each pin as an output:
for (int thisPin = 0; thisPin < 2; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}
void loop() {
// loop from the lowest pin to the highest:
for (int thisPin = 0; thisPin < 2; thisPin++) {
// turn the pin on:
digitalWrite(thisPin, HIGH);
delay(timer);
// turn the pin off:
digitalWrite(thisPin, LOW);
}
// loop from the highest pin to the lowest:
for (int thisPin = 1; thisPin >= 2; thisPin--) {
// turn the pin on:
digitalWrite(thisPin, HIGH);
delay(timer);
// turn the pin off:
digitalWrite(thisPin, LOW);
}
}
Mais les LED s’allument a basse tension mais rien ne se passe ...
Merci !
Tout d'abord comme expiqué dans le tuto on essai d'éviter d'utiliser les broches 0 et 1 (qui sont à se réserver en premier lieu pour la voie série, et naturellement "squatté" par le bootloader donc peut poser des problèmes bizarres des fois)
Ensuite, la deuxième boucle est fausse, tu n'y fait même pas un tour, donc on retourne tout de suite à la première boucle...
A ce propos as tu compris pourquoi l'auteur original fait des boucles entre 2 et 8 pour le premier for et 7 et 2 pour le second ?
Voila ou j'en suis, donc j'ai trois LED brancher sur le pin 10, 11, 12.
Donc j'ai changer pour éviter les bugs
Pour la première boucle for, tout simplement au lieu de marquer pin 10, 11 et 12.
La boucle permet de récupérer les 3 à la fois.
Pour les 2 autres boucles, on récupère la première valeur du pin. (10)
et on lui dit que tant que c'est inférieur à 13 alors on incrémente.
Mais je n'ai toujours pas compris pourquoi la boucle deux est fausse.
A mon avi, je n'ai pas bien cerné ce code, pourrait tu m'en dire plus ?
Voila Merci!
Effectivement, le code "digitalWrite" dans les boucles utilisent directement l'index du for pour adresser les broches. C'est pratique pour économiser quelques grammes de mémoire mais moins bien pour faire du code propre.
Tu as trois LED, branchés sur 10, 11 et 12. Il faut donc parcourir pour "thisPin" commençant à 10 et tant que elle est inférieur ou égal à 12 pour le premier for (en incrémentant à chaque tour).
Pour faire le "retour" du chenillard, on fait un autre fort qui devrait commencer à 12 et agir tant que thisPin est supérieur ou égal à 10 (et on décrémente à chaque tour).
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !