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

Veilleuse automatique utilisant Arduino

Veilleuse automatique utilisant Arduino - Code, travail et simulation

L'automatisation signifie essentiellement inventer une méthode qui réduit ou élimine les efforts humains. Dans ce tutoriel, nous allons vous expliquer comment automatiser une veilleuse via un simple interfaçage d'Arduino et Relay en utilisant le logiciel Proteus. L'automatisation est le besoin de l'heure car l'application va du contrôle de la chaudière avec un simple thermostat à la gestion d'une grande industrie avec une grande quantité de données d'entrée et de sortie. La complexité de l'automatisation peut varier d'un contrôle de base "marche/arrêt" à des algorithmes multivariables très complexes tels qu'un système d'automatisation industrielle. Les systèmes de contrôle à des fins d'automatisation peuvent être en boucle ouverte ou en boucle fermée, ce qui signifie qu'ils peuvent fonctionner soit avec un seul paramètre d'entrée, soit en réponse à la sortie alimentée en entrée, comme dans le cas des systèmes en boucle fermée.

Comme dans le cas de toute technologie, l'automatisation a aussi ses avantages et ses inconvénients :

Avantages

  1. Augmentation de la productivité
  2. Qualité prévisible (amélioration de la qualité)
  3. Robustesse accrue
  4. Excellente cohérence de sortie
  5. Réduction des dépenses de main-d'œuvre humaine
  6. Très précis
  7. Réduit les efforts humains dans les travaux monotones

Inconvénients

  1. Susceptible aux menaces de sécurité
  2. Les coûts de développement peuvent dépasser les prévisions
  3. Coût d'installation élevé
  4. Cause du chômage dans de nombreux secteurs

Les avantages mentionnés l'emportent de loin sur les inconvénients et c'est pourquoi le monde entier entre dans l'ère de l'automatisation.

Dans ce tutoriel, nous essayons de faire allumer ou éteindre une lampe d'elle-même lorsque le circuit détecte un changement appréciable dans l'intensité de la lumière et pour y parvenir, nous allons utiliser les deux outils les plus couramment utilisés pour l'automatisation, à savoir Arduino et Relay, et l'interfaçage avec la simulation seraient réalisés par le logiciel Proteus.

Composants requis

  1. Arduino UNO
  2. Relais 5 Volts
  3. LDR (résistance dépendante de la lumière)
  4. Résistance 10K Ohms
  5. Transistor BC547
  6. Alimentation CC 5 Volts
  7. Alimentation CA 220 Volts

Logiciel requis

  1. IDE Arduino
  2. Protée

Schéma du circuit de la veilleuse automatique

Description du composant

Arduino UNO

Arduino est essentiellement une carte de développement qui est open source et utilise principalement le microcontrôleur Microchip ATmega328P et est fabriqué par Arduino.cc. La carte est livrée avec un ensemble de broches d'entrée/sortie composées de broches numériques et analogiques qui peuvent être interfacées avec différentes cartes d'extension et circuits externes. La carte est livrée avec 14 broches numériques et 6 broches analogiques qui sont utilisées ou rendues programmables à l'aide d'un IDE (environnement de développement intégré). Le programme est gravé via un câble USB de type B.

Les méthodes de mise sous tension de la carte peuvent être soit par le câble USB, soit en connectant une alimentation 12 volts cc. Du point de vue de la conception et du fonctionnement, il n'est pas trop différent des autres membres de sa famille, à savoir Arduino Nano et Arduino Leonardo.

STK500 est toujours le protocole d'origine pour communiquer avec Uno. La principale différence avec ses prédécesseurs est qu'il n'utilise pas le FTDI (puce de pilote USB-série).

Relais

Le relais est un interrupteur électromagnétique qui peut être actionné électriquement et conçu pour allumer et éteindre les appareils AC/DC. Il peut être contrôlé même avec une basse tension de 5 volts comme la sortie fournie par les broches Arduino. Il se compose d'une bobine avec des contacts métalliques d'un côté (côté basse tension) qui peuvent être magnétisés et démagnétisés pour ouvrir ou fermer le circuit attaché de l'autre côté (côté haute tension). Le côté haute tension est constitué d'un connecteur à 3 prises, à savoir commun (COM), normalement fermé (NC) et normalement ouvert (NO). Le relais est disponible en différentes puissances telles que 12 V, 9 V, 5 V et 3 V.

LDR

LDR (Light Dependent Resistor) est un composant à résistance variable qui peut faire varier sa valeur de résistance avec le changement d'intensité de la lumière et qui fonctionne sur le principe de la photoconductivité. La valeur de la résistance diminue avec l'augmentation de l'intensité de la lumière. Il est utilisé dans les circuits de détection photosensibles et les circuits de commutation activés par la lumière.

LDR est composé d'un semi-conducteur à haute résistance qui a une résistance en méga ohms en l'absence de lumière tandis que plusieurs centaines d'ohms en présence de lumière.

BC547 – Transistor NPN

Un transistor est essentiellement un dispositif à semi-conducteur utilisé pour amplifier ou commuter des signaux électroniques et de l'alimentation. Il est composé d'un matériau semi-conducteur et dispose de 3 bornes pour se connecter à un circuit externe. Dans ce circuit, nous avons utilisé BC547 qui est un transistor à jonction bipolaire NPN.

Une petite valeur de courant à sa borne de base contrôle une grande valeur de courant à ses bornes d'émetteur et de collecteur. Une tension continue fixe est nécessaire aux bornes du transistor pour fonctionner dans la région souhaitée de ses courbes caractéristiques. Le transistor, lorsqu'il est utilisé à des fins d'amplification, est maintenu polarisé de sorte qu'il est partiellement activé pour toutes les entrées et que le signal de sortie amplifié est pris au niveau de l'émetteur. Pour les applications de commutation, le transistor est polarisé de sorte qu'il reste complètement activé si le signal à la borne de base est présent et qu'il devient complètement désactivé en l'absence de signal de base.

Notes

Description du logiciel

Protée

La suite de conception Proteus appartient à la catégorie des logiciels propriétaires utilisés pour effectuer l'automatisation de la conception électronique. Ce logiciel est très pratique pour les ingénieurs en conception électronique et les techniciens respectifs dans le but de créer des schémas et des impressions sous forme électronique appelée mise en page PCB. Le logiciel a été développé dans le Yorkshire, en Angleterre par Labcenter Electronics Ltd. et est livré avec un support multilingue qui sont l'anglais, le français, l'espagnol et le mandarin.

Il est mis à jour régulièrement avec de nouvelles bibliothèques composées de composants avancés à intervalles réguliers et peut être facilement ajouté à la liste existante des bibliothèques.

Ce logiciel est largement utilisé en raison de sa capacité à simuler les circuits ou les micro-contrôleurs. La simulation aide à comprendre le fonctionnement et les tests du circuit conçu sans même utiliser les composants physiques. Son interface utilisateur donne également un avantage sur les autres logiciels du marché. Plus de 15 millions de composants sont disponibles dans la section bibliothèque afin que les utilisateurs ne perdent pas de temps à créer des empreintes ou des composants.

IDE Arduino

Arduino IDE est un logiciel qui peut être utilisé sur différentes plates-formes. Par conséquent, il s'agit d'une application multiplateforme et a été développée à l'aide du langage de programmation java. Il a pour objectif d'écrire le croquis et de le télécharger sur des cartes compatibles Arduino. Les langages supportés sont C et C++ qui sont un peu modifiés et dépendent de la bibliothèque utilisée. Diverses bibliothèques sont fournies dans le logiciel et d'autres bibliothèques peuvent être téléchargées à partir de fournisseurs tiers. L'IDE utilise un programme appelé avrdude pour convertir le code en un fichier avec un codage hexadécimal qui est chargé sur la carte à l'aide d'un programme de chargement préinstallé dans le micrologiciel de la carte.

Code du projet

Explication du code

Tout d'abord, nous définissons deux variables globales de type entier. Variable analogIN est utilisé pour désigner une broche analogique qui recevra la valeur analogique du circuit et la deuxième variable déclencheur désigne une broche numérique qui fournira une sortie de déclenchement de tension suffisante.

int analogIN =A3 ;

int Déclencheur =12 ;

Le débit en bauds est défini sur 9 600 bits/s, ce qui représente le débit de transmission des données. La fonction pinMode() est utilisée pour définir l'état de la broche. Ici, nous définissons la broche 12 comme sortie et la broche A3 comme entrée. Toutes ces instructions sont écrites dans la fonction void setup() et ne s'exécuteraient qu'une seule fois pendant toute la période d'exécution.

annuler la configuration()

{

  Serial.begin(9600);

  pinMode(analogIN, INPUT);

  pinMode(Trigger, OUTPUT);

}

Selon le schéma de circuit, nous devons lire une donnée particulière qui se présente sous la forme d'une valeur analogique à partir de la broche A3. Pour cette tâche spécifique, nous avons utilisé la fonction analogRead() parce que l'entrée générée par le circuit est une valeur analogique, c'est la raison de l'utilisation de la broche analogique et de la fonction analogique.

Maintenant, nous obtenons cette valeur analogique de la broche analogique A3, puis stockons sa valeur dans la variable "valeur".

Cette variable contiendra une valeur entière qui sera comprise entre 0 et 1234 et variera en fonction de l'entrée analogique. Il s'agit de la valeur ADC 10 bits car Arduino est livré avec un convertisseur ADC 10 bits.

