[TUTO] Un BP en inverseur

Nécessaire:

-une plaque d'essai pour montage sans soudures,
-des straps,
-une LED rouge 5mm,
-une résistance 1/4w de 200 Ohms environ,
-un bouton poussoir pour CI,

Le Schéma:


Le Code:

_________________________________________________________________________


// /////////////////////////////// 1. Entête déclarative /////////////////////// 
// A ce niveau sont déclarées les librairies incluses, les constantes, les variables, les objets utiles...

// --- Déclaration des constantes ---

// --- Inclusion des librairies ---

// --- Déclaration des constantes utiles ---
const int APPUI=LOW; // constante pour tester état BP

// --- Déclaration des constantes des broches E/S numériques ---

const int BP=2; // Constante pour la broche 2
const int LED=3; // Constante pour la broche 3

// --- Déclaration des constantes des broches analogiques ---


// --- Déclaration des variables globales ---
int etatLED=0; // variable d'état de la LED


// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---


// ////////////////////////// 2. FONCTION SETUP = Code d'initialisation ////////////////////////// 
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// --- ici instructions à exécuter 1 seule fois au démarrage du programme --- 

// ------- Initialisation fonctionnalités utilisées -------  


// ------- Broches en sorties numériques -------  
 pinMode (LED,OUTPUT); // Broche LED configurée en sortie

// ------- Broches en entrées numériques -------  
 pinMode (BP,INPUT); // Broche BP configurée en entrée

// ------- Activation si besoin du rappel au + (pullup) des broches en entrées numériques -------  
 digitalWrite (BP,HIGH); // Rappel au + activé sur la broche BP configurée en entrée

// ------- Initialisation des variables utilisées -------  


} // fin de la fonction setup()
// ********************************************************************************

////////////////////////////////// 3. FONCTION LOOP = Boucle sans fin = coeur du programme //////////////////
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()

if (digitalRead(BP)==APPUI) { // si appui sur le BP

  if (etatLED==0) etatLED=1; else etatLED=0; // inverse la variable etatLED
  delay(250); // pause anti-rebond
}

// met la LED dans l'état de la variable etatLED
if (etatLED==1) { // si la variable vaut 1
  digitalWrite(LED,HIGH); // la LED est allumée
}
else { // sinon, càd si la variable vaut 0
  digitalWrite(LED,LOW); // la LED est éteinte
 }

// --- ici instructions à exécuter par le programme principal --- 


} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin

________________________________________________________________________



Aucun commentaire:

Enregistrer un commentaire