Système de surveillance des ordures IOT utilisant Arduino avec application Bluetooth


Système de surveillance des ordures IOT utilisant Arduino avec application Bluetooth

Titre du projet

Système de surveillance des ordures IOT utilisant Arduino avec application Bluetooth

La description

Ce système de surveillance des déchets permettra à l’utilisateur d’indiquer la quantité de déchets à l’intérieur de la poubelle via une application mobile.

Diagramme schématique

Système de surveillance des ordures dans Arduino - Diagramme schématique
Système de surveillance des ordures dans Arduino – Diagramme schématique

Liste des pièces et prix estimés (nous mettrons à jour cette section)

  • Capteur à ultrasons – 3,95 $
  • Module Bluetooth (HC-05 ou 06) – 7,99 $
  • Arduino Nano – 2,05 $
  • Fils de cavalier (femelle à femelle) – 3,50 $
  • Résistances (1K et 2K ohm) – 1,0 $
  • Poubelle (facultatif)

Comment fonctionne le projet

Un capteur à ultrasons mesurera la profondeur de la poubelle, détectera le niveau de la poubelle puis compilera ces informations vers l’Arduino, l’Arduino calculera ensuite ces informations données et les enverra sous forme de données à notre application mobile

Le code ci-dessous montre comment nous pouvons utiliser un capteur à ultrasons pour mesurer la hauteur de la poubelle par centimètre (cm).

const int trigPin = 3; //trigpin of the ultrasonic sensor is connected to pin 3
const int echoPin = 2; //echopin of the ultrasonic sensor is connected to pin 2
long duration, distance, range; //declare long variables to store data

void setup() {
  Serial.begin(9600); //initialize serial communication
  pinMode(trigPin, OUTPUT); //set trigpin as an OUTPUT
  pinMode(echoPin, INPUT); //set echopin as an INPUT
}

void loop() {
  digitalWrite(trigPin, LOW); //assure the trigpin is clear
  delayMicroseconds(2); 
  digitalWrite(trigPin, HIGH); //generate ultrasound wave
  delayMicroseconds(10); 
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH); //read the travel time and store that value in a variable named duration 
  distance = (duration / 2) / 29.1; //convert duration to centimeters
}

Pour obtenir un résultat spécifique, nous devons convertir un centimètre en pourcentage

lire plus  Système de gestion de dortoir Code source PHP MySQL

ajoutez une variable entière nommée «Limit» avec la hauteur de la poubelle comme valeur.

int Limit = 27; //height limit of your garbage bin in cm 

Nous pouvons maintenant convertir un centimètre en une valeur en pourcentage en divisant la hauteur de la poubelle et en la multipliant par 100.

distance = (duration / 2) / 29.1 / Limit * 100; //convert centimeter to a percentage value

Nous pouvons ensuite obtenir la plage en soustrayant la valeur du pourcentage à 100.

 distance = (duration / 2) / 29.1 / Limit * 100; //convert centimeter to a percentage value
 range = 100 - distance; //get the range

En vérifiant simplement la valeur de la plage, nous pouvons maintenant envoyer des données en fonction de la profondeur de la poubelle, mais vérifions d’abord la valeur de la plage si elle est comprise entre 0% et 100%, c’est pour nous assurer que la limite de hauteur de la poubelle est correct et pas hors de portée sinon s’il est hors de portée, l’Arduino enverra simplement une donnée «F 100»

if ((range >= 0) && (range <= 100))
  {
  }
else
 {
  Serial.print("F 100");
  Serial.println();
  delay(500);
}

À l'intérieur de l'instruction if, nous pouvons ajouter plus de fonctions if pour indiquer la valeur de la plage, si la plage de valeurs est supérieure à 70%, l'Arduino enverra «F» indiquant que la poubelle est pleine, si la plage de valeurs est comprise entre 30% à 70%, l'Arduino enverra "M" indiquant que la poubelle est à l'état modéré et si la plage de valeurs est inférieure à 30%, l'Arduino enverra "E" indiquant que la poubelle est vide tout en envoyant également la valeur spécifique de gamme

if ((range >= 0) && (range <= 100))
  {
if (range > 70) //if the range is greater than 70% the Arduino will send “F “
      {
        Serial.print("F ");
      }
    if ((range >= 30) && (range <= 70)) // if the range is between 30% to 70% the Arduino will send “M “
      {
        Serial.print("M ");
      }
    if (range <= 30) // if the range is less than 30% the Arduino will send “E “
      {
        Serial.print("E ");
      }
     Serial.print(range); //sends the specific value of range
     Serial.println();
     delay(500);
  } 

vous pouvez afficher ces données à l'aide de Serial Monitor.

L'Arduino enverra ces données via Bluetooth puis l'application mobile recevra ces données et procédera à l'affichage de l'état de la poubelle à l'utilisateur, donnant une vue graphique avec une valeur en pourcentage tout en mettant également en évidence la poubelle en couleur afin de afficher un niveau spécifique.

vous pouvez regarder le didacticiel vidéo sur ce lien:

Auteur:

Hizon Pastorpili
09653873994

Téléchargez l'application mobile.

Télécharger le code source

Comment créer l'application à partir de MIT App Inventor

Vous pouvez visiter notre Facebook page pour plus d'informations, demandes de renseignements et commentaires.

Louer notre équipe pour faire le projet.

commentaires

commentaires





Telecharger ici

Laisser un commentaire

Aller au contenu principal