Les capteurs & co

Sonde DHT22 (température, humidité)

image non disponible

On la branche ainsi :

On a besoin de la librairie Adafruit_Python_DHT

sudo apt-get update

sudo apt-get install build-essential python-dev git

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

cd Adafruit_Python_DHT

sudo python setup.py install

Voici un petit programme pour lire les sondes

dht22.py :

Moteur pas à pas

Il sagit du 28BYJ-48 qui est déjà équipé d'un microcontrôleur :

image non disponible

On le branche ainsi :

Voici un petit programme qu'on peut lancer avec 3 arguments ou pas.

Sans argument, le programme fera un tour complet, soit 4096 pas, dans le sens inverse des aiguilles d'une montre avec une pose de 1ms entre chaque pas.

python stepper.py

Ensuite le premier argument est le sens, -1 pour le sens inverse et 1 pour le sens des aiguilles d'une montre.

python stepper.py 1 ( sens horaire et par défaut 1 tour complet avec 1ms entre chaque pas )

Le deuxième argument est le nombre de pas (2048 = 1/2 tours)

python stepper.py 1 1024 ( sens horaire, 1/4 de tour et par défaut 1ms entre chaque pas )

Et le troisième argument est le temps entre chaque pas (en ms)

python stepper.py 1 2048 3 ( sens horaire, 1/2 tour et 3ms entre chaque pas )

stepper.py :

Détecteur de mouvement

image non disponibleimage non disponible

On le branche ainsi :

Voici un petit programme :

pir.py :

Détecteur de lumière

image non disponible

On le branche ainsi :

Contrairement à l'Arduino, le Raspberry Pi n'a pas d'entée analogique.

Voici un petit programme qui allume une LED si y a moins de lumière :

lum.py :

On réglera la sensibilité avec un tournevis

Détecteur d'humidité

image non disponible

On le branche ainsi :

Contrairement à l'Arduino, le Raspberry Pi n'a pas d'entée analogique.

Voici un petit programme qui allume une LED si c'est sec :

sec.py :

On réglera la sensibilité avec un tournevis

lecteur RFID

Il sagit du RC522, on le branche ainsi :

image non disponible

Ensuite il faut activer le module SPI du Raspberry pi, pour cela taper dans le terminal (raccourci: Ctrl + Alt + t):

sudo raspi-config

Onglet 5 :

image non disponible

Puis

image non disponible

Une fois le module activé, on télécharge les paquets nécessaire :

sudo apt-get install python-dev build-essential git -y

Et on télécharge les outils nécessaire :

git clone https://github.com/lthiery/SPI-Py.git

On se rend dans le dossier

cd SPI-Py

Et on lance l'installation

sudo python setup.py install

Puis toujours dans ce dossier on télécharge les outils pour lire le RC522

git clone https://github.com/mj3052/MFRC522-Pi.git

On se rend dans le dossier

cd MFRC522-Pi

Et on test la lecture :

python Read.py

Voici ce que cela donne :

image non disponible

Voici un petit programme pour un accès contrôlé, le code de la carte acceptée est à modifier dans le programme, on peut bien sur utiliser une base de donnée s'il y a beaucoup de personne a autoriser.

image non disponible

Le branchement du RC522 est le même, on ajoute un bouton pour sortir de la pièce et on ajoute des LED pour la visualisation :

Jaune ( bleu sur le shémas ) : en fonctionnement, on attend un badge

Rouge : Accès refusé

Verte : Accès autorisé

Voici donc le programme :

porte.py :

donc toujours dans le dossier /home/pi/SPI-Py/MFRC522-Pi/

pour être sur

cd /home/pi/SPI-Py/MFRC522-Pi/

Puis on créer le programme porte.py

nano porte.py

Puis copier y le programme ci-dessus (Ctrl a, Crtl c dans l'encadré puis clic droit dans nano et coller)

Et on le lance

python porte.py

On attend une carte, la LED jaune est allumée, le reste éteint:

image non disponible

Carte non valide, la LED rouge s'allume et la jaune s'éteint, délai de 2s, puis on attend une nouvelle carte, LED jaune allumé :

image non disponible

Carte valide, ouverture de porte, la LED verte s'allume, le relais s'active, délai 5 seconde et fermeture de porte, le relais se désactive et la LED verte s'éteint :

image non disponible

L'écran LCD

image non disponible

On le branche ainsi :

On va a installer les outils python :

sudo apt-get install python-dev python-openssl python-pip -y

Puis on installe la librairie RPLCD

sudo pip install RPLCD

Voici un petit programme en exemple :

lcd.py :

Pour les caractères spéciaux, je les fais avec ce site.

Ce qui donne :

image non disponible

L'écran LCD I2C

image non disponible

On le branche ainsi :

Il faut activer le module I2C dans la config du Raspberry

sudo raspi-config

Onglet 5 :

image non disponible

Puis

image non disponible

Une fois le module activé, on ajoute les modules au démarrage:

sudo nano /etc/modules

Et on ajoute ces ligne :

i2c-bcm2708

i2c-dev

comme ceci :

image non disponible

Et on redémarre :

sudo reboot

Une fois le pi redémarré, on installe les outils nécessaires :

sudo apt-get install python-smbus i2c-tools

Puis on va tester la présence de périphérique I2C

sudo i2cdetect -y 0 (pour les pi Rev 1)

sudo i2cdetect -y 1 (pour les pi Rev 2)

Ce qui donne :

image non disponible

Chez moi l'adresse de mon LCD est donc 3f soit 0x3f

On utilise un driver, un fichier python qui regroupe les fonction pour l'écran, j'utilise celui-ci que j'ai trouvé sur la toile :

On modifie dans ce programme l'adresse correspondante à votre écran

I2C_LCD_driver.py :

Et ensuite dans le même répertoire que le driver on créer notre petit programme de test :

i2clcd.py :

Ce qui donne ceci :

image non disponible

Le capteur Ultrason

Il sagit du HC-SRO4 :

image non disponible

On le branche ainsi :

image non disponible

Le petit programme de test :

hcr.py :

Ce qui donne :

image non disponible

Le moteur DC

image non disponible

On a besoin d'un double pont en H, le L293D, qui nous permet de contrôler jusqu' à 2 moteurs.

image non disponible image non disponible

Il faut une alimentation externe pour le moteur, piles ou autres, qui correspond aux caractéristiques de votre moteur bien sur.

Le montage :

image non disponible

Et un petit programme de test:

dc.py :