Arduino Electronique Algorithmique

Organisation prévisionnelle des 4 séances

Module d'initiation

Un PC par stagiaire
Matériel pour les « TP » (réutilisable)
Basé sur un système fourni : « Mobile  pédagogique » + « Scratch » + Bluetooth
Mise en œuvre et analyse du système fourni 
Fonctions, échanges de données, interconnexion, algorithmes
Eléments étudiés : électronique, programmes
Programmation « graphique» du système fourni à partir d'un PC
TP de mise en œuvre des fonctions, ... Jeux ?

Progression détaillée sur les 4 séances

 Première séance

Présentation collective

Synoptique du système et correspondance avec les éléments physiques
    http://pierrecaulet.free.fr/Realisations/Mobile_Snap/mobile_snap.html
Qu'est-ce qu'une carte Arduino?
    Schéma: http://pierrecaulet.free.fr/Documentation/arduino-uno-schematic.pdf
        Délimitation des fonctions Alimentation USB Alimentation
            Sources d'alimentation et circuits associés. Puissances.
    Schéma du système: http://pierrecaulet.free.fr/Realisations/Mobile_Snap/SCHEMA.png
        Identification des éléments communs avec l'Arduino.
    Repérage des fonctions sur l'Arduino UNO:
http://pierrecaulet.free.fr/Documentation/arduino_Fonctions.jpg
        Brochage détaillé: http://pierrecaulet.free.fr/Documentation/PINOUT_complete_ARDUINO_V2.pdf
        Notion d'entrée/sortie binaire (digital) et entrée analogique. Précisions sur le terme "numérique"
Le logiciel "Snap4Arduino": http://s4a.cat/snap/
    Les divers groupes d'instructions sur le logiciel démarré
        Contrôles
            Quand - - - - - est pressé
            Quand je reçois - - - -         envoyer à tous - - -
            Répéter indéfiniment
            Attendre - - - sec.
            Répéter jusqu'à - - - -
        Opérateurs
            Comparaison
            Opérations
        Arduino
            Connect / Disconnect ... et problèmes afférents
            Setup digital pin  - - - as Digital input/output  PWM servo
            Set digital pin - - - to - - -
            Set PWM pin - - - to - - -
            Analog reading - - -
            Digital reading - - -
Connexion d'un Arduino au PC
    Drivers (différents selon les circuits UNO, Ftdi232, PL2303, CH341, CP2102 ...)
    Port COM virtuel, Gestionnaire de périphériques (Windows)
   

Exercice N°01:

    Faire clignotter la LED sur le port 13 d'un Arduino connecté par le port USB du PC.

Exercice N°02:

    Faire clignotter la LED de la "Tourelle" du "Mobile pédagogique" connecté en Bluetooth au PC

Deuxième séance

Présentation collective

    Commande d'un moteur à courant continu à un sens de rotation
        http://pierrecaulet.free.fr/Projets/Petit_moteur_1_sens_1vitesse/Petit_moteur_1_sens_1vitesse.html
        Commande des charges inductives
        Principe des transistors
    Commande d'un moteur à courant continu à deux sens de rotation
        http://pierrecaulet.free.fr/Projets/Commande_double_sens/commande_2_sens.html
    Le circuit utilisé sur le "Mobile pédagogique":
        http://pierrecaulet.free.fr/Realisations/Mobile_Snap/LB1836M-D.pdf
        Structure, Table de vérité
    La tension PWM: principe et utilisation:
        http://pierrecaulet.free.fr/Projets/Petit_moteur_1_sens_vitesse_var/Petit_moteur_1_sens_vitesse_var.html
   

Exercice N°03:

    Commander la mise en marche de chaque moteur pendant 1 seconde,  par l'appui d'une touche du clavier du PC.
    S'entraîner au "pilotage" du véhicule.
    Ajouter une commande de vitesse réduite (sur d'autres touches), en utilisant les sorties PWM.
   

Présentation collective

    La résistance photo éléctrique (LDR) , circuit d'utilisation?
    Utilisation des entrées analogiques.
    Conversion Data >>> tension

Exercice N°04:

    Utiliser les LDR du "mobile pédagogique" pour que le mobile se dirige vers la lumière.
        On utilisera une touche du clavier pour stopper le mouvement du mobile.
        On pourra ajouter la détection d'obstacles frontaux.
   

 Troisième séance

Présentation collective

   Le servomoteur principe et utilisation.
        http://pierrecaulet.free.fr/Projets/Servomoteur/servomoteur.html
   Commande de servomoteur dans Snap4Arduino

Exercice N°05:

    Commander la rotation de la tourelle par le clavier du PC.
        Réaliser un programme qui permet de faire tourner la tourelle par pas de 2 unités, en
        affichant la valeur de l'angle (commande par le clavier).
        Noter les valeurs correspondant à 1/4 de tour à gauche et 1/4 de tour à droite.
        Réaliser un programme permettant de controler la rotation "assez rapide" de la tourelle
        dans les limites déterminées précédemment.

Présentation collective

    Le capteur réflectif  "CNY70", principe et utilisation comme détecteur de présence.
        http://pierrecaulet.free.fr/Projets/mise_en_oeuvre_CNY70/index.html
   Le comparateur à base d'Amplificateur Opérationnel.
      Analyse du circuit électrique du mobile utilisé.

Exercice N°06:

    Réaliser un programme de suivi de piste.
        La piste sera représentée par un ruban noir sur une surface claire.
        On aura peut-être interêt à utiliser une vitesse de déplacement assez lente.

 Quatrième séance

Présentation collective

   Démonstration d'une commande d'un robot par internet
   Utilisation des modules de liaison Bluetooth :
        paramétrage.
       

Exercice N°7

    Installer tous les modules nécessaires pour réaliser un jeu de poursuite:
        Deux robots dans un périmètre fermé, équipés d'une "arme laser" sur une tourelle et d'une
        "cible" (panneau photovoltaïque).
        Le gagnant est celui qui "tire" dans le panneau de l'adversaire ou oblige ce dernier à
        sortir du périmètre du jeu.    
   




Un deuxième module de 4 séances serait envisageable : Projet personnel

Le stagiaire fera l'acquisiton du matériel nécessaire pour son projet personnel
Programmation « classique » en Arduino C++  
Elaboration de l'organisation matérielle et logicielle
Début de réalisation.

La suite du développement s'effectuant dans une association du type "fablab"

On utilise à présent une carte Arduino UNO (ou MICRO, qui s'implante sur une platine d'essais)

Présentation collective

    L'IDE de l'Arduino et le langage C
    La documentation incluse dans l'IDE

Exercice N°8

    "Hello Word" de l'Arduino = programme "Blink"
        http://pierrecaulet.free.fr/Documentation/Blink/Blink.html

Présentation collective

    Utilisation des librairies incluses dans l'IDE.
    Recherche de libraries sur le Net

Exercice N°9

    Utilisation d'une horloge "temps réel" de type "DS1307"
        http://playground.arduino.cc/code/time       

Exercice N°10

    Utilisation d'un afficheur 2x16 caractères
        https://www.arduino.cc/en/Tutorial/HelloWorld
       

Présentation collective       

    Liaison bi-directionnelle par internet configuration du routeur.
    Utilisation des modules de liaison ethernet et WIFI
        serveur WEB sur Arduino:
                  http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoEthernetServeurControleLEDx7

Projet

    . . . . . . . . .  .