La valeur stockée dans la variable "value" est utilisée pour exécuter l'opérateur conditionnel (if-else). Grâce à cet opérateur, nous définissons l'état du déclencheur de broche numérique sur HAUT ou BAS pour allumer et éteindre la lampe. Le principal avantage de l'impression des données stockées dans la variable "valeur" est que nous pouvons associer l'intensité lumineuse à une valeur particulière et allumer la lampe à une intensité lumineuse souhaitée.

Le code qui est présent dans la fonction "void loop()" s'exécutera à plusieurs reprises jusqu'à ce que l'Arduino soit alimenté. Ainsi, pour s'assurer que le projet est en état de marche à tout moment, il faut s'assurer de fournir une alimentation 24h/24 et 7j/7 à l'Arduino Uno utilisé ici.

void loop() {

  int value =analogRead(analogIN);

  Serial.println(value);

si (valeur < 692)

  {

    digitalWrite(Trigger, HIGH);

    Serial.println("la lampe est allumée");

  }

 autre {

    digitalWrite(Trigger, LOW);

    Serial.println("la lampe est éteinte");

  }

 }

Comment obtenir l'emplacement du fichier hexadécimal du code ?

Dans votre IDE Arduino, cliquez sur Fichier>Préférences, puis dans "Afficher la sortie détaillée", cochez à la fois les options de compilation et de téléchargement et lors de la compilation du code dans la fenêtre ci-dessous, sélectionnez et copiez l'emplacement du fichier hexadécimal et dans Proteus, double-cliquez sur Arduino et collez l'emplacement du fichier dans l'option Fichier programme et cliquez sur OK. Votre circuit sera maintenant prêt pour la simulation.

Vidéo de simulation

Bientôt disponible

Fonctionnement du circuit de la lampe de nuit

Nous allons maintenant discuter du fonctionnement du circuit, ici nous avons utilisé une alimentation 5V DC (5V d'Arduino) et connecté une résistance de 10k ohm et un LDR dans un circuit diviseur de tension. La tension qui peut être prise à travers la résistance ou le LDR et introduite dans la broche analogique de l'Arduino, la broche A3 dans ce cas.

Avec l'aide du code mentionné ci-dessus, la carte pourra détecter l'entrée analogique qui lui est fournie. Cette valeur lue est en accord avec l'intensité de la lumière qui est détectée par le LDR.

Alors que nous pouvons vérifier la valeur à venir sur le moniteur série pour calibrer le circuit en fonction de l'intensité de la lumière. Par conséquent, nous pouvons modifier la condition dans l'instruction conditionnelle fournie dans le code pour allumer et éteindre la lampe à une intensité de lumière souhaitée, la rendant ainsi dynamique.

Maintenant, lorsque l'instruction conditionnelle est satisfaite, c'est-à-dire que l'intensité lumineuse tombe en dessous de la valeur que vous avez fournie (sous forme équivalente ADC), la carte générera une sortie « ÉLEVÉE » à la broche 12 Par "ÉLEVÉ", on entend qu'il produit une sortie de 5 V en tant que broche 12.

Dans ce cas, une tension suffisante est développée à la base du transistor et le transistor commence à conduire. En conséquence, le courant commence à circuler dans les bobines du relais et il s'allume, ce qui signifie que la borne NO est commutée dans un état actif auquel le circuit de la lampe a été connecté et à la fin du circuit, la lampe s'allume. ”.

La lampe s'éteint lorsque la condition d'autre dans le code devient vraie, c'est-à-dire que l'intensité de la lumière augmente à partir de la valeur de seuil que nous avons fournie. Par conséquent, la sortie à la broche 12 devient "LOW" et ensuite le relais est éteint, ce qui éteint la lampe.

Conclusion :

Nous voulons tous faciliter notre style de vie, et voici ce que fait la veilleuse automatique. Vous n'avez même pas besoin d'allumer ou d'éteindre la veilleuse. Comme il s'allume et s'éteint automatiquement en fonction de l'intensité des chutes de lumière. Lorsqu'il fait jour, la lampe reste éteinte alors qu'il s'assombrit au-dessus du capteur, la lampe s'allume. Le projet vous aidera à concevoir le même, en utilisant des composants électroniques de base. Nous avons également expliqué le code afin qu'il ne vous soit pas difficile de démarrer avec l'Arduino.

Projets associés :


Technologie industrielle

  1. Comment les fabricants utilisent l'automatisation pour gérer le boom du commerce électronique
  2. Créer un moniteur Ambilight à l'aide d'Arduino
  3. Voltmètre DIY utilisant Arduino et Smartphone
  4. Moniteur de fréquence cardiaque utilisant l'IoT
  5. WebServerBlink avec Arduino Uno WiFi
  6. Jeu Dino automatisé utilisant arduino
  7. Radio FM utilisant Arduino et RDA8057M
  8. BLUE_P :Bouclier de programmation Arduino sans fil
  9. Comment fonctionnent les changeurs d'outils automatiques ?