WebMaster : O.GRAS

Enseignant Sc. Physiques CPGE spé PSI

Création du site :  1er juin 2020

Mise à jour : 23 septembre 2023 à 12h00

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam tincidunt lorem

Club Robotique et

Sciences Frugales

Sciences frugales : réduction des déchets, sobriété énergétique et numérique

Club ouvert à toutes et tous, élèves du Secondaire de la Seconde à la Terminale, étudiantes et étudiants en Prépa CPGE, fans d’électronique et d’imprimante 3D ou pas… on a besoin de toutes les compétences pour la conception, le design, la logistique, la réalisation, la programmation, les beta-tests, la publicité, la communication, la promotion.

Animateur :  O.GRAS, enseignant de Physique-Chimie-Informatique

En association avec le club d’Informatique qui occupe le même créneau horaire, avec V. MAILLE.

Applications et objectifs :

- réalisations personnelles (sac à dos clignotant, station météo, …)

- expériences pour les T.P.E.  ou T.I.P.E.

- TP pour les Olympiades Internationales de Physique

- développer la réutilisation de matériel électronique usager voire jeté, développement durable, valorisation des déchets

Liens externes :

Sciences Frugales. (Lien externe)
PhysicsOpenLab. (Lien externe)

Commande de roues de robot

Mais aussi PiPico, Micro:bit, ESP32, ESP8226 etc …

Arduino

RaspBerry Pi

Création du club : septembre 2019

Réalisations 2019 à 2023





Projets 2019 à 2023



Projets 2020-2021 et 2021-2022 et 2021-2023:
liés aux TIPE des PSI et PC*

Diaporama

Détournement d’une voiture radio-commandée : ajout de la fonction « détecteur d’obstacle »

Matériel, capteurs : développement durable et recyclage

Carte contrôleur (Arduino ou autre)

Vue du bras "têtes de lecture et écriture" et du plateau aimanté.

Démontage de matériel : disque dur magnétique à plateau, pour récupérer les moteurs ou les aimants ou les capteurs

Démontage de matériel : boitier d’ordinateur. Une mine d’or. Vous aurez alors à votre disposition : ventilateurs, disque dur, alimentation, connectique, lecteur DVD, tout sert…

A quoi sert de démonter du vieux matériel ?

Bloc central d’un lecteur de DVD

Moteur

Axe 1

Support lentille

Axe de rotation

Axe 2

Moteur de déplacement le long des axes

Nous avons sous la main de l’optique (lentille, diode-laser) et de la mécanique de précision : 

1) Le chariot peut servir à déplacer précisément un capteur en contrôlant son moteur 

par un Arduino par exemple.

2) Le support de lentille est commandé en translation perpendiculairement à la photo. Le déplacement est contrôlé, dans un champ magnétique permanent, 

par une bobine parcourue par un courant 

que l’on peut régler nous-même.

Exemple de réalisation

Chariot

Vis

Moteur

Un programme sur Arduino permet de commander la translation du support.

 

Application en TIPE : un émetteur-récepteur ultra-sonore a été fixé au support et son déplacement à vitesse constante (commandé par Arduino) a permis d’afficher sur écran le relief d’un objet placé devant le capteur.

Vue de dessous :

On voit bien le moteur (pas-à-pas) et la vis sans fin qui entraîne la translation du chariot porte-lentille.

Le câblage de la commande du moteur se fait assez simplement grâce à une interface annexe de puissance.

Lecteur DVD

Batteries

Appareil photo

Disque dur

Carte mère

Circuits divers

Et si ensuite la robotique vous intéresse encore plus…

Des compétitions pour les lycéens ?

Lien : cliquez l’image

Et ensuite, en Ecole d’ingénieurs, en IUT, en Université…

Les compétitions de la Coupe de France de Robotique

Lien : cliquez l’image

Carte contrôleur Arduino UNO, Due, Nano, Mega … et clones

Avantage énorme : des exemples très faciles à trouver sur l’Internet, à copier et à modifier pour adapter à son usage.

Autre avantage : système déjà installé, rien à flasher pour changer de noyau. Utilisable en TP très rapidement.


NANO : très petit, avec un peu moins de connexions

MEGA : plus d’entrées/sorties

DUE : processeur plus puissant, CAN 12 bits 4096 valeurs


