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 :
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)
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