Taula de continguts:

Paperera intel·ligent de Magicbit: 5 passos
Paperera intel·ligent de Magicbit: 5 passos

Vídeo: Paperera intel·ligent de Magicbit: 5 passos

Vídeo: Paperera intel·ligent de Magicbit: 5 passos
Vídeo: 🚀Como Aumentar Tus FPS (Para Pc De Bajos Recursos 2022)✅ 2024, Desembre
Anonim
Image
Image

En aquest tutorial aprendrem sobre com fer un cubell d’escombraries intel·ligent amb Magicbit dev. placa amb Arduino IDE. Comencem.

Subministraments

  • Magicbit
  • Cable USB-A a Micro-USB
  • Sensor d'ultrasons - HC-SR04 (genèric)
  • Micro-servo motor SG90

Pas 1: història

Configuració del maquinari
Configuració del maquinari

Abans de passar al projecte, vegeu què és el contenidor de polsera Smart. Hi ha un o més contenidors de pols a cada llar. En moltes ocasions l’heu cobert. Perquè això farà olor a casa teva. Per tant, quan vulgueu posar una mica d’escombraries a les escombraries, l’heu d’obrir. Però si, quan us acosteu a les escombraries per posar les escombraries i es cobreix automàticament, s’obrirà, és com serà. Boig aaa…. per tant, aquest és el contenidor d’escombraries intel·ligent.

Pas 2: teoria i metodologia

La teoria és molt senzilla. Quan camineu a prop de les escombraries, us detectarà. Si la distància entre vosaltres i la brossa és inferior a una distància definida, la coberta de la brossa s’obrirà automàticament. Per completar aquests dos objectes, fem servir un sensor d'ultrasons HC-SRO4 i servomotors petits. Podeu obtenir qualsevol tipus de servomotor digital.

Pas 3: Configuració del maquinari

Configuració del maquinari
Configuració del maquinari
Configuració del maquinari
Configuració del maquinari

Per a aquest projecte hem utilitzat principalment tres components de maquinari. Són Magicbit, servomotor i sensor d'ultrasons. La connexió entre totes aquestes parts es mostra a la figura superior.

El sensor ultrasònic utilitza 3,3 v per engegar. Per tant, hem utilitzat el port inferior dret de la placa Magicbit per connectar el sensor d'ultrasons a Magicbit. Però el servomotor s’utilitza 5V per a un funcionament adequat, per tant, hem utilitzat el port inferior esquerre per connectar el servomotor amb Magicbit. En aquest cas, fem servir el mòdul de connector servo de bits Magic. Però si no teniu aquest mòdul, podeu utilitzar tres cables jumper per connectar 5V a 5V, Gnd a Gnd i el pin de senyal a 26 pins a magicbit.

Ara vegem el vessant mecànic del nostre projecte. Per obrir la tapa utilitzem un mecanisme de palanca molt senzill. Hem connectat un clip de mà servo al lateral. A continuació, vam connectar el forat de la cantonada del clip i la tapa de la brossa amb un fort fil metàl·lic. El fil metàl·lic pot girar respecte al clip de servo i la tapa de la brossa. Si estudieu la imatge i el vídeo més importants, podeu crear-ho molt fàcilment.

Pas 4: Configuració del programari

Configuració del programari
Configuració del programari

La part del programari també és molt senzilla. Vegem el codi IDE Arduino i el seu funcionament.

Per conduir el servo, fem servir la biblioteca de servidors ESP32. Aquesta biblioteca gairebé inclou el gestor de taules de bits màgics a Arduino IDE. Per tractar el sensor d'ultrasons, utilitzem la nova biblioteca de Ping. Es pot descarregar des del següent enllaç.

bitbucket.org/teckel12/arduino-new-ping/d…

Descarregueu el fitxer zip i vés eines> inclou biblioteca> afegiu biblioteca Zip a Arduino. ara seleccioneu el fitxer zip descarregat de la nova biblioteca de pins. al codi, primer declarem les biblioteques de servors i ultrasons. A la funció de bucle sempre comprovem la distància des de la paperera fins a l'objecte frontal més proper. Si aquest ratllador és superior a 200, la distància de sortida de la biblioteca és 0. Quan la distància és inferior a 60 cm, s'executa el bucle per obrir la tapa girant el servo. Si la distància és superior a 60 cm, la coberta es posarà. Mitjançant l’ús de la variable booleana sempre comprovem l’estat de la coberta. Si la coberta està caiguda, només s'obrirà. També a la inversa. Ara seleccioneu el port i la placa COM correctes com a magcibit i, a continuació, pengeu el codi. Ara la vostra escombrera intel·ligent ja està a punt per utilitzar-se.

Pas 5: Codi Arduino

#incloure

#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 Sonar NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // include servo library int distance; Servo RadarServo; configuració nul·la () {Serial.begin (115200); RadarServo.attach (26); // Defineix en quin pin hi ha el retard de connexió del servomotor (3000); } void loop () {// gira el servomotor de 15 a 165 graus per a (int i = 0; i <= 180; i ++) {RadarServo.write (i); retard (50); distance = sonar.ping_cm (); // Crida a una funció per calcular la distància mesurada pel sensor d'ultrasons per a cada grau per (int j = 0; j0) {break; } Serial.print (i); // Envia el grau actual al port sèrie Serial.print (","); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per indexar Serial.print (j); // Envia el grau actual al port sèrie Serial.print ("*"); Serial.print (1); // Envia el valor de la distància al port sèrie Serial.print ("/"); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per indexar Serial.print (distància); // Envia el valor de la distància al port sèrie Serial.print ("."); // Envia un caràcter d'addició just al costat del valor anterior necessari a l'IDE de processament per indexar}} // Repeteix les línies anteriors de 165 a 15 graus per (int i = 180; i> = 0; i -) {RadarServo.escriu (i); retard (50); distància = sonar.ping_cm (); for (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {continuar; } Serial.print (i); // Envia el grau actual al port sèrie Serial.print (","); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per indexar Serial.print (j); // Envia el grau actual al port sèrie Serial.print ("*"); Serial.print (-1); // Envia el valor de la distància al port sèrie Serial.print ("/"); // Envia un caràcter d'addició just al costat del valor anterior necessari més endavant a l'IDE de processament per indexar Serial.print (distància); // Envia el valor de la distància al port sèrie Serial.print ("."); // Envia un caràcter d'addició al costat del valor anterior necessari més endavant a l'IDE de processament per a la indexació}}}

Recomanat: