Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Périphériques Arduino et AC - Lumières automatiques

Composants et fournitures

Arduino UNO
× 1
Lampe à économie d'énergie
× 1
Adaptateur CC 5 V
× 1
Câbles de raccordement (générique)
× 1
Relais (générique)
× 1
Pièces électroniques UTSOURCE
× 1

Outils et machines nécessaires

Tournevis

Applications et services en ligne

Microsoft Visual Studio 2015
Arduino IDE

À propos de ce projet

Lumières de maison intelligentes

Dans ce projet, nous apprendrons à utiliser le relais avec capteur à ultrasons et Arduino pour rendre nos lumières domestiques (ou tout autre appareil) plus intelligentes.

Notre objectif est de faire en sorte qu'une ampoule à économie d'énergie s'éteigne lorsque vous sortez de la pièce et s'allume lorsque vous y rentrez. C'est tellement facile à mettre en œuvre et prend peu de temps.

Ce tutoriel suppose de base Connaissances Arduino. Si vous avez déjà utilisé Arduino, vous êtes prêt à partir.

Attention :ce projet utilise une alimentation AC haute tension, si vous avez moins de 16 ans ou n'avez pas assez d'expérience vous devez avoir une personne expérimentée pour vous aider avec la partie AC.

Cependant, vous pouvez réaliser le projet à l'aide d'appareils à courant continu qui fonctionnent à basse tension et prouveront le même concept. J'énoncerai clairement l'avertissement lorsqu'il commencera à être dangereux.

Composants

1) Arduino Uno

2) Multimètre

3) Cavaliers

4) Planche à pain

5) Module réel

6) Capteur à ultrasons (HC-SR04) et bibliothèque à ultrasons pour l'Arduino, vous pouvez le trouver ici, c'est ce qu'on appelle la bibliothèque (New Ping), si c'est la première fois que vous installez une bibliothèque externe sur l'Arduino, vérifiez ce lien.

7) Source d'alimentation CC (en option)

8) Tournevis (+ type pour le module relais)

9) Ampoule à économie d'énergie avec son support et sa prise murale attachés (j'ai utilisé un vieux câble d'alimentation radio pour obtenir la prise).

J'ai également utilisé un pistolet à colle pour fixer les extrémités des fils, vous devez utiliser un ruban isolant.

10) Visual Studio pour écrire du code Arduino, vous voulez savoir comment ? consultez ce lien, il est totalement gratuit ou vous pouvez utiliser l'IDE Arduino.

Commençons.

Préparation des ultrasons

Tout d'abord, nous saurons comment attacher le capteur à ultrasons à l'Arduino qui est illustré dans l'image ci-dessous, nous décrirons plus tard comment tester le capteur à ultrasons.

Le module relais

Ensuite, nous allons connecter un canal du module relais (comme celui que j'ai a 2 canaux), la broche Vcc va à 5v et l'IN1 va à Arduino Pin 8 (ou n'importe quelle broche de votre choix).

Il convient de noter que mon module relais est actif-bas, pour savoir quelle est la différence entre actif-bas et actif-haut, vérifiez ce lien. Donc, avant de continuer, vous devez connaître le mode actif de votre relais, pour ce faire, connectez simplement le Vcc et GND normalement, puis connectez la broche IN à 5V si rien ne se passe, il est actif bas pour vous assurer de connecter la broche IN à GND.

La lampe

Ensuite, préparez la lampe à brancher à la prise murale et le relais un terminal sera connecté directement à la prise, l'autre aura une coupure au milieu du chemin, une extrémité de la coupure ira à la normalement ouverte broche (NO1 ) dans le module relais, l'autre ira à la broche COM1 puis à la prise.

Le circuit final devient ( La lampe est simplifiée :) )

Nous en avons maintenant terminé avec le matériel.

Le code fait ce qui suit

  • Mesure la distance par rapport aux ultrasons
  • Vérifie si quelqu'un est passé par la porte
  • Commute l'état de la lumière

Lecture des valeurs à partir des ultrasons

Essayons maintenant le capteur à ultrasons, c'est l'exemple de ta bibliothèque, c'est très simple et direct car il imprime simplement la distance qu'il lit.

Vous pouvez obtenir la distance en centimètres ou en pouces à l'aide de (sonar est le nom de l'instance ultrasonique).

sonar.ping_cm();
// Ou
sonar.ping_inch();

Comme nous pouvons le voir, il définit également les broches du capteur à ultrasons et la plage maximale souhaitée.

Malheureusement, le capteur à ultrasons lit parfois une distance erronée de temps en temps.

Ce qui peut garder la lumière allumée et éteinte par inadvertance, pour résoudre ce problème, nous devons obtenir un certain nombre de lectures et sélectionner leur moyenne, une autre façon de le résoudre est d'utiliser le filtre médian qui prend simplement un certain nombre de lectures, les trie dans un tableau et sélectionne la valeur au milieu qui est si cool pour supprimer le bruit s'il se produit fréquemment.

Heureusement, la bibliothèque NewPing a implémenté ce filtre dans une fonction appelée

sonar.ping_median(unsigned byte numReadings); 

Vous transmettez simplement le nombre de lectures que vous souhaitez considérer comme un échantillon maximum de 512 car elles utilisent octet non signé .

cette fonction renvoie le temps que l'écho utilisé pour rebondir qui doit être converti dans l'unité de longueur que vous utilisez, cela est également facilement implémenté dans la bibliothèque en utilisant

sonar.convert_cm(unsigned int echoTime);
// Ou
sonar.convert_in(unsigned int echoTime);

Le dernier hic à propos de l'ultrason est qu'il lit 0 s'il n'y a rien devant lui , ceci est simplement résolu en lui disant de définir la distance sur MAX_DISTANCE s'il lit 0, enfin le code de lecture du capteur devient ( la distance est une variable globale ) :

Détecter que quelque chose est passé

Commençons maintenant à coder, pour savoir que quelqu'un est passé par les ultrasons doit lire une distance critique qui peut être simplement la moitié de la largeur de la porte. nous sommes donc toujours sûrs que quelqu'un passe la porte.

Une autre chose que je veux garder à l'esprit est que la lumière sera uniquement interrupteur lorsque quelque chose est passé devant l'ultrason, cela signifie que si quelqu'un reste immobile devant lui, rien ne se passera. Le code pour ce faire est le suivant

Toutes nos félicitations !! vous avez maintenant terminé, je vais attacher l'ensemble du projet Visual Studio car j'ai apporté une petite modification à la bibliothèque (utilisation de l'allocation de mémoire dynamique au lieu de tableaux de taille variable -car Visual Studio ne le permet pas-) et ajouté de la documentation.

Découvrez les composants électroniques sur utsource.net

Merci de respecter ce projet si vous le trouvez utile, d'autres projets :

Mélangeur de couleurs Arduino

Voiture RC utilisant 1Sheeld

Articles

Développement d'Arduino avec Visual Studio

Code

  • Lumière de maison intelligente
  • Test aux ultrasons
Smart House LightArduino
Ce code prend la lecture d'entrée de l'ultrason et contrôle le relais en conséquence
#define TRIGGER_PIN 12 // Broche Arduino liée à la broche de déclenchement sur le capteur à ultrasons.#define ECHO_PIN 11 // Broche Arduino liée à la broche d'écho sur le capteur à ultrasons. .#define MAX_DISTANCE 200 // Distance maximale pour laquelle nous voulons effectuer un ping (en centimètres). La distance maximale du capteur est évaluée à 400-500 cm. [il s'agit d'un nombre arbitraire]#define RELAY_LINE1_PIN 8#include "NewPing.h"NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Configuration NewPing des broches et distance maximale.unsigned int critic_distance_cms =50; // Distance de coupure à laquelle la lumière s'allumera [il s'agit d'un nombre arbitraire]bool state =0;void setup() { Serial.begin(9600); // Ouvrez le moniteur série à 115200 bauds pour voir les résultats du ping. pinMode(RELAY_LINE1_PIN, SORTIE); digitalWrite(RELAY_LINE1_PIN, HAUT); // Éteindre la lumière}void loop() { delay(50); // Attendre 50ms entre les pings (environ 20 pings/sec). 29 ms devrait être le délai le plus court entre les pings. unsigned int distance =readDistance(); // Distance actuelle de tout objet face au capteur à ultrasons Serial.print("Ultrasonic:"); Serial.print(distance); // Envoyer un ping, obtenir la distance en cm et imprimer le résultat (0 =en dehors de la plage de distance définie) Serial.println("cm"); // Quelqu'un est près de la porte if (distance  
Test aux ultrasonsArduino
Le code pour que l'ultrason imprime la valeur qu'il lit
// ----------------------------------- -----------------------------------------------------// Exemple d'esquisse de bibliothèque NewPing qui fait un ping environ 20 fois par seconde.// ------------------------------------------ ---------------------------------#include #define TRIGGER_PIN 12 // Broche Arduino liée à broche de déclenchement sur le capteur à ultrasons.#define ECHO_PIN 11 // Broche Arduino liée à la broche d'écho sur le capteur à ultrasons.#define MAX_DISTANCE 200 // Distance maximale pour laquelle nous voulons effectuer un ping (en centimètres). La distance maximale du capteur est évaluée à 400-500 cm. Nouveau sondeur Ping (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Configuration NewPing des broches et configuration distance.void maximale () { Serial.begin (115200); // Ouvrez le moniteur série à 115200 bauds pour voir les résultats du ping.}void loop() { delay(50); // Attendre 50ms entre les pings (environ 20 pings/sec). 29 ms devrait être le délai le plus court entre les pings. Serial.print("Ping:"); Serial.print(sonar.ping_cm()); // Envoyer un ping, obtenir la distance en cm et imprimer le résultat (0 =en dehors de la plage de distance définie) Serial.println("cm");}
Lumières intelligentes de la maison
Ceci est le projet complet pour Visual Studio avec la bibliothèque éditéehttps://github.com/shakram02/Arduino_SmartHouseLights.git

Schémas

Ceci est le circuit complet décrivant l'ensemble du projet

Processus de fabrication

  1. Détecteur de langage TinyML basé sur Edge Impulse et Arduino
  2. Jeu de gyroscope Arduino avec MPU-6050
  3. Dés numériques Arduino
  4. Enregistreur de données de température et d'humidité
  5. Système d'arrosage automatique des plantes avec Arduino
  6. Trouvez-moi
  7. Chaussures intelligentes (laçage automatique et génération d'électricité)
  8. Sonar utilisant arduino et affichage lors du traitement de l'IDE
  9. Joyeux anniversaire :lumières et sons