Cours:ArduinoBoutons : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
m
Ligne 4 : Ligne 4 :
  
 
Si nous nous considérons à la place de la carte arduino, chaque connexion peut être :
 
Si nous nous considérons à la place de la carte arduino, chaque connexion peut être :
*'''une entrée''' (INPUT). Par ex,
+
*'''une entrée/INPUT''' (mesure, observation). Par ex,
 
**capteur de température
 
**capteur de température
 
**interrupteur
 
**interrupteur
 
**mesure de tension
 
**mesure de tension
 
**microphone
 
**microphone
*'''une sortie''' (OUTPUT). Par ex,
+
*'''une sortie/OUTPUT''' (action). Par ex,
 
**résistance chauffante
 
**résistance chauffante
 
**lampe, voyant lumineux
 
**lampe, voyant lumineux
Ligne 16 : Ligne 16 :
 
={{Bleu|Ex 1: Entrée, sortie ???}}=
 
={{Bleu|Ex 1: Entrée, sortie ???}}=
 
=={{Vert|1 bp, 1 led}}==
 
=={{Vert|1 bp, 1 led}}==
 +
 +
Commençons tout simplement par commander une sortie tout ou rien (2 états possibles) à l'aide d'un bouton poussoir.
 +
 +
On prendra [[Cours:Shieldinfo#Leds|la led R repérée p0]], et [[Cours:Shieldinfo#Boutons|le bouton poussoir repéré bp0]].
 +
 +
On se servira des fonctions suivantes :
 +
*[http://arduino.cc/en/Reference/PinMode '''pinMode()'''] permettant de configurer les entrées et sorties(e/s).
 +
*[http://arduino.cc/en/Reference/DigitalWrite '''digitalWrite()'''] permettant de modifier l'état d'une sortie.
 +
*[http://arduino.cc/en/Reference/DigitalRead '''digitalRead()'''] permettant de lire l'état d'une entrée.
 +
 +
{{Question|Compléter le programme suivant pour que la led ne s'allume que si le bouton est appuyé.}}
 +
 +
<source lang=c>
 +
void setup()
 +
{
 +
    .....
 +
}
 +
 +
void loop()
 +
{
 +
    .....
 +
}
 +
</source>
 +
 
=={{Vert|Détection de changement d'état}}==
 
=={{Vert|Détection de changement d'état}}==
 
=={{Vert|2 bps, 1 led}}==
 
=={{Vert|2 bps, 1 led}}==

Version du 24 septembre 2013 à 15:23

Ce Tp va permettre d'introduire quelques éléments indispensables à la programmation d'une carte arduino, et surtout d'apprendre à se servir d'une documentation, en l'occurrence celle disponible sur le site arduino.

Il convient de bien comprendre qu'une carte arduino (et plus exactement toute carte utilisant un microcontrôleur) peut servir à faire de multiples tâches. On utilise nécessairement des extensions (shields) et nous devrons spécifier dans le programme la façon de "communiquer"/gérer cette carte. Physiquement, cette communication s'opère à travers de connexions dont le nombre dépend de la carte utilisée. Nous utiliserons une carte arduino UNO qui possède 3 connecteurs pour l'échange de données, numérotés de 0 à 13 et de A0 à A5, soit un total de 20 connexions.

Si nous nous considérons à la place de la carte arduino, chaque connexion peut être :

  • une entrée/INPUT (mesure, observation). Par ex,
    • capteur de température
    • interrupteur
    • mesure de tension
    • microphone
  • une sortie/OUTPUT (action). Par ex,
    • résistance chauffante
    • lampe, voyant lumineux
    • haut parleur

Ex 1: Entrée, sortie ???

1 bp, 1 led

Commençons tout simplement par commander une sortie tout ou rien (2 états possibles) à l'aide d'un bouton poussoir.

On prendra la led R repérée p0, et le bouton poussoir repéré bp0.

On se servira des fonctions suivantes :

  • pinMode() permettant de configurer les entrées et sorties(e/s).
  • digitalWrite() permettant de modifier l'état d'une sortie.
  • digitalRead() permettant de lire l'état d'une entrée.

Question.jpg Compléter le programme suivant pour que la led ne s'allume que si le bouton est appuyé.

void setup()
{
     .....
}

void loop()
{
     .....
}

Détection de changement d'état

2 bps, 1 led

Ex 2: Système "industriel"

Ex 3: Game over !