View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

Test d'un optocoupleur en fourche

Par X. HINAULT - Page créée le : 16/1/2011.

1.  Présentation

Une LED s'allume lorsqu'un objet est détecté dans la fente de l'opto-coupleur en fourche.

Ressources utiles associées à ce programme :

Voir également :

2.  Matériel Nécessaire

2.1  L'espace de développement Arduino

  • ... pour éditer, compiler le programme et programmer la carte Arduino.

2.2  Le matériel suivant pour réaliser le montage associé

  • une plaque d'essai pour montage sans soudures,
  • des straps,
  • une LED rouge 5mm,
  • deux résistances 1/4w de 270 Ohms, et une résistance 1/4w de 4,7 KOhms (pour le phototransistor)
  • un optocoupleur infra-rouge en fourche, type LTH301-7,

Pour plus de détails, voir : Optocoupleur en fourche (LITON LTH301-07)

3.  Instructions de montage

  • Broche 3 : La sortie du phototransistor d'un optocoupleur en fourche
  • Broche 2 : Une LED et sa résistance en série connectée au 0V

4.  Le schéma théorique du montage

Le schéma théorique du montage (cliquer pour agrandir)

5.  Le circuit du montage

Le schéma du montage à réaliser (cliquer pour agrandir)

6.  Fonctionnement du programme

6.1  Structure globale du programme

Ce programme simple comprend :

  • une entête déclarative
  • une partie « configuration » qui ne sera exécutée qu'une fois (fonction setup( ) )
  • une partie constituée d'une boucle sans fin que le programme répètera à l'infini ( fonction loop( ) ) : c'est le coeur du programme.

6.2  Déroulement du programme

Le programme se déroule de la façon suivante :

  • Après avoir pris en compte les instructions de la partie déclarative,
  • puis après avoir exécuté la partie configuration ( fonction setup( ) ),
  • le programme bouclera sans fin ( fonction loop ( ) ), exécutant de façon répétée le code compris dans la boucle sans fin.

Le déroulement du programme

7.  Explication du programme

7.1  Au niveau de la partie déclarative :

  • On déclare les deux broches utilisées

7.2  Au niveau de la fonction d'initialisation setup( ) :

  • On configure en sortie la broche utilisée avec la LED
  • On configure en entrée la broche utilisée avec l'optocoupleur en fourche.

Il n'est pas nécessaire d'activer le "rappel au plus" comme avec un bouton poussoir dans le cas d'une entrée ON/OFF comme un opto-coupleur car il n'y a pas de phénomène de rebond dans ce cas et la transition du niveau bas au niveau haut est nette et franche. Voir ici : Test du capteur optocoupleur en fourche (LITON LTH301-07)

7.3  Au niveau de la boucle principale, la fonction loop ( ) :

  • On met la LED au niveau BAS si la sortie de l'opto-coupleur est basse (çàd si il n'y a rien dans la fente)
  • On met la LED au niveau HAUT si la sortie de l'opto-coupleur est haute (çàd si il y a quelque chose dans la fente)

8.  Mise en oeuvre du programme

8.1  Préparation du montage et programmation de la carte Arduino :

  • Commencer par réaliser le montage indiqué sur plaque d'expérimentation
  • Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la procédure habituelle

8.2  Fonctionnement

  • Si l'on met quelque chose dans la fente, l'objet est détecté et la LED s'allume
  • Si il n'y a rien dans la fente, la LED reste éteinte.

9.  Le programme complet en langage Arduino

A copier/coller directement dans l'éditeur Arduino


// --- Programme Arduino ---
// Trame de code générée par le générateur de code Arduino
// du site www.mon-club-elec.fr

// Auteur du Programme : X. HINAULT - Tous droits réservés
// Programme écrit le : 16/1/2011.

// ------- Licence du code de ce programme -----
//  This program is free software: you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation, either version 3 of the License,
//  or any later version.
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//  You should have received a copy of the GNU General Public License
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.

// ////////////////////  PRESENTATION DU PROGRAMME ////////////////////

// -------- Que fait ce programme ? ---------
 /* Une LED s'allume lorsqu'un objet est détecté dans la fente de l'opto-coupleur en fourche.  */

// --- Fonctionnalités utilisées ---

// Utilise optocoupleur infra-rouge en fourche, type LTH301-7,

// -------- Circuit à réaliser ---------

// Broche 3 : La sortie du phototransistor d'un optocoupleur en fourche
// Broche 2 : Une LED et sa résistance en série connectée au 0V

// /////////////////////////////// 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 ---

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

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

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


// --- Déclaration des variables globales ---



// --- 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 (OPTO,INPUT); // Broche OPTO configurée en entrée

// ------- Activation si besoin du rappel au + (pullup) des broches en entrées numériques -------  

// ------- 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(OPTO)==HIGH) digitalWrite(LED,HIGH);
if (digitalRead(OPTO)==LOW) digitalWrite(LED,LOW);


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


//while(1); // stop loop

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


// ////////////////////////// FONCTIONS DE GESTION DES INTERRUPTIONS ////////////////////


// ////////////////////////// AUTRES FONCTIONS DU PROGRAMME ////////////////////


// ////////////////////////// Fin du programme ////////////////////