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

Alerte Soif Plante Intelligente – Capteur DIY pour une Hydratation Optimale

Composants et Fournitures

Composant Quantité
Microchip ATmega328 1
Quartz 16 MHz 1
Condensateur Céramique 20 pF 2
Régulateur Linéaire 7805 (5V) 1
LED (couleur au choix) 2
Résistance 10 kΩ 1
Résistance 220 Ω 1
Résistance Traversante 470 Ω 1
Interrupteur à Glissière 1
Interrupteur Poussoir C&K PTS 645 1
Buzzer Piézoélectrique 1
Pile 9V + Connecteur 1
Capteur d'Humidité du Sol SparkFun (avec Bornes à Vis) 1
Arduino UNO (pour prototypage) 1
Boîtier Imprimé 3D 1

Outils Nécessaires

Applications et Services en Ligne

À Propos du Projet

Comment Tout a Commencé

Je dois l'avouer : je suis un parent de plantes terrible. Que ce soit trop ou trop peu d'eau, rien ne semble les garder en vie ! J'adore pourtant leur présence, leur façon d'égayer un espace qu'aucune affiche IKEA ne peut égaler. J'ai donc décidé de construire un dispositif pour aider tous les "tueurs de plantes silencieux" comme moi à devenir de fiers jardiniers.

Voici le Détecteur de Plante Assoiffée : un appareil qui parle pour vos plantes, vous indiquant exactement quand elles ont besoin d'eau.

Ce projet utilise l'Explorer Uno comme cœur, combiné à un capteur d'humidité du sol et un buzzer piézo qui émet un « criquet » caractéristique quand la plante est sèche. Fait intéressant : l'élément piézo peut à la fois générer du son et détecter des vibrations (comme un coup). Le capteur d'humidité est d'une simplicité enfantine : ses deux sondes agissent comme une résistance variable, produisant une valeur analogique entre 0 et 1023 selon l'humidité. Plus le sol est humide, meilleure est la conductivité entre les sondes, donc plus la résistance est faible.

Étape 1 : Prototypage sur Breadboard

Commencez par câbler le tout sur breadboard pour valider le logiciel avant de concevoir le PCB. J'utilise un Arduino Uno pour la phase de test, puis je transfère l'ATmega328 sur mon PCB final. Le schéma de câblage est fourni pour vous guider.

