Coffre à code avec Arduino

De Wikidebrouillard.

La vidéo "Coffre à code avec Arduino"

Sommaire

Présentation de l'expérience

Vous voulez protéger vos biens personnels, le coffre Arduino est fait pour vous !

Marre de votre sœur qui vient voler votre argent de poche ? Marre de votre mère qui cherche à obtenir des informations dans votre journal intime ? Choisissez le Coffre Arduino pour les mettre à l'abri.


Matériel

L'expérience

La réalisation

***Cliquez sur les images pour les agrandir.***

1. Câblez chaque LED avec sa résistance associée sur la plaque Labtec comme sur le schéma (résistance reliée à la masse, le plus long côté de la LED sur le +5V).
2. On relie la masse de l'Arduino à la ligne correspondant à la masse sur la plaque Labtec (de préférence du fil noir pour la masse). Puis on relie le +5V de l'Arduino à la ligne '+5V' sur la plaque Labtec.


3. On câble le potentiomètre :

La patte du milieu sur l'entrée 0 de l'analogique.
La patte de gauche (la tige du potentiomètre vers nous) sur la masse.
La patte de droite sur le +5V.


4. On câble les boutons poussoirs (la partie délicate !)

Résistance de 10kΩ qui part de la patte du bouton poussoir va à la masse et l'autre patte du bouton poussoir au +5V (fils jaunes sur le schéma). À refaire 4 fois.


5. Relier les LED sur les différentes sorties de l'Arduino :

LED 1 sortie 13
LED 2 sortie 12
LED 3 sortie 11
LED 4 sortie 10
LED 5 sortie 9


6. On connecte les boutons poussoirs aux entrées de l'Arduino (fils bleus sur le schéma):

BP 1 entrée 2
BP 2 entrée 3
BP 3 entrée 4
BP 4 entrée 5


7. On câble le buzzer :

Partie rouge sur sortie 8 de l'Arduino.
Partie noire sur la masse.


8. On câble les Servos-moteur :

Fil marron sur la masse.
Fil rouge sur le +5V.
Fil orange sur l'une des deux sorties (6 ou 7)
à refaire une fois pour l'autre servo-moteur.


Le code

Voici le lien vers le téléchargement du code à téléverser dans l'Arduino.

http://www.wikidebrouillard.org/images/a/af/ProgrammeCoffreCode.pde

La manipulation

1. Brancher l'Arduino à l'ordinateur à l'aide du câble USB.
2. 0uvrir le code du Coffre avec le logiciel Arduino.
3. Téléverser le code dans l'Arduino.
4. Régler le potentiomètre dans la bonne position (en fonction des diodes allumées).
5. Rentrer le code sur les boutons poussoirs.
6. Si erreur dans le code, tourner le potentiomètre à fond (position reset) jusqu'à ce que toutes les diodes s'éteignent (rappel : cela remet le code à zéro). Puis retourner au point 4.
7. Si le code est bon, observer l'allumage de la diode blanche et l'ouverture du coffre.
8. Pour refermer le coffre, tourner le potentiomètre à fond (en position reset).


Que voit-on ?

Lorsque l'on saisit le bon code, un certain nombre de LED s'allume et la porte du Coffre s'ouvre.


Des astuces ?

  • Il faut bien penser à mettre toutes les masses entres elles.
  • Ne rien mettre sur les entrées/sorties 0 et 1 de l'Arduino en numérique.
  • Si on met les résistances en séries (l'une après l'autre) alors les valeurs s'additionnent pour obtenir la valeur de la résistance souhaitée.

Explications

De manière simple

L'Arduino permet de détecter si la combinaison rentrée par l'utilisateur (potentiomètre + boutons) correspond à celle de l'Arduino. Si c'est le cas, alors l'Arduino commande le servo-moteur pour ouvrir la porte et la LED blanche d'ouverture. L'Arduino est capable de réaliser cela grâce à un programme.


Questions sans réponses

  • Pourquoi utiliser un potentiomètre alors que des boutons suffisent?
  • Possibilité de changer le code sans rentrer dans le programme?


Allons plus loin dans l'explication

Qu'est-ce qu'un programme? C'est une suite d'instructions et de conditions permettant à l'Arduino de traiter et envoyer des informations par ses entrées/sorties. Le programme contient différentes variables, conditions et fonctions.


Quelques exemples :

int nomDeVariable = 10;

**crée une variable nomDeVariable qui porte la valeur 10**


nomDeVariable1 = nomDeVariable2; 

**remplace la valeur de nomDeVariable1 par celle contenue dans nomDeVariable2**


conditions :

if ( nomDeVariable1 > nomDeVariable2)
    {intruction1;
    intruction2;
    …
    }

**condition vraie si la valeur de nomDeVariable1 est supérieure à la valeur de nomDeVariable2. On effectue alors les instructions entre accolades qui suivent, sinon on continue le programme**


boucles :

while (nomDeVariable1 > nomDeVariable2)
    {instruction1;
    instruction2;
    …
    }

**condition vraie si la valeur de nomDeVariable1 est supérieure à la valeur de nomDeVariable2. On effectue alors les instructions entre accolades qui suivent tant que la condition de la boucle est respectée**


fonctions :

nomDeFonction1( )
    {instruction1;
    instruction2;
    …
    return;
    }

**lorsque la fonction nomDeFonction1 est appelée dans le code, les instructions s’exécutent les unes après les autres dans l'ordre : instruction1, instruction2, etc...**


Liens avec d'autres expériences

Expériences sur Wikidébrouillard

Baladez vous sur la thématique Arduino du Wikidébrouillard!


Applications : liens avec le quotidien

Protection des biens personnels, chasse au trésor ou encore découverte de l'Arduino, ce Coffre à code n'attend que vous.

Catégories

Portail des ExplorateursWikidébrouillardLéon DitFLOGPhoto mystèreJ'ai FaitPortraitsAnnuaire
AR
EX

Coffre à code avec Arduino

Rechercher

Page Discussion Historique
Powered by MediaWiki
Creative Commons - Paternite Partage a l

© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique