Table des matières:

Lire et représenter graphiquement les données des capteurs de lumière et de température avec Raspberry Pi : 5 étapes
Lire et représenter graphiquement les données des capteurs de lumière et de température avec Raspberry Pi : 5 étapes

Vidéo: Lire et représenter graphiquement les données des capteurs de lumière et de température avec Raspberry Pi : 5 étapes

Vidéo: Lire et représenter graphiquement les données des capteurs de lumière et de température avec Raspberry Pi : 5 étapes
Vidéo: Tutoriel: Contrôle des GPIO du Raspberry Pi à partir d'une page web 2024, Novembre
Anonim
Lecture et représentation graphique des données du capteur de lumière et de température avec Raspberry Pi
Lecture et représentation graphique des données du capteur de lumière et de température avec Raspberry Pi

Dans ce Instructable, vous apprendrez à lire un capteur de lumière et de température avec raspberry pi et un convertisseur analogique-numérique ADS1115 et à le représenter graphiquement à l'aide de matplotlib. Commençons par le matériel nécessaire.

Fournitures

  1. Raspberry pi (n'importe qui fera l'affaire, même si j'utilise un 4)
  2. Carte MicroSD avec Raspbian installé (bon tuto:
  3. Moniteur HDMI et source d'alimentation
  4. Câble micro-USB
  5. Convertisseur analogique-numérique Adafruit ADS 1115:
  6. Fils de cavalier
  7. capteur de lumière (LDR)
  8. capteur de température
  9. potentiomètre x2 (la valeur sera le point médian de la plage de résistance de vos capteurs de température et de lumière, que nous mesurerons plus tard)
  10. Planche à pain

Étape 1: Configurez votre Raspberry Pi

1. Suivez ce tutoriel pour configurer votre raspberry pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Activer I2C: cliquez sur le symbole raspberry pi en haut à gauche. Allez dans préférences > configuration raspberry pi > interfaces > et cochez la case "activer" sur I2C. Cliquez ensuite sur OK.3. Ouvrez maintenant une fenêtre de terminal. Sur la ligne de commande tapez:

sudo apt-get mise à niveau

sudo pip3 installer adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Étape 2: Mesurez vos capteurs de lumière et de température

Nous allons maintenant devoir mesurer la résistance des capteurs de lumière et de température. Prenez un voltmètre sur le réglage de mesure de la résistance et mesurez les fils de votre capteur de lumière dans la lumière et l'obscurité. Enregistrez les valeurs. Prenez maintenant votre voltmètre sur les fils de votre sonde de température dans le chaud et le froid (j'ai utilisé de l'eau). Enregistrez les valeurs. Nous les utiliserons plus tard dans notre circuit.

Étape 3: câblez votre circuit

Câblez votre circuit
Câblez votre circuit

1. Rassemblez les matériaux énumérés dans la liste des fournitures. Pour les potentiomètres, utilisez une valeur qui est la moyenne des hauts et des bas (clair et sombre, chaud et froid).

(haut-bas) / 2

2. Suivez le schéma de circuit ci-dessus:

  1. Connectez SDA sur le convertisseur analogique-numérique à SDA sur le pi
  2. Connectez SCL sur le convertisseur analogique-numérique à SCL sur le pi
  3. Connectez VDD sur le convertisseur analogique-numérique à 3.3v sur le pi
  4. Connectez GND sur le convertisseur analogique-numérique à la terre sur le pi
  5. Connectez le reste des composants selon le schéma de circuit.

Étape 4: Coder

1. Saisissez la borne:

nano digital.py

2. Collez le code que j'ai ci-dessous ou sur Github dans l'éditeur de texte qui devrait apparaître.

importer matplotlib.pyplot en tant que plt

import numpy as np import board import busio import time import adafruit_ads1x15.ads1115 as ADS from adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C(board. SCL, board. SDA) ads = ADS. ADS1115(i2c) x = 0 light = AnalogIn (annonces, ADS. P0) temp = AnalogIn(annonces, ADS. P1) X1 = X2 = Y1 = Y2 = plt.ylim(-50, 1000) plt.plot(X1, Y1, label = "light", color = '#0069af') plt.plot(X2, Y2, label = "Temp", color = '#ff8000') plt.xlabel('Time(minutes)') plt.ylabel(' Niveau') plt.title('Lumière et température au fil du temps') plt.legend() tandis que True: x += 5 Y1.append(light.value/30) X1.append(x) Y2.append(temp.value /3) X2.append(x) plt.plot(X1, Y1, label = "light", color = '#0069af') plt.plot(X2, Y2, label = "Temp", color = '#ff8000') plt.pause(300)

3. Appuyez maintenant sur CTRL+X pour quitter, appuyez sur y pour enregistrer, puis appuyez sur Entrée.

Exécutez votre programme en tapant dans le terminal:

sudo python3 digital.py

4. Ajustez les potentiomètres de sorte que le graphique affiche une large plage de valeurs. Essayez d'éclairer le capteur et d'éteindre les lumières de la pièce pour vous assurer que le graphique affiche une large plage de valeurs.

Si l'une des valeurs descend en dessous du bas, essayez d'abaisser le diviseur correspondant (lignes 29 et 31).

Si l'une des valeurs dépasse le sommet, essayez d'augmenter le diviseur correspondant (lignes 29 et 31).

Étape 5: Dépannage

1. Vérifiez toutes les connexions par rapport au schéma de circuit

2. Détection I2C - Vous montrera tous les appareils connectés via i2c:

Saisissez la borne:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Conseillé: