Table des matières:
- Fournitures
- Étape 1: Construire votre circuit:
- Étape 2: Programmation de votre Arduino:
- Étape 3: Programmation de Python pour représenter graphiquement des données à partir d'Arduino:
- Étape 4: Programme final pour vérifier l'intensité de la lumière dans une pièce
- Étape 5: Résultat:
Vidéo: Traçage de l'intensité lumineuse à l'aide d'Arduino et de la bibliothèque principale Arduino de Python : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Arduino étant un outil économique mais très efficace et fonctionnel, le programmer dans Embedded C rend le processus de création de projets fastidieux ! Le module Arduino_Master de Python simplifie cela et nous permet d'effectuer des calculs, de supprimer les valeurs parasites et de tracer un graphique pour une représentation visuelle des données.
Si vous ne connaissez pas encore ce module, installez-le à l'aide de la commande pip install Arduino_Master
Ne vous inquiétez pas si vous ne savez pas comment utiliser ce module, visitez ce lien => Arduino_Master
Cependant, le code de ce projet sera toujours disponible dans cette instructable.
Fournitures
Pour ce projet, vous aurez besoin des éléments suivants:
- Un Arduino
- Une résistance dépendante de la lumière (LDR) et
- Python 3 installé sur votre ordinateur.
Étape 1: Construire votre circuit:
Nous utiliserons la broche A1 d'Arduino pour obtenir les données d'entrée. Vous pouvez également utiliser les broches 5V et GND d'Arduino au lieu de la batterie. Faites la connexion comme suit:
- Connectez une extrémité du LDR à la borne positive d'une batterie 5V ou à la broche 5V de l'Arduino.
- Connectez l'autre extrémité du LDR en parallèle à la broche A1 et à la borne négative de la batterie ou à la broche GND d'Arduino.
- Utilisez une résistance pour vous assurer que tout le courant ne circule pas vers le GND, ce qui vous empêcherait d'obtenir un signal suffisamment fort pour être détecté à la borne A1 de l'Arduino. (J'utilise une résistance de 10k ohms).
Étape 2: Programmation de votre Arduino:
Le module Arduino_Master utilise le moniteur série de l'Arduino pour envoyer et recevoir des données. L'avantage d'utiliser ce module est qu'une fois que vous avez programmé votre Arduino, vous pouvez changer le programme python seul pour différents projets puisque la programmation en python est comparativement plus facile !
Code:
// La variable LDR_1 est utilisée pour désigner la broche A1 d'Arduino.
entier LDR_1 = A1;
// Les données reçues de A1 seront stockées dans LDR_Value_1.
float LDR_Value_1;
entrée de chaîne;
void setup()
{ pinMode(LDR_1, INPUT); // LDR_1 est défini comme une broche INPUT. Serial.begin(9600); // Le débit en bauds de la communication est fixé à 9600. }
boucle vide()
{ if(Serial.available()>0) // si une entrée est disponible dans le moniteur série, continuez. { input=Serial.readString(); // Lit l'entrée sous forme de chaîne. if(input=="DATA") { LDR_Value_1=analogRead(LDR_1) * (5.0 / 1023.0); // (5 / 1023) est le facteur de conversion pour obtenir la valeur en Volts. Serial.println(LDR_Value_1); // Si l'entrée est égale à "DONNÉES", alors lisez l'entrée de LDR_1 et imprimez-la sur le moniteur série. } else int i=0; // si l'entrée n'est pas égale à "DATA", ne rien faire ! }
}
Étape 3: Programmation de Python pour représenter graphiquement des données à partir d'Arduino:
Chaque LDR aurait ses propres valeurs de résistance et nous devons nous rappeler que les composants électroniques ne fonctionnent jamais exactement de la même manière. Ainsi, nous devons d'abord trouver la tension à différentes intensités de lumière.
Téléchargez le programme suivant dans votre IDE python et exécutez-le:
Faites cela pour différentes intensités de lumière et en utilisant le graphique, tirez une conclusion, par exemple si l'intensité est inférieure à 1, la pièce est trop sombre. Pour une intensité comprise entre 1 et 2, la pièce est considérablement sombre. Pour une intensité supérieure à 2, la lumière est allumée.
# Importation du module Arduino_Master
à partir de l'importation Arduino_Master *
# la collecte de données
data=filter(ardata(8, squeeze=False, dynamic=True, msg="DATA", lines=30), expect_type='num', limit=[0, 5])
# la limite est fixée à 5 puisque nous utilisons une batterie 5V.
# Tracer les valeurs
Graph(data, stl='dark_background', label='Light Intensity')
Étape 4: Programme final pour vérifier l'intensité de la lumière dans une pièce
Après être arrivé à une conclusion à partir des données que vous avez obtenues, téléchargez le programme suivant et assurez-vous de modifier les limites selon votre conclusion.
# Importation du module Arduino_Master
depuis Arduino_Master import # collecte de données data=filter(ardata(8, squeeze=False, dynamic=True, msg="DATA", lines=50), expect_type='num', limit=[0, 5]) #classifying data basé sur la conclusion info= pour i dans la plage (len(data)): intensité=données si intensité 1 et intensité=2: info.append('Light ON') # Tracer le graphique. compGraph(data, info, stl='dark_background', label1='Light Intensity', label2='State')
Étape 5: Résultat:
Le programme prendrait une minute ou deux à exécuter puisque vous lisez 50 valeurs instantanées d'Arduino.
Si vous souhaitez accélérer le processus, essayez de modifier le paramètre lines de la fonction arddata. Mais rappelez-vous que plus les observations sont faibles, moins la qualité des données sera.
Remarque: Si le graphique complet de la photo ci-dessus n'est pas visible, reportez-vous au graphique au-dessus de la section Introduction.
Conseillé:
Mesure de l'intensité lumineuse à l'aide du BH1715 et du Raspberry Pi : 5 étapes
Mesure de l'intensité lumineuse à l'aide du BH1715 et du Raspberry Pi : Hier, nous travaillions sur des écrans LCD, et en travaillant dessus, nous avons réalisé l'importance du calcul de l'intensité lumineuse. L'intensité lumineuse n'est pas seulement importante dans le domaine physique de ce monde, mais elle a son rôle bien dit dans le biologi
Lampe d'intensité lumineuse Arduino : 3 étapes
Lampe d'intensité lumineuse Arduino : ce circuit peut être utilisé comme une lampe réelle, un projet scolaire et un défi amusant. Ce circuit est facile à utiliser et à réaliser, mais si vous n'avez pas encore utilisé Tinker Cad, vous voudrez peut-être l'essayer d'abord
Calcul de l'intensité lumineuse à l'aide de BH1715 et Arduino Nano : 5 étapes
Calcul de l'intensité lumineuse à l'aide de BH1715 et d'Arduino Nano : Hier, nous travaillions sur des écrans LCD, et en travaillant dessus, nous avons réalisé l'importance du calcul de l'intensité lumineuse. L'intensité lumineuse n'est pas seulement importante dans le domaine physique de ce monde, mais elle a son rôle bien dit dans le biologi
Calcul de l'intensité lumineuse à l'aide du BH1715 et du photon de particules : 5 étapes
Calcul de l'intensité lumineuse à l'aide du BH1715 et du photon de particules : Hier, nous travaillions sur des écrans LCD, et en travaillant dessus, nous avons réalisé l'importance du calcul de l'intensité lumineuse. L'intensité lumineuse n'est pas seulement importante dans le domaine physique de ce monde, mais elle a son rôle bien dit dans le biologi
Comment faire une bibliothèque lumineuse : 6 étapes
Comment faire une lumière de bibliothèque : Il s'agit d'un tutoriel simple expliquant comment faire une lumière de bibliothèque à l'aide du panneau lumineux, de la peinture électrique et du ruban de masquage. Au final, vous aurez une lampe pratique que vous pourrez utiliser pour éclairer votre bibliothèque. Bien sûr, vous pouvez utiliser cette lumière autrement