Négatif : la mémoire et le peu de fréquences pour le PWM

Caractéristiques

entrées-sorties numériques  max 5V  : 14

entrées analogiques (jusqu’à 5V) avec CAN 10 bits : 6

(Donc 1024 valeurs entre 0 et 5V ou entre 0 et U la tension imposée sur la borne AREF)

sorties analogiques : 0

PWM  : sur 6 sorties numériques. Cela permet de simuler des sorties réglables en tension entre 0 et 5V.


Communications

port série USB : communications avec un ordinateur

bus série avec les bornes RX-TX : 1

bus I2C : 1  (c’est un bus série synchrone bidirectionnel half-duplex, où plusieurs équipements, maîtres ou esclaves, peuvent être connectés au bus, connexion deux fils SDA et SCL)

SPI : 1

Bornes pour interruptions : 2


Micro-contrôleur ATMega  :  16 MHz


Langage de programmation :  C++ en indépendant, mais interaction possible avec un programme Python sur un ordinateur et échangeant par port série.


Logiciel :  IDE Arduino

Mémoire : flash pour programme = 32 Ko

SRAM pour variables = 2 Ko c’est peu !

Tracé de données acquises par le port série en temps réel  sur l’ordinateur

Nano : format mini

Carte contrôleur BBC Micro:bit

Avantage de programmation : programmation en Micro-Python.

Attention : c’est une version simplifiée de Python 3, donc il ne faut pas penser utiliser les bibliothèques élaborées comme NumPy ou PIL


Interface à prévoir pour connecter

aux BreadBoard classiques


AVANTAGE : boussole,

accéléromètre, Radio, BlueTooth,

afficheur LED 5x5  déjà présent sur la carte


EMULATEUR :

Caractéristiques : ATTENTION entrée max 3,3V !!!!!!

entrées-sorties numériques   :  16 GPIO

entrées analogiques (jusqu’à 5V) avec CAN 12 bits :  6

sortie analogique : 0

PWM  : sur 16 sorties numériques. Cela permet de simuler des sorties réglables de tension entre 0 et 3.3V.

256 Ko de flash + RAM 16 Ko (attention, faible)

Communications

port série USB,  comm radio entre cartes Micro:bit facile,

bus série avec les bornes RX-TX :  0  !!!

bus I2C et SPI :  1


Micro-contrôleur  ARM Cortex M0  :  16 MHz


Langage de programmation :  micro-Python

Logiciel :  Thonny ou MuEditor  

Carte contrôleur Raspberry Pi Pico

Tracé de données acquises par le port série en temps réel  sur l’ordinateur

Avantage de programmation : programmation en Micro-Python.

Attention : c’est une version simplifiée de Python 3, donc il ne faut pas penser utiliser les bibliothèques élaborées comme NumPy ou PIL

Egalement, le langage est interprété donc plus lent. Mais processeur plus rapide.


CONNEXIONS ci-dessous  :

Caractéristiques :  ATTENTION entrée max 3,3V !!!!!!

entrées-sorties numériques   :  29 GPIO

entrées analogiques (jusqu’à 5V) avec CAN 12 bits :  4

sortie analogique : 0

PWM  : sur 8 sorties numériques au moins. Cela permet de simuler des sorties réglables de tension entre 0 et 3.3V.


Communications :  

port série USB,  

bus série avec les bornes RX-TX :  1

bus I2C et SPI :  4 + 2


Micro-contrôleur  ARM M0 DualCore à 133 MHz

264 Ko SRAM  + 2 Mo Flash  + 128 Ko fichiers

Langage de programmation :  Micro-Python ou C++


Logiciel :  MuEditor, Thonny

Nano ordinateur Raspberry Pi + système d’exploitation

Avantage de programmation : programmation en Python .

Donc accès à toutes les bibliothèques classiques

Ports USB, donc avec un clavier et une souris, on a un nano-ordinateur

MAIS :

1) système d’exploitation à installer sur carte SD ou disque SSD donc temps de démarrage

2) du fait du multi-tache, les mesures ne peuvent être en « temps-réel »

3) pas d’entrées analogiques, ce qui oblige à utiliser un composant ADC ou un Arduino ou Pico ou autre


CONNEXIONS ci-dessous  :

Caractéristiques :

