Probleme avec un projet du livre de Massimo Banzi

J'ai un problème déjà sur le deuxième montage proposé dans le livre à savoir le push button qui allume une led.

J'ai suivi le schéma montré dans le livre, écrit le code suivant (copié/collé de ce que j'ai tapé):

#
const int LED = 11; //Anode en 11
const int BUTTON = 7; //L'entrée où le bouton est connecté

int val = 0;

void setup()
{
  pinMode(LED, OUTPUT); // Défini la led comme sortie
  pinMode(BUTTON, INPUT); // Défini le bouton en entrée d'information
}

void loop()
{
  val = digitalRead(BUTTON); // Permet de connaitre l'état (ON ou OFF) du bouton
  
  if(val == HIGH)
  { 
    digitalWrite(LED, HIGH);
  } else
  {
    digitalWrite(LED, LOW);
  }
}

(Voila j'espère avoir compris et ajouté les bonnes balises pour le code pour le forum)

Mais lorsque je pousse sur le bouton rien ne se passe!

Mais le plus particulier, c'est que dés que j'approche le fil à la base pret du connecteur 7, la led s'allume très fort! Comme un détecteur! :~

Bref je suis perdu, même après avoir refais le cablage, j'arrive toujours au même résultat.

Je vous remercie d'avance pour m'aider dans ce montage tellement basique et désolé pour mon ignorance, je débute vraiment de zéro.

PS: Si besoin, demain je peux prendre une photo du montage.

edite ton message et mets le code entre les balise avec le bouton #

  1. Tu fais ce que Jean-François t'a demandé en éditant ton message.
  2. Désolé mais on n'a pas le livre alors si tu ne ne nous joins pas le schéma cela va être difficile de t'aider.
    ( un scan d'un schéma fait avec un crayon et une règle suffit)
  3. Tu joins aussi une photo de ta réalisation car c'est à tous les coups un mauvais câblage.
    Mauvais câblage ne veux pas systématiquement dire câblage faux mais il y a des choses qui ne se font pas et qu'un débutant doit apprendre.

Forum09.png

Il y a visiblement un problème de câblage. Montage ?

bonjour,
c'est bien de reprendre un bouquin, mais a moins qu'il ne soit réécrit, l'original donne ceci en code

// Example 02: Turn on LED while the button is pressed
#define LED 13
// the pin for the LED
#define BUTTON 7 // the input pin where the
// pushbutton is connected
int val = 0;
// val will be used to store the state
// of the input pin
void setup() {
pinMode(LED, OUTPUT);
// tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}
void loop(){
val = digitalRead(BUTTON); // read input value and store it
// check whether the input is HIGH (button pressed)
if (val == HIGH) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
}

Merci pour vos réponses.

J'ai effectivement la 2eme version du livre, schéma est bien le bon, il n'a pas changé.

Mais le code ressemble à peux de chose prêt à ce que j'ai écris.

Les changement que j'ai fais sont extrêmement faible puisque j'ai connecté ma LED sur un autre connecteur.
Et j'ai mis mes remarques à ma façon.

Mais par acquis de conscience , je vais reprendre le code et le tester. Bien que je suis assez d'accord avec le fais que le problème ce situe dans le montage.

Peut-être par méconnaissance de la plaque d'essais, la façons dont sont relié les éléments.

Je fais une photo du montage dés que possible et le post. :slight_smile:

Màj.: J'ai testé avec l'ancien code du livre, mais le résultat est exactement le même. A savoir, dés que j'approche mon doigt du connecteur 7 (où est connecté un côté de ma résistance) la LED s'allume, mais pas avec le bouton! :fearful:

mauvaise connexion ou bouton mal connecté.
prends un fil simple et connecte le +3.3v à la pin 7 en virant les fils du bouton.
ca devrait allumer la led
insère un serial après la lecture pour voir ce que ca affiche

void setup() {
serial.begin(9600);
.....
}

void loop(){
val = digitalRead(BUTTON);
Serial.println(val);

Effectivement je me doute que c'est avec le push button qu'il y a un problème, mais je ne comprends pas, j'ai scrupuleusement suivi le schéma.

Il y a t'il un sens pour connecter le push button? Parce que je n'arrive à le placé (difficilement) que dans un sens.

J'ai ajouté le code serial, mais comment je récupère son résultat ?

Il y a t'il un sens pour connecter le push button? Parce que je n'arrive à le placé (difficilement) que dans un sens.

Puisque tu as constaté qu'il pouvait y avoir un souci avec le push button bouton poussoir eh bien commence par régler cette affaire !

Donc tu vire l'arduino et les problèmes de code et tu câble le bouton poussoir, une résistance de 300 ohms et une led del

0V-----bouton poussoir----résistance----Del----+5 V

Tu cherche à comprendre comment les connections se font et quand la diode s'allume quand le bouton est appuyé tu peux retourner au montage avec arduino et t’occuper du code.

sabrewolf:
Il y a t'il un sens pour connecter le push button? Parce que je n'arrive à le placé (difficilement) que dans un sens.

Si c'est un modèle comme sur l'illustration, oui il y a un sens

Désolé pour l'anglissisme, mais le livre est en Anglais d'où le reflex d'utiliser les termes Anglais.

Voilà en 2 photos le montage

www.uprice.eu/images/pub/1.jpg
www.uprice.eu/images/pub/2.jpg

Oula ! C'est peut-être seulement une impression liée à la parallaxe, mais sur la deuxième image on dirait vraiment que la cathode de la LED est branchée sur la broche AREF au lieu de GND...

Note également qu'une LED branchée comme ça directement sans résistance de limitation de courant ne doit pas rester allumée longtemps, au risque de cramer la broche associée (au minimum).

Grillé
Je me faisais la même remarque.

Le bouton poussoir a quatre pattes reliées en fixe deux par deux.
Donc soit tu as un contact permanent si tu ne l'as pas monté normalement, soit tu as un contact à l'appui.

Mais Cré nom de dieu lève le doute avec juste le poussoir, une résistance et une diode !
Tu utilises l'alim de la carte Mega : GND et 5V.

A moins que tu n'ai pas de résistance......dans ce cas il va falloir faire quelques achats, profites-en pour acheter un multimètre (moins de 10€ en magasin de bricolage) tu pourra facilement lever les doutes sur le brochage d'un bouton poussoir.

PS : multimètre plus résistance te coûterons beaucoup moins cher que le livre de Banzi

Bonjour et merci pour votre aide,

68tjs, j'ai essayé de faire sans passer par la carte Arduino, mais la Led, euh pardon... la Del :wink: (je ne connaissais pas en Français) ne s'allume pas.

La Del n'est pas défectueuse, j'ai déjà changé le bouton et le branchement est bien mis sur GND.
J'ai des résistances, bien que j'ai du mal à savoir laquelle est 10 ohms.

Je vais aller chercher un multimètre, j'espère savoir utiliser cet outil. Le seul que j'avais acheté il y a longtemps pour tester des lignes 220v, je l'ai cramé :-/ Du coup, je n'en ai plus jamais acheté.

Encore plus simple à tester, au moins pas de question sur la résistance : http://arduino.cc/en/Tutorial/InputPullupSerial

Rajoute un delay(100) dans la boucle

Une Del cela a un sens car c'est avant tout une diode.

Donc si avec une résistance d'environ 300 ohms elle ne s'allume pas retourne la dès fois qu'elle soit à l'envers.

Pourquoi 300 ohms :

  • Une Diode ElectroLuminescente (DEL) éclaire "correctement" si elle est parcourue par un courant entre 10 mA et 20 mA.
  • la tension aux bornes d'une Del rouge ou jaune correctement montée est comprise entre 1,7 V et 2,4 V. Pour les vertes, bleues et blanches la tension peut aller jusqu'à 3,5V.

Donc d'après la très connue loi d'Ohm U= R*I
R= (5V - Vdiode) / 0,01 = (5-2)/0,01 = 300 ohms

Je ne sais pas pourquoi tu parles de résistance de 10 ohms mais si c'est pour mettre en série avec la diode tu oublie.
Le courant serait I= (5 -2)/10 = 300 mA.
Il se pourrait bien qu'elle ai "des vapeurs".

Nb : cherche sur internet le code des couleurs pour connaître la valeur en ohms des résistances.

OK B@tto, je testerai le montage en rentrant :slight_smile: Merci.

La Del s'allume, mais pas en poussant sur le bouton! Juste quand j'approche mon doigt du câble au départ de la connexion 7!

Donc je suppose l'avoir mis à l’endroit, ensuite j'ai déjà fait l'exercice précédent où il fallait faire clignoter la del.

C'est dans le livre qui parle de mettre une résistance de 10 ohms. Pour le moment je me contente de suivre le plus scrupuleusement le livre.
J'avais trouvé les codes couleurs, mais je trouve pas ça très clair. Même avec ma loupe éclairé, je suis pas certain de confondre un doré avec un argenté, un brun avec du rouge... Voila mais ceci dit je pense avoir mis la bonne résistance, à voir sur la photo.

Oui c'est pas surprenant s'il le pin est flottant (donc problème de câblage). Et 10 ohms c'est bien trop faible, que ça soit pour alimenter la LED ou bien pour faire du pull-up ou du pull-down

Le livre ne parle pas d'une résistance de 10 Ohm mais de 10K Ohm... l'important étant bien sûr ici le "K" qui signifie kilo, et donc d'une résistance de 10000 Ohm, ce qui est déjà beaucoup plus raisonnable pour du pulldown.

Deuxièmement, désolé d'insister mais sur la photo de ton montage la cathode de la LED est vraiment branchée sur la broche AREF au lieu de GND... à moins que tu ne l'ai modifié entre-temps, ça ne pourra pas fonctionner comme ça.

Effectivement sur la photo c'était en AREF (quelqu'un peux me dire ce que c'est?)
J'avais refais le montage pour la photo :-/

Après de légère modification sur le montage et divers test, j'ai pu me rendre compte qu'un de fils (neuf) était défectueux ...

Par conséquent mon montage était bon et.... Oui ça fonctionne. XD

Un grand merci pour votre aide, qui m'a mené à chercher et mieux comprendre ce que je venais de monter.