Projets Python pour Arduino

 


Les premières activités programmées en Python permettent de se familiariser avec l’Arduino, de comprendre le principe de fonctionnement des entrées et sorties numériques ou analogiques.

Ensuite, c’est l’exploitation des données des principaux capteurs utilisés avec un Arduino qui est abordée.

Les activités codées en Python, mais aussi leur équivalent en langage « Arduino IDE » sont réunies par thème (projets) et sont associées à un circuit spécifique :

 

. Projet 1 –  Premiers pas : DEL & Bouton poussoir

L’objectif de l’étude de ce premier circuit est de comprendre le principe de fonctionnement des entrées et sorties numériques de l’Arduino à travers 4 activités.


Activité 1 : Faire clignoter une DEL

Objectifs :

. L’apprentissage de l’utilisation des sorties digitales de l’Arduino

. La gestion des sorties numériques avec le protocole de communication Firmata Standard

Activité 2 : Allumer une DEL avec un bouton-poussoir

Objectifs :

. L’apprentissage de l’utilisation des entrées digitales de l’Arduino

. La gestion des entrées numériques avec le protocole de communication Firmata Standard

Activité 3 : Allumer ou éteindre une DEL avec un bouton-poussoir

Objectifs :

. La manipulation des variables

. La programmation des structures conditionnelles if – else

Activité 4 : Allumer en alternance ou éteindre 3 DELs avec un bouton-poussoir

Objectifs :

. Synthèse des activités précédentes

. Mesure de durées avec la bibliothèque time

 


.
Projet 2 – DEL RVB : Entrées et Sorties analogiques

Après avoir vu le principe de fonctionnement des entrées et des sorties numériques de l’Arduino, avec ce nouveau circuit, nous allons nous intéresser aux entrées et sorties analogiques de la platine.

 

Activité 1 : Contrôler la luminosité d’une DEL avec un bouton-poussoir

Objectifs :

. L’apprentissage de l’utilisation des sorties analogiques (mode PWM) de l’Arduino

. La gestion des sorties analogiques avec le protocole de communication Firmata Standard

Activité 2 : Clignotement d’une DEL à une allure fixée par une entrée analogique

Objectifs :

. L’apprentissage de l’utilisation des entrées analogiques de l’Arduino

. La gestion des entrées analogiques avec le protocole de communication Firmata Standard

. Utilisation d’un capteur résistif (photorésistance)

Activité 3 : Réglage de la luminosité d’une DEL à un niveau fixé par une entrée analogique

Objectifs :

. Une autre application de la photorésistance

Activité 4 : DEL RVB – Synthèse additive des couleurs

Objectifs :

. Synthèse des activités précédentes

. Modélisation informatique de la couleur

 


.
Projet 3 – Ondes sonores : Produire & Exploiter

Après avoir bien travaillé, maintenant que nous maitrisons le principe des entrées et sorties de l’Arduino, nous allons nous détendre en écoutant un peu de musique…


Activité 1 : Faire clignoter une DEL et produire un « beep » synchrone

Objectifs :

. Emettre une onde sonore avec un Arduino

. La gestion de la fonction ”Tone” avec le protocole de communication Firmata Express

 

Activité 2 : Alarme sonore par détection de passage

Objectifs :

–> Mise en application des apprentissages sur les photorésistances et l’émission sonore

 

Activité 3 : Emettre une onde sonore avec un bouton-poussoir

Objectifs :

–> Mise en application des apprentissages sur l’utilisation des boutons poussoirs et l’émission sonore

 

Activité 4 : Jouer une mélodie avec des boutons poussoir

Objectifs :

. Synthèse des activités précédentes

. La programmation des boucles ”for”

 

Activité 5 : Régler la fréquence d’une onde sonore avec deux potentiomètres

Objectifs :

–> Mise en application des apprentissages sur l’utilisation des potentiomètres et l’émission sonore

 


.
Projet 4 – Ondes ultrasonores : Vitesse & Distances