entrées-sorties numériques   :  24 GPIO

entrées analogiques  : 0 donc il faut ajouter un CAN externe

sortie analogique : 0

PWM  : sur 8 sorties numériques. Cela permet de simuler des sorties réglables de tension entre 0 et 3.3V.


Communications :  

port série USB,  

bus série avec les bornes RX-TX :  1

bus I2C et SPI :  1 + 2


Processeur  de différents types selon le modèle 1, 2, 3 ou 4  

2, 4 ou 8 Mo de RAM

(ARM v8) quad-core 64-bit SoC @ 1.5GHz pour le modèle 4

Langage de programmation :  ce que l’on veut, Fortran, Pascal, Python, C++, Java, etc.


Système d’exploitation :  version spécifique de Linux le plus souvent, RasbianOS etc.

AVANTAGE : caméra dédiée optionnelle

Avec les bibliothèques PIL, on fait du

Traitement d’image facilement, ainsi que de la reconnaissance de forme ou de visage.

Carte Contrôleur ESP 32 ou 8266

Caractéristiques

entrées-sorties numériques   : 10

entrées analogiques (jusqu’à 5V) avec CAN 12 bits :  18

sorties analogiques : 2 en 8 bits

PWM  : sur N sorties numériques. Cela permet de simuler des sorties réglables de tension entre 0 et 3.3V.


Communications :  

port série USB,  

bus série avec les bornes RX-TX :  3

bus I2C et SPI :  2 + 4

+ 1 capteur à effet Hall


Micro-contrôleur 32bits  :  160 ou 240 MHz

512 Ko SRAM

Langage de programmation :  Micro-python


Logiciel :  

Le composant ESP 8266 est une carte avec Wifi qui permet de communiquer sans fil. Ce composant, facile à programmer et bon marché (5 euros), possède un microprocesseur 32 bits.


WIFI  +  BlueTooth

Avantage de programmation : programmation en Micro-Python.

Attention : c’est une version simplifiée de Python 3, donc il ne faut pas penser utiliser les bibliothèques élaborées comme NumPy ou PIL

Egalement, le langage est interprété donc plus lent.



CONNEXIONS ci-dessous  :

Carte Contrôleur MaixDuino

Format similaire à la carte Arduino pour les deux rangées de connecteurs

Caractéristiques = connectique voisine de l’Arduino

entrées-sorties numériques   :  9

entrées analogiques (jusqu’à 5V) avec CAN 12 bits :  6

sortie analogique : 0

PWM  : sur 8 sorties numériques. Cela permet de simuler des sorties réglables de tension entre 0 et 3.3V.


Communications

port série USB,  

bus série avec les bornes RX-TX :  1

bus I2C et SPI :  1+1


Micro-contrôleur  RISC-V Dual Core 64 bits :  400 MHz

RAM : 8Mo  //  16 Mo Flash

Entrée-sortie AUDIO par DAC 16 bits

Langage de programmation :  C++  ou Micro-Python

WIFI + BlueTooth

Logiciel :  IDE Arduino ou MaixPy Python

Camera : QVGA@60FPS/  VGA @ 30FPS.

KIT avec écran et caméra


Réalisations possibles  :

- WIFI ESP 32 + BlueTooth

-  IA reconnaissance de visage, de forme

-  IA reconnaissance vocale

-  carte compatible ARDUINO au niveau des connecteurs

Carte Contrôleur M0Express  Metro ou Feather

Avantage de programmation : programmation en C++ ou en Micro-Python.

Attention : c’est une version simplifiée de Python 3, donc il ne faut pas penser utiliser les bibliothèques élaborées comme NumPy ou PIL. Egalement, le langage est interprété donc plus lent.

Une VRAIE sortie analogique  !

Metro : connectique identique à l’ARDUINO


INCONVENIENT : langage CircuitPython pas toujours standard


CONNEXIONS ci-dessous  :

Format similaire à la carte Arduino pour les deux rangées de connecteurs

Caractéristiques = connectiques voisines de l’Arduino

entrées-sorties numériques   : 9

entrées analogiques (jusqu’à 5V) avec CAN 12 bits :  6

sortie analogique : 1 sortie 10bits

PWM  : sur 8 sorties numériques. Cela permet de simuler des sorties réglables de tension entre 0 et 3.3V.


