Arduino etc#
Exemples projets années passées#
Projets pas abouti#
- détecteur humidité
- détecteur sonore > pas très abouti
- rendre plus accessible syst monitoring glucose > pas abouti
possible de faire beaucoup de chose mais attention ça prend du temps
Projets mieux aboutis (2022-2023)#
- eau agriculture. .?
- détecteurs métaux lourds
- mesure conso cafféine
But exo :#
entrée > process > sortie
Raspberry PI pico : avant garde , performance +++
On peut essayer si on veut
Rappels elec#
Tension#
Attention transistors microcontrolleurs vont être endomagés par rupture diélectrique par une tension trop importante
Courrant :#
effet joule => risque de surchauffe du micro-controlleur > destruction 40mA max par port > 200mA max au total
Arduino#
Ports#
Chaque port peut être défini comme une entrée ou une sortie ( avec ~ : peuvent assui faire du PWM )
attention : ne jamais connecter deux sorties entre elle ou une sortie digitale à la masse (150 ohm min entre, 200ohm pour être plus sûr) cf. schéma état 1 et état 0
(100 mA max par groupe)
tensions de sortie fixes d’alim#
(attention ne pas mélanger 5V et 3V3 )
cf. site fablab “precautions” > il faut un pont diviseur de tension pour coupler le 5V et le 3V3 attention brancher le GND entre tous les appareils
(Entrées : Zeq in = 10kohm)
Entrée analogiques#
- peuvent aussi être utilisées comme i/o numérique
SDA SCL : protocle … ? (I2C) TX et RX : pin 0 et 1 : dédiée à la communication série avec l’ordinateur ISP : com série hte vitesse
Exemples circuit :#
led#
R en série avec la led : qui permet de limiter le courant
bouton poussoir#
circuit avec une grosse résistance entre switch et GND
aussi possible de dire ‘INPUT_PULLUP’ dans le code et la résistance sera mise en place dans le microcontrolleur)
potentiometre#
lecture R variable plage valeurs entre 0 et 1023 ( 2^10 - 10 bits )
(conv : rouge Vcc et Noir : GND)
Debounce#
ajout d’un délai dans la lecture du boutton poussoir pour éviter les changements d’états intempestifs
Raspberry Pi vs Arduino#
Arduino : plus rapide , plus simple, moins de puissance de calcul Raspberry (nécessite un OS) : bcp plus puissant mais moins réactif, pas de réaction instantanée à un signal
Ex. lazer zore : utilise arduino et Raspberry#
Moteur etc controllé par arduino Interface informatique, calcul tracé, interface utilisateur, etc : geré par raspberry
achat electronics : tinyElectronics#
Kits :#
Capteur numérique de température et d’humidité Encodeur rotatif
Si on veut les garder jusqu’eu jury : caution de 30€ en cash
Prise en main#
Testing blink Testing read potentiometer > change blink duration
Assignement : DHT20#
Data Sheet DHT20 • Relative humidity and temperature output • Superior sensor performance, typical accuracy RH: ±3%, T: ±0.5℃ • Fully calibrated and processed digital output, I²C protocol • Wide voltage support 2.2 to 5.5V DC • Excellent long-term stability • Fast-response and anti-interference capability
Important : ok 5.5V - I2C protocol - consomme moins de courant à 3V3 que à 5V - but warning : if it is supplied in 3V3 , the SDA and SCL should be in 3V3 also, otherwise its going to burn - conseil : résistance 4,7 kOhm but it is already integrated inside the captor
Pin description : cf. screeshot 1 : VDD (2,2 to 5.5V) 2 : SDA 3 : GND 4 : SCL
I followed the tutorial here#
I needed to install the arduino sensor kit Then I used the proposed code it is working properly
I add a little line to light up the int led when the humidity is above 60%
It also possible to use the DHT20 library#
Buzer#
it’s a TDK buzer of 3V
(checker site de ref arduino)
Controlling a fan#
ref of the fan : PAPST TYP 4412 F/2GL found technical data on internet : cf. screenshot
Red = + Blue = - White = tacho
Alim Sony 8,5 V#
- check for polarity
- blacnk&white : - (connect to GND)
- black : + (cconect to Vin)
Check if the fan is working : yes
VMA411 :#
link : guide de mise en marche https://www.gotronic.fr/pj-2117.pdf
const int broche = 7;
void setup () {
pinMode(broche, OUTPUT);
}
void loop ()
{
digitalWrite(broche, HIGH);
delay (2000);
digitalWrite(broche, LOW);
delay (2000);
}
fonctionne correctement
Code régulateur humidité active ventilo#
Lecture vitesse ventilo#
https://www.makerguides.com/how-to-read-fan-speed-signal-with-arduino/
(From doc) Voltage control#
Speed control via the supply voltage is only permitted within the stipulated supply voltage range. Speed control via PWM of the supply voltage is not permitted.
LED RGB#
neopixel
(Cours 29-10)#
Output devices#
Servo motor#
a déjà une régulation de vitesse ou de position cf. technical sheet : - impulsions entre 500 et 2500 usec
correspondent à vitesse ou position min et max - tension d’alim et courant - 180 mA max - couple max - attention sall current : si on bloque le couple, peut tier jusqu’à 750ma
steppermotor#
- moteur + carte avec interface
pas info de courant de conso sur datasheet à calculer soi même
- intervace ULN2003 > cf. datasheet pour plus d’info
électro-aimant#
4 pattes dont 1 conectée à ruen - SIG, VCC et GND - 400 mA > trop pour arduino - commande avec pin SIG - (GND à connecter à alim et à arduino)
afficheur LED#
circuit integré > affiche les données jusqu’à nouvelles données - pas I2C mais similaire
écran OLED (slmnt si besoin pour le projet)#
relay etc#
relay : AC ou DC motor driver : ampli audio : pour du son ou
Input devices#
Analog#
Sound ..
entrées analogiques de arduino : temps de réponse
> 15 000 samples/sec > peut rater une transitoire trop brève donc on peut utiliser le treshold et avoir une réception numérique
Capteurs de poussières Particules fines
Digital sensors#
Magnetic angle sensor
permet de calculer une position avec un aimant
Load cell amplifier :
idées :#
input : clap avec sound …