Nous avons vu qu’il était possible, avec un Arduino, de produire des ondes sonores, caractérisées par leur fréquence. Nous allons maintenant, nous intéresser à la vitesse de propagation des ondes sonores.


Activité 1 : Détermination de la vitesse du son dans l’air

Objectifs :

. Emettre une onde ultrasonore avec un Arduino

. La gestion des capteurs ultrasoniques avec le protocole de communication Firmata Express

 

Activité 2 : Mesure de distances

Objectifs :

–> Utilisation de la vitesse de propagation des ultrasons dans l’air pour calculer une distance

 

Activité 3 : Détecteur d’obstacles

Objectifs :

–> Application de l’activité ”Mesure de distance ”

 


.
Projet 5 – Températures : Mesurer & Exploiter


Comme la vitesse de propagation des ondes sonores dans l’air dépend de la température, nous allons à présent utiliser notre Arduino pour mesurer des températures.

Les capteurs de température généralement utilisés avec un Arduino sont de deux types différents :

– les capteurs dont la tension de sortie est linéairement proportionnelle à la température (les plus courant : TMP 36 et LM 35)

– les thermistances CTN (coefficient de température négatif) qui sont des capteurs de température résistifs, dont la résistance diminue de façon non linéaire quand la température augmente.


Activité 1 : Mesure de températures avec un capteur TMP 36 ou LM 35

Objectifs :

. Mesurer une température avec un Arduino et un capteur linéaire

. La gestion des capteurs de température avec le protocole de communication Firmata Express

Activité 2 : Alarme sonore par dépassement de température

Objectifs :

–> Mise en application des activités sur la mesure de température et sur les ondes sonores

Activité 3 : Thermomètre à diodes électroluminescentes

Objectifs :

–> Mise en application des activités sur la mesure de température et sur les DELs

Activité 4 : Etalonnage d’une thermistance CTN

Objectifs :

–> Etalonner une thermistance CTN avec un Arduino et un capteur de température linéaire

Activité 5 : Mesure de températures avec une thermistance CTN

Objectifs :

–> Mesurer une température avec un Arduino et une thermistance CTN

 


.
Projet 6 – Pression : Mesurer & Exploiter

Dans le domaine des sciences, une autre grandeur physique fréquemment utilisée est la pression exprimée en Pascal (Pa).

Pour mesurer cette grandeur avec un Arduino, on utilisera le capteur de pression MPX4250AP dont la sensibilité est de 20 mv/kPa pour une plage de mesure allant de 20 à 250 kPa (soit, une tension de sortie du capteur entre 0,2 V et 4,8 V). Ce capteur est donc parfaitement adapté à une utilisation avec un Arduino.


Activité 1 : Mesure d’une pression absolue avec un capteur MPX4250AP

Objectifs :

. Mesurer une pression avec un Arduino et un capteur de pression

. La gestion des capteurs de pression avec le protocole de communication Firmata standard

Activité 2 : Indicateur de pression

Objectifs :

–> Mise en application des activités sur la mesure de pression et sur les DELs

Activité 3 : Vérification de la loi de Boyle-Mariotte

Objectifs :

–> Mise en application de l’activité sur la mesure de pression

Activité 4 : Principe fondamental de la statique des fluides

Objectifs :

–> Une autre application de l’activité sur la mesure de pression

 


.
Projet 7 – Dipôles RC : Charge & Décharge

Avec un Arduino, nous avons vu qu’il était possible de mesurer une tension. Nous allons maintenant utiliser un Arduino Uno pour suivre l’évolution temporelle de la tension aux bornes d’un condensateur lors de sa charge ou sa décharge.


Activité 1 : Etude de la charge d’un condensateur d’un dipôle RC

Objectifs :

. Mesurer une tension avec un Arduino

. La gestion des entrées analogiques avec le protocole de communication Firmata standard

Activité 2 : Etude de la décharge d’un condensateur d’un dipôle RC

Objectifs :

–> Complément de l’activité précédente

Activité 3 : Détermination de la capacité d’un condensateur par mesure d’une constante de temps

Objectifs :

–> Application des activités précédentes