Notez que vous pouvez utiliser soit un capteur du commerce (SparkFun en fait d'excellents), soit fabriquer le vôtre avec deux tiges métalliques, du fil et une résistance de 47 kΩ. J'ai utilisé des tiges en laiton pour modélisme (disponibles en magasin de modélisme).

Une fois le breadboard câblé, téléversez ce code :

Code Thirst Alert sur GitHub

Si tout fonctionne, vous devriez entendre un chant de criquet ! Touchez les deux sondes ensemble et le son doit s'arrêter.

Étape 2 : Conception du PCB

Nous utilisons Patchr pour la conception. Si vous n'avez pas de compte, créez-en un. Voici les raccourcis utiles :

  1. Connectez-vous à Patchr et sélectionnez le template Explorer Uno pour éviter de redessiner l'Arduino.
  2. Agrandissez l'emprise du circuit pour accueillir le capteur d'humidité et le buzzer.
  3. Placez la résistance : une broche sur 5V, l'autre sur A0. Routez le 5V sur la face inférieure pour éviter les croisements avec GND sur la face supérieure. Ajoutez un trou traversant pour la sonde du capteur.
  4. Placez un second trou traversant pour l'autre sonde, relié à une broche GND.
  5. Ajoutez le buzzer : une broche sur GND, l'autre sur la broche numérique 5.
  6. Vérifiez toutes les connexions par rapport au breadboard, puis exportez pour fabrication. Patchr Manufacturing garantit des PCB de qualité (promo GoPatchr = 15% sur la première commande).

Étape 3 : Conception du Boîtier

Pendant la fabrication du PCB, concevez le boîtier. Notez les dimensions du circuit (onglet BRD) pour prévoir l'espace nécessaire. Mon modèle est disponible sur Thingiverse. Pour la CAO : Onshape pour les designs avancés, TinkerCAD pour la rapidité. Pas d'imprimante 3D ? De nombreux services d'impression en ligne existent, ou bricolez un boîtier avec des matériaux de récupération.

Étape 4 : Assemblage !

C'est le moment favori : le soudage ! Comme le dit Bob Pease : « Mon langage de programmation préféré, c'est la soudure. » Préparez votre fer, votre playlist préférée, et c'est parti.

Utilisez votre projet Patchr et les schémas comme référence. Note : j'ai soudé des fils entre le buzzer et le PCB pour le positionner en haut du boîtier. Si vous soudez le buzzer directement sur le PCB, prévoyez l'espace lors de la conception.

Que les seules plantes croustillantes dans votre vie soient les chips de kale déshydratées de votre déjeuner d'hier, grâce à l'Alerte Soif Plante ! Questions, GIFs, blagues ou playlists de soudure en commentaires.

Voir la vidéo de construction | Partagez vos hacks

Code Arduino

/* 
 * Thirst Alert Plant Alarm - Pour Patchr.io
 * Tutorial: www.hackster.io/patchr
 * PCB Design: www.patchr.io
 * Novembre 2019
 */
#include "Volume.h"  // Bibliothèque de Connor Nishijima (2016)

int sensorPin = A0;      // Broche capteur d'humidité
int sensorValue;
int limit = 300;         // Seuil de déclenchement (à ajuster selon votre capteur/sol)
Volume vol;

void setup() {
  Serial.begin(9600);
  vol.begin();
  vol.setMasterVolume(1.00);  // Volume 0.00 à 1.00
  vol.delay(500);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  Serial.println(sensorValue);
  
  if (sensorValue > limit) {
    Serial.println("*cricket*");
    // Joue le criquet à intervalle aléatoire 1-30 sec
    chirp();
    vol.delay(random(1000, 30000));
  } else {
    vol.noTone();
  }
}

void chirp() {
  // Génère les tons de criquet (code de Connor Nishijima)
  int freq = random(3700, 4000);
  float volume = random(10, 101) / 100.00;
  int chirpType = 1;
  
  if (chirpType == 1) {
    Serial.println("2");
    int chirpCount = random(1, 3);
    chirp(chirpCount, freq, volume);
  }
}

void chirp(byte times, int freq, float volume) {
  float fadeOut = 1.00;
  while (times > 0) {
    float mv = 0;
    while (mv < 1.00) {
      int v = 0;
      while (v < 255) { vol.tone(freq, v * volume * mv * fadeOut); v += 4; }
      v = 255;
      while (v > 0) { vol.tone(freq, v * volume * mv * fadeOut); v -= 4; }
      vol.delay(20); mv += 0.2;
    }
    mv = 1.00;
    while (mv > 0.00) {
      int v = 0;
      while (v < 255) { vol.tone(freq, v * volume * mv * fadeOut); v += 4; }
      v = 255;
      while (v > 0) { vol.tone(freq, v * volume * mv * fadeOut); v -= 4; }
      vol.delay(20); mv -= 0.2;
    }
    vol.noTone(); fadeOut -= 0.75; times--;
  }
}

Pièces Personnalisées et Boîtiers

Schémas

Schéma de câblage disponible dans les fichiers du projet.

Processus de fabrication

  1. Horloge à Mots Italienne avec Arduino Nano, NeoPixel, LCD et RTC
  2. Économisez les broches Arduino : clavier 4×3 sur 3 entrées analogiques
  3. Système d'arrosage intelligent pour plantes d'intérieur avec Arduino Nano
  4. Compteur kWh Sigfox fiable avec Arduino MKR Fox 1200
  5. Moniteur de température Bluetooth avec Arduino Nano
  6. Multimètre capacimètre auto-étendant DIY (10 pF – 10 µF) – Construction Arduino facile
  7. Serrure à gestes sans contact : Accès sécurisé avec APDS-9960 et Arduino
  8. Circuit d'entrée analogique isolée pour Arduino : Protection contre les parasites industriels
  9. Test Précis de Temps de Réaction avec Arduino UNO