GPIO et Python (7/9) – Capteur de température

Dans ce projet, vous apprendrez comment câbler et programmer un capteur de température. Voyons à quel point la pièce est chaude.

Choses dont vous aurez besoin:

Carte SD Raspberry Pi +
Clavier + souris
Moniteur + câble HDMI
Source de courant
Planche à pain
1x LED rouge
1x LED bleue
2x 330? Résistance
5x fils de pontage M / M
7x fils de pontage M / F
1x bouton
1x buzzer
1x capteur de température DS18B20
1x 4k7? Résistance

Conditions préalables:

Dernière version de Rasbian installée sur votre carte SD
Configuration du Raspberry Pi avec un clavier, une souris et un moniteur

blank

1. Nous devons d’abord activer I2C sur notre Raspberry Pi. Nous le faisons en ouvrant
le menu raspi-config.

sudo raspi-config

blank

2. Nous devons ensuite aller dans le menu Options d’interfaçage.

blank

3. Sélectionnez I2C puis Oui pour l’activer.

blank

4. Ensuite, nous devons activer la bibliothèque I2C à 1 fil. Pour ce faire, nous devons modifier le fichier de démarrage config.txt

 sudo nano /boot/config.txt

5. Faites défiler vers le bas du fichier et ajoutez la ligne suivante:

dtoverlay=w1-gpio

blank

6. Redémarrez maintenant

 sudo reboot

7. Remplacez le répertoire actuel par notre répertoire gpio_python_code:

cd gpio_python_code

blank

8. Créez un fichier pour notre script de température:

touch 7_temperature.py

blank

9. Modifiez le script 7_temperature.py à l’aide de nano 7_temperature.py et ajoutez le code suivant:

#!/usr/bin/python
import glob
from time import sleep
base_dir="/sys/bus/w1/devices/"
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
def read_temp_raw():
    f = open(device_file, 'r')
    lines = f.readlines()
    f.close()
    return lines
def read_temp():
    lines = read_temp_raw()
    while lines[0].strip()[-3:] != 'YES':
        sleep(0.2)
        lines = read_temp_raw()
    equals_pos = lines[1].find('t=")
    if equals_pos != -1:
        temp_string = lines[1][equals_pos+2:]
        temp_c = float(temp_string) / 1000.0
        temp_f = temp_c * 9.0 / 5.0 + 32.0
        return temp_c, temp_f
while True:
    print(read_temp()) 
    sleep(1)

blank

10. Exécutez votre script 7_temperature.py

sudo python 7_temperature.py

blank

Articles similaires

Bouton retour en haut de la page
Fermer