Communications

port série USB,  

bus série avec les bornes RX-TX :  1

bus I2C et SPI :  1 + 1


Micro-contrôleur  ARM Cortex Mo  :  48 MHz

256 Ko de Flash  + 32 Ko de RAM  +  2 Mo disque fichiers


Langage de programmation :  C++  ou CircuitPython


Logiciel :  IDE Arduino  ou IDE Python



Existe une version Metro M4 Express plus rapide.


ATTENTION : CircuitPython est un fork de MicroPython par la société ADAFRUIT, mais s’éloigne du standard volontairement pour  enfermer l’utilisateur.

Version miniature (Feather)

Carte Contrôleur XIAO

Format de carte miniature.

Toutes les bornes sont digitales ou analogiques.

Avantage de programmation : programmation en C++ ou en Circuit-Python.

Attention : c’est une version simplifiée de Python 3, donc il ne faut pas penser utiliser les bibliothèques élaborées comme NumPy ou PIL

Une VRAIE sortie analogique  !

XIAO : programmation identique à l’ARDUINO

Et TOUS les connecteurs ont une interruption

INCONVENIENT : langage CircuitPython pas toujours standard


CONNEXIONS ci-dessous  :

Caractéristiques :  ATTENTION entrée max 3,3V !!!!!!

entrées-sorties numériques   : jusqu’à 11

entrées analogiques (jusqu’à 3.3V) avec ADC (CAN) 12 bits :  jusqu’à 11

sortie analogique :  1 sortie DAC (CNA) sur A0 en 10 bits jusqu’à 3.3V

PWM  : sur 10 sorties numériques. Cela permet de simuler des sorties réglables de tension entre 0 et 3.3V.


Communications :  

port série USB,  

bus série avec les bornes RX-TX :  1

bus I2C et SPI :  1 + 1


Micro-contrôleur  ARM Cortex M0  :  48 MHz

256 Ko Flash  + 32 Ko RAM données


Langage de programmation :  C++  ou  CircuitPython


Logiciel :  IDE Arduino,

Programme C++ permettant de générer un sinus sur la borne de sortie analogique vraie A0, et de lire les données sur l’entrée analogique A1 avant de les tracer avec le « Traceur série » de l’IDE Arduino

C++    versus  MicroPython ou CircuitPython

Programme MicroPython permettant de lire une donnée analogique en entrée sur la borne  A0 (CAN supposé 16 bits donc 65536 valeurs sur un intervalle ici de 3,3V), et d’écrire les données sur la sortie série.

Programme C++ permettant de lire une donnée analogique en entrée sur la borne  A0 (CAN supposé 10 bits donc 1024 valeurs, sur un intervalle ici de 5V), et d’écrire les données sur la sortie série.

Avantage de programmation en C++  : le programme est compilé donc plus rapide.

Carte Contrôleur AZ_D ESP32

Format similaire à la carte Arduino pour les deux rangées de connecteurs

Avantage de programmation : programmation en C++ avec l’IDE Arduino


Programmation identique à l’ARDUINO


Fonctionnalité WIFI + BlueTooth


1 capteur à effet Hall sur la carte


CONNEXIONS ci-dessous  :

Caractéristiques :  ATTENTION entrée max 3,3V !!!!!!

entrées-sorties numériques   : jusqu’à 20

entrées analogiques (jusqu’à 3.3V) avec ADC (CAN) 12 bits :  jusqu’à 12

sortie analogique :  2 (CNA 8 bits)

PWM  : sur 16 sorties numériques. Cela permet de simuler des sorties réglables de tension entre 0 et 3.3V.


Communications :  

port série USB,  

bus série avec les bornes RX-TX :  1

bus I2C et SPI :  1 + 1


Micro-contrôleur  32-bit Tensilica + ESP 32  :  240 MHz

D1 R32 Wlan

4 Mo Flash  FICHIERS et pseudo-code + 512 Ko RAM  pour les données


Langage de programmation :  C++  


Logiciel :  IDE Arduino,

sdfd bleus sqfsf fehfmjq bvvc  Site réalisé sur MBPro    hkqdfks psd qf qfgqshfdhjt thtjt

Sparkle + Site personnel Orange.fr + Hubic

+ LaTeX + TiKZ + iMovie + Audacity + Blender