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 …

module VMA411#