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

Jardin intérieur Arduino

Composants et fournitures

Arduino Nano R3
× 1
Dongle Bluetooth vers USB mbientLab
× 1
JLCPCB PCB personnalisé
× 1

À propos de ce projet

Jardiner à l'ère moderne signifie rendre les choses plus compliquées et ardues, avec des électrons, des bits et des octets. Combiner microcontrôleurs et jardinage est une idée très populaire. Je pense que c'est parce que les jardins ont des entrées et des sorties très simples qui sont faciles à comprendre. Je suppose que les gens (moi y compris) voient un passe-temps notoirement simple et détendu et ne peuvent s'empêcher de se sentir obligés de le compliquer à l'excès.

Dans ce projet, je vais vous montrer comment créer une version plus simple du jardin intérieur à l'aide d'une carte de développement Arduino .

Je vous donne un guide complet étape par étape pour vous montrer comment créer votre propre beau jardin, et j'explique en détail les parties matérielles et logicielles afin de transformer ce guide de la manière la plus simple qui vous amène à essayer votre propres compétences en fabrication électronique. Ce projet est si pratique à réaliser spécialement après avoir obtenu le PCB personnalisé que nous avons commandé à JLCPCB pour améliorer l'apparence de notre voiture et il y a également suffisamment de documents et de codes dans ce guide pour vous permettre de créer votre système de jardinage automatique.

Nous avons réalisé ce projet en seulement 7 jours, seulement trois jours pour terminer la fabrication du matériel et l'assemblage, puis 4 jours pour préparer le code et l'application Android. afin de contrôler le jardin à travers elle. Avant de commencer, voyons d'abord

Ce que vous apprendrez de ce tutoriel :

  • Choisir les bons composants en fonction des fonctionnalités de votre projet
  • Faire le circuit pour connecter tous les composants choisis
  • Assemblez toutes les pièces du projet et commencez les tests
  • À l'aide de l'application Android. pour se connecter via Bluetooth et commencer à manipuler le système

Étape 1 :Qu'est-ce qu'un jardin intérieur !

La plupart des plantes ont des besoins simples. Au fur et à mesure que les invités vont, ils sont relativement peu exigeants. Il n'y a que trois choses de base que vous devez comprendre avant de décider d'inviter une plante à la maison :la lumière, l'eau et l'air. Si vous maîtrisez ces quatre éléments, du point de vue d'une plante, vous pouvez créer un jardin d'intérieur à peu près n'importe où dans le monde et à n'importe quelle saison de l'année.

  • Lumière - La plupart des plantes de jardin ont besoin d'au moins six heures de lumière par jour. Mais il faut que la lumière soit bonne. Si vous mettez votre main devant la fenêtre et qu'elle ne projette pas d'ombre, il y a de fortes chances que la lumière ne soit pas suffisante pour que la plupart des plantes vivent une vie heureuse. Cependant, vous pouvez toujours compléter les conditions de faible luminosité avec des lampes de culture. Si vous avez une lumière naturelle modeste dans votre maison et que vous ne voulez pas vous soucier d'un éclairage spécial, tenez-vous-en aux plantes qui ont normalement besoin de conditions de faible luminosité ou essayez de déplacer votre jardin vers un rebord de fenêtre ensoleillé.
  • Eau - Les plantes ont besoin de conditions proches de celles de leurs habitats naturels. Une plante qui habite le désert aura besoin d'arrosages moins fréquents qu'une plante qui vit dans une tourbière. Savoir quelles conditions d'eau une plante préfère est une bonne première étape pour garder un jardin intérieur réussi. C'est plus facile que vous ne le pensez car les plantes elles-mêmes vous donneront souvent des indices. Les plantes à feuilles caoutchouteuses épaisses sont des accumulatrices d'eau et peuvent généralement survivre avec moins d'eau que les plantes à feuilles fines et délicates. Si vous détestez arroser vos plantes, choisissez des variétés qui peuvent prospérer avec moins, ou choisissez des pots de plantes avec des réservoirs cachés pour réduire vos corvées d'arrosage.
  • Aérien - En tant que sous-produit de la photosynthèse, les plantes produisent de l'oxygène et filtrent les gaz nocifs, comme le formaldéhyde, de votre environnement domestique via leurs feuilles. Pour garder les plantes en bonne santé, vous devez garder leurs feuilles propres et garder l'air autour d'elles en mouvement et humide. Pour ce faire, vous pouvez les placer dans un endroit bien aéré ou leur fournir un petit ventilateur.

Je vais créer un système basé sur Arduino pour superviser l'état de la température et de l'humidité de mon usine et fournir automatiquement ses besoins nécessaires comme l'intensité lumineuse, l'eau et l'air frais pur et pour ce faire, j'ai besoin de capteurs pour contrôler certains actionneurs. Par exemple, je contrôlerai l'intensité lumineuse en fonction des signaux reçus du capteur de luminosité de la même manière pour l'arrosage. J'ai utilisé un capteur d'humidité pour allumer et éteindre une pompe à eau et un capteur de température/humidité pour allumer et éteindre un ventilateur 12V DC .

Étape 2 : Capteurs et actionneurs

La réalisation de ce système consiste à assembler des capteurs et des actionneurs afin d'accéder aux données physiques autour de l'usine et de pouvoir trouver quelle chose est demandée par l'usine et quand devez-vous la fournir.

C'est la raison pour laquelle vous devez utiliser certains capteurs et actionneurs tous connectés à une seule carte Arduino :

Capteurs

  • Capteur de lumière BH1750 :BH1750FVI est un capteur de lumière numérique, qui est un circuit intégré de capteur de lumière ambiante numérique pour l'interface de bus I2C. Ce circuit intégré est le plus approprié pour obtenir les données de lumière ambiante pour ajuster la puissance de rétroéclairage de l'écran LCD et du clavier du téléphone portable. Il est possible de détecter une large plage à haute résolution. (1 - 65535 lx).
  • Capteur d'humidité du sol :les capteurs d'humidité qui mesurent la résistance ou la conductivité à travers la matrice du sol entre deux contacts sont essentiellement des déchets. Tout d'abord, la résistance n'est pas un très bon indicateur de la teneur en humidité, car elle dépend fortement d'un certain nombre de facteurs qui peuvent varier d'un jardin à l'autre, notamment le pH du sol, les solides dissous dans l'eau et la température. Deuxièmement, la plupart d'entre eux sont de mauvaise qualité avec des contacts qui se corrodent facilement. Dans la plupart des cas, vous seriez chanceux d'en avoir un pour toute une saison.
  • Capteur de température et d'humidité :le DHT11 est un capteur de température et d'humidité numérique de base et ultra-économique. Il utilise un capteur d'humidité capacitif et une thermistance pour mesurer l'air ambiant et crache un signal numérique sur la broche de données (aucune broche d'entrée analogique n'est nécessaire). C'est assez simple à utiliser, mais nécessite un timing minutieux pour récupérer les données. Le seul véritable inconvénient de ce capteur est que vous ne pouvez en obtenir de nouvelles données qu'une fois toutes les 2 secondes. Ainsi, lorsque vous utilisez notre bibliothèque, les lectures du capteur peuvent remonter jusqu'à 2 secondes.

Actionneurs

  • LED blanche claire :une diode électroluminescente (LED) est une source lumineuse à semi-conducteurs à deux fils. C'est une diode à jonction p-n qui émet de la lumière lorsqu'elle est activée.[5] Lorsqu'une tension appropriée est appliquée aux conducteurs, les électrons sont capables de se recombiner avec des trous d'électrons à l'intérieur de l'appareil, libérant de l'énergie sous forme de photons.
  • Pompe à eau :Une pompe est un appareil qui déplace des fluides (liquides ou gaz), ou parfois des boues, par action mécanique. Les pompes peuvent être classées en trois groupes principaux selon la méthode qu'elles utilisent pour déplacer le fluide :pompes à levage direct, à déplacement et à gravité. Les pompes fonctionnent par un mécanisme (généralement alternatif ou rotatif) et consomment de l'énergie pour effectuer un travail mécanique en déplaçant le fluide. Les pompes fonctionnent via de nombreuses sources d'énergie, y compris le fonctionnement manuel, l'électricité, les moteurs ou l'énergie éolienne, disponibles dans de nombreuses tailles, des microscopiques pour une utilisation dans des applications médicales aux grandes pompes industrielles.
  • Ventilateur de refroidissement DC 12V :il est important de comprendre les techniques de refroidissement qui peuvent être utilisées pour préserver la vie de votre plante en déplaçant l'air frais autour de la plante lorsqu'il est nécessaire de maintenir la plante dans des conditions saines.

Étape 3 : La fabrication du PCB (produit par JLCPCB)

À propos de JLCPCB

JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.), est la plus grande entreprise de prototypes de PCB en Chine et un fabricant de haute technologie spécialisé dans la production de prototypes rapides de PCB et de petits lots de PCB.

Avec plus de 10 ans d'expérience dans la fabrication de PCB, JLCPCB a plus de 200 000 clients dans le pays et à l'étranger, avec plus de 8 000 commandes en ligne de prototypage de PCB et de production de PCB en petite quantité par jour. La capacité de production annuelle est de 200 000 m². pour divers circuits imprimés à 1 couche, 2 couches ou multicouches. JLC est un fabricant professionnel de circuits imprimés doté d'équipements de puits à grande échelle, d'une gestion stricte et d'une qualité supérieure.

Retour à notre projet

Afin de produire le PCB, j'ai comparé les prix de nombreux producteurs de PCB et j'ai choisi JLCPCB les meilleurs fournisseurs de PCB et les fournisseurs de PCB les moins chers pour commander ce circuit. Tout ce que je dois faire, c'est quelques clics simples pour télécharger le fichier gerber et définir certains paramètres comme la couleur et la quantité d'épaisseur du PCB, puis j'ai payé seulement 2 dollars pour obtenir mon PCB après 3 jours seulement et j'ai remarqué qu'il est des offres de livraison gratuite de temps en temps sur cette plate-forme de commande en ligne.

Vous pouvez obtenir le fichier Circuit (PDF) ici.

Comme vous pouvez le voir sur les images ci-dessus, le PCB est très bien fabriqué et j'ai la même forme de feuille de PCB que nous avons conçue et toutes les étiquettes et logos sont là pour me guider pendant les étapes de soudure.

Étape 4 :Ingrédients

Passons maintenant en revue les composants nécessaires pour ce projet et vous pouvez trouver tous les liens connexes pour une commande en ligne, nous aurons donc besoin de :

  • - Le PCB que nous avons commandé chez JLCPCB
  • - Arduino Nano :http://amzn.to/2C7g0YW
  • - Module ESP01 :http://amzn.to/2CCRVdL
  • - Module Bluetooth HC-05 ou HC-06 :http://amzn.to/2CCRVdL
  • - Capteur de luminosité BH1750 :http://amzn.to/2CCRVdL
  • - Capteur de Température &Humidité :http://amzn.to/2CCRVdL
  • - Capteur d'humidité :http://amzn.to/2CCRVdL
  • - Pompe à eau :http://amzn.to/2CCRVdL
  • - Ventilateur 12V dc :http://amzn.to/2CCRVdL
  • - LED blanches :http://amzn.to/2CCRVdL
  • - Quelques connecteurs d'en-tête :http://amzn.to/2CCRVdL-

Étape 5 :L'assemblage

Afficher les 9 éléments

Nous sommes prêts maintenant alors commençons à souder les composants et n'oubliez pas de suivre les étiquettes pour éviter les erreurs de soudure. Nous commençons par souder le connecteur Arduino pour tester l'alimentation et vous pouvez également écrire un code de test de base pour vérifier la bonne connexion pour chaque capteur comme le capteur de lumière et c'est la même chose pour les LED car elles sont toutes connectées directement à la carte (Arduino ) pour que vous y ayez un accès complet.

Remarque :Vous devez garder votre fer à souder bien propre. Cela signifie l'essuyer sur l'éponge chaque fois que vous l'utilisez. La pointe de votre fer à souder doit être propre et brillante. Chaque fois que vous voyez la pointe se salir avec du flux ou s'oxyder, cela signifie qu'elle perd de sa brillance, vous devez la nettoyer. Même si vous êtes en train de souder. Avoir une panne à souder propre facilite BEAUCOUP le transfert de chaleur vers la cible à souder.

Le PCB que nous avons commandé à JLCPCB vous guidera pour que tout soit au bon emplacement, alors n'hésitez pas à visiter ce lien si vous souhaitez voir le PCB que nous avons fabriqué et passer une commande en ligne.

Comme vous pouvez le voir, l'utilisation de ce PCB est si pratique en raison de sa qualité et toutes les étiquettes qui s'y trouvent vous fournissent les meilleurs conseils, vous serez donc sûr à 100% que vous ne ferez aucune erreur de soudure.

J'ai soudé chaque composant à son emplacement et vous pouvez utiliser les deux côtés du PCB pour souder vos pièces électroniques.

Maintenant nous avons le PCB prêt et tous les composants très bien soudés, après cela j'ai préparé ce design pour faire une découpe laser CNC afin d'insérer la partie électronique et l'usine dans un seul support, donc si vous voulez faire le même design que le mien trouve les fichiers (DXF) ici

Étape 6 :L'application Android.

Cette application vous permettra de vous connecter à votre Arduino via Bluetooth, et en utilisant le mode manuel, vous pouvez avoir accès aux ventilateurs, aux lumières et aussi à la pompe à eau pour le contrôle ON et OFF, sans oublier les capteurs que vous pouvez lire les données par en appuyant sur le bouton « obtenir des données » et toutes les données appropriées seront affichées sur l'écran de votre smartphone.

Vous pouvez obtenir cette application Android gratuitement à partir de ce lien

Étape 7 : le code Arduino et la validation du test

le code est disponible et comme d'habitude vous pouvez le télécharger à partir de ce lien. Et comme vous pouvez le voir sur les photos, le code est si simple et très bien commenté pour que vous puissiez le comprendre vous-même.

Comme vous pouvez le voir les gars chaque bouton a une fonctionnalité avec le système mais ce que j'apprécie vraiment c'est le mode automatique pour le contrôle de la luminosité de la lumière J'ai placé le capteur de lumière à la base inférieure de la maison puis lorsque nous sélectionnons ce mode le système contrôlera la luminosité des LED d'éclairage avant en fonction des signaux des capteurs. Nous pouvons également lire les valeurs de température et d'humidité directement sur l'écran du téléphone intelligent, ce qui est vraiment impressionnant.

Code

  • Code source Arduino
Code source ArduinoArduino
/************************************************ ******************************************************** ******************************************************** ************************* * - Auteur :BELKHIR Mohamed * * - Profession :(Développeur) Propriétaire MEGA DAS * * - Objet principal :Application industrielle * * - Copyright (c) titulaire :Tous droits réservés * * - Licence :Licence BSD 2-Clause * * - Date :20/11/2017 * * ******************* ******************************************************** ******************************************************** **************************************************/ / *********************************** REMARQUE ************** ************************/// La redistribution et l'utilisation sous forme source et binaire, avec ou sans// modification, sont autorisées à condition que les conditions suivantes sont remplies:// * Les redistributions du code source doivent conserver l'avis de droit d'auteur ci-dessus, cette// liste de conditions et la clause de non-responsabilité suivante.// * Les redistributions sous forme binaire doivent reproduire l'abo ve copyright,// cette liste de conditions et la clause de non-responsabilité suivante dans la documentation// et/ou d'autres documents fournis avec la distribution.// CE LOGICIEL EST FOURNI PAR LES TITULAIRES DES DROITS D'AUTEUR ET LES CONTRIBUTEURS « EN L'ÉTAT »// OU LES GARANTIES IMPLICITES, Y COMPRIS, MAIS SANS S'Y LIMITER, LES// GARANTIES IMPLICITES DE QUALITÉ MARCHANDE ET D'ADAPTATION À UN USAGE PARTICULIER SONT EXCLUES _)__(`())___________________________________________________________________________________________________(`v)(_.^._)__________________________________________________________________________________________________(`())(`v)_________________________________________________________________ _________________________(_.^._)(`())______________________________________________________________________________________________(`v)_____ (_.^._)(`v)_______________________________________________________________________________________________ (`())_ (`v)___(`())_________________________________________________________________________________ (_ .^._)_(`())___(_.^._)______________________________________________________________________________________________ (`v) (_.^._) (`v)______________________________________________________________________________________________(`())____(`())_________________________________________________________________________________________________(_ .^._)_____(_.^._)________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________._______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _______________________________________________________________ ______________________________________________________________ ______________________________ _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________(`v)______________________________________________________________________________________________(`())______________________________________________________________________________________________ (_.^._)_____________________________________________________________________________________________ (`v)_______________________________________________________________________________________________ (`())________________________________________________________________________________________________ (_.^._)________________________________________________________________ ________________________(`v)_________________________________________________________________________________________________(`())__________________________________________________________________________________________________(_.^._)__________________________________________________________________________________________________________________________________________________________________________________ */#include "DHT.h" // Inclut la bibliothèque dht pour s'interfacer avec le capteur DHT#include // Bibliothèque IC pour utiliser le capteur de lumière#include // Importez la bibliothèque BH1750 afin de pouvoir utiliser le capteur de lumière//------------------- ----------------------------- Définir les broches de contrôle ----------------- -----------------------------------------------------const int Pompe=4; // Nous avons utilisé cette broche pour contrôler la motopompe const int Fan=5; // Utilisez cette broche comme sortie PWM pour contrôler la vitesse du ventilateur int Light=6; // Utilisez cette broche pour contrôler la luminosité de la LED int TempHum=7; // Broche d'entrée pour DHT sensorconst int Moisture=8; // Broche d'entrée numérique pour lire les signaux de commande d'humiditéconst int TestLED=9; // Utilisez cette broche de sortie pour tester la bonne soudure sur votre PCB en allumant et en éteignant le test LEDsconst int Brightness=12; // Broche d'entrée pour lire les signaux du capteur de lumièreconst int analogMoistue=0; // Entrée analogique pour lire le signal analogique du capteur d'humidité//------------------------------------ -------------------------------------------------- --------------------------------------------------------#define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321DHT dht (TempHum, DHTTYPE); // Constructeur de capteur de température et d'humidité BH1750 lightMeter; // Capteur de lumière constructeurchar Data='x'; // Stocke les données série dans cette variableString cmd=""; // Lire l'instruction complète envoyée depuis l'appint android flagModeAuto=0; // flag pour activer le mode autoint sprayCMD=0; // Limite CMD sprayint LightCMD=0; // Limite CMD luminositéint lightLevelPlus=0; // Variable pour contrôler la luminosité de la lumièrefloat temperature=0; // Variable pour stocker la valeur de températurefloat humid=0; // Variable pour stocker la valeur d'humiditéuint16_t lux=0; // Variable pour lire la luminosité de la lumière du capteur de lumière//------------------------------------- ----------- Démarrer la configuration des broches -------------------------------------- --------------------- void setup() { Wire.begin(); // Initialiser le bus I2C (la bibliothèque BH1750 ne le fait pas automatiquement) dht.begin(); // Lancer la lecture du capteur de température et d'humidité lightMeter.begin(); // Lancer la lecture du capteur de lumière Serial.begin(9600); // Réglez le débit en bauds jusqu'à 9600 BPS pour communiquer avec l'application Android via Bluetooth Serial.setTimeout (100); // Définit le temps d'attente des données avant de fermer le port série (après 100 ms) pinMode(Pump,OUTPUT); pinMode(Fan,OUTPUT); pinMode (Lumière, SORTIE); pinMode (humidité, ENTREE); pinMode (TestLED, INPUT); retard(1000); digitalWrite(Pump,LOW); digitalWrite(Fan,LOW); digitalWrite(Light,LOW);}//----------------------------------------- -------- Démarrer le code de processus -------------------------------------- ------------------void loop() { while(Serial.available()) // Lire les données série une fois disponibles { delay(10); Données=Série.read(); cmd+=Données ; } if(cmd=="dt") // Envoyer la valeur d'humidité à l'application Android { Serial.print(humidity); } if(cmd=="dh") // Envoie la valeur de luminosité à l'application Android { Serial.print(lux); } if(cmd=="db") // Envoie la valeur de température à l'application Android { Serial.print(temperature); } if(cmd=="o") // Activer le mode automatique { flagModeAuto=1; } if(cmd=="m") // Désactiver le mode automatique { flagModeAuto=0; } if(flagModeAuto==1) { autoPump(); lumièreLuminosité(); ventilateur automatique(); } if(flagModeAuto==0) { if(cmd=="f") // Allumer le VENTILATEUR { analogWrite(Fan,255); } if(cmd=="x") // Désactiver le VENTILATEUR { analogWrite(Fan,0); } if(cmd=="l") // Allumer les lumières { analogWrite(Light,255); } if(cmd=="k") // Éteindre les lumières { analogWrite(Light,0); } if(cmd=="w") // Allumer la pompe { analogWrite(Pump,255); } if(cmd=="y") // Éteindre la pompe { analogWrite(Pump,0) ; } } cmd=""; // Efface la variable cmd pour la rendre disponible pour la prochaine instruction lux =lightMeter.readLightLevel(); // Obtenir le niveau de luminosité du capteur de lumière temperature=dht.readTemperature(); // Obtenir la valeur de température du capteur DHT (C) humidity=dht.readHumidity(); // Obtenir la valeur d'humidité du capteur DHT (%)}//---------------------------------- -------------- Fonction de contrôle automatique pour la pompe de pulvérisation ------------------------------ -----------------------------------------void autoPump() { if(analogRead(analogMoistue)30) { analogWrite(Fan,255); // Allume le ventilateur si la température dépasse 30C } else { analogWrite(Fan,0); // Arrêter le ventilateur si la température dépasse 30C }}

Pièces et boîtiers personnalisés

dxf_mdf_5mm_s0PEHuez4w.rar

Schémas


Processus de fabrication

  1. Créer un moniteur Ambilight à l'aide d'Arduino
  2. Jeu Arduino Pong - Écran OLED
  3. Détecteur de fréquence audio
  4. clone Arduino Tamagotchi - animal numérique
  5. Manipulateur d'interrupteur d'éclairage sans fil
  6. Tech-TicTacToe
  7. Pistolet à eau à détecteur de mouvement
  8. compte à rebours Arduino
  9. Robot pour une navigation intérieure super cool