Sommario:

Pattumiera intelligente di Magicbit: 5 passaggi
Pattumiera intelligente di Magicbit: 5 passaggi

Video: Pattumiera intelligente di Magicbit: 5 passaggi

Video: Pattumiera intelligente di Magicbit: 5 passaggi
Video: Pattumiera Intelligente - Ecowe - Ariete 2001 2024, Dicembre
Anonim
Image
Image

In questo tutorial impareremo come realizzare una pattumiera Smart usando Magicbit dev. scheda con Arduino IDE. Iniziamo.

Forniture

  • Magicbit
  • Cavo da USB-A a Micro-USB
  • Sensore a ultrasuoni - HC-SR04 (generico)
  • Micro-servomotore SG90

Fase 1: Storia

Configurazione hardware
Configurazione hardware

Prima di passare al progetto, diamo un'occhiata a cos'è la pattumiera Smart. Ci sono uno o più bidoni della spazzatura in ogni casa. In molte volte l'hai coperto. Perché questo farà odore nella tua casa. Quindi, quando vuoi gettare un po' di spazzatura nella pattumiera, devi aprirla. Ma se, quando ti avvicini alla pattumiera per mettere la spazzatura e automaticamente la copertura si apre, allora come appare. Pazzo aaa…. quindi quella è la pattumiera intelligente.

Fase 2: Teoria e Metodologia

La teoria è molto semplice. Quando ti avvicini alla pattumiera, ti rileverà. Se la distanza tra te e la pattumiera è inferiore a una certa distanza definita, il coperchio della pattumiera si aprirà automaticamente. Per completare entrambi questi oggetti utilizziamo il sensore ultrasonico HC-SRO4 e piccoli servomotori. Puoi ottenere qualsiasi tipo di servomotore digitale.

Passaggio 3: configurazione hardware

Configurazione hardware
Configurazione hardware
Configurazione hardware
Configurazione hardware

Per questo progetto abbiamo utilizzato principalmente tre componenti hardware. Sono Magicbit, servomotore e sensore a ultrasuoni. La connessione tra tutte queste parti è mostrata nella figura sopra.

Il sensore a ultrasuoni ha utilizzato 3,3 v per l'accensione. Pertanto abbiamo utilizzato la porta inferiore destra della scheda Magicbit per collegare il sensore a ultrasuoni a Magicbit. Ma il servomotore viene utilizzato a 5 V per un corretto funzionamento, pertanto abbiamo utilizzato la porta inferiore sinistra per collegare il servomotore con Magicbit. In questo caso, utilizziamo il modulo connettore servo Magic bit. Ma se non si dispone di quel modulo, è possibile utilizzare tre cavi jumper per collegare 5V a 5V, Gnd a Gnd e il pin del segnale a 26 pin su magicbit.

Ora diamo un'occhiata al lato meccanico del nostro progetto. Per aprire il coperchio utilizziamo un meccanismo a leva molto semplice. Abbiamo collegato una clip laterale del servo al servo. Quindi abbiamo collegato il foro d'angolo nella clip e il coperchio della pattumiera utilizzando un robusto filo metallico. Il filo metallico può ruotare rispetto alla clip del servo e al coperchio della pattumiera. Studiando l'immagine e il video migliori puoi costruirlo molto facilmente.

Passaggio 4: configurazione del software

Configurazione del software
Configurazione del software

Anche la parte software è molto semplice. Diamo un'occhiata al codice IDE di Arduino e a come funziona.

Per pilotare il servo utilizziamo la libreria servo ESP32. Questa libreria include quasi il gestore di schede magic bit nell'IDE di Arduino. Per gestire il sensore a ultrasuoni utilizziamo la libreria newPing. Questo può essere scaricato dal seguente link.

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

Scarica il file zip e vai su strumenti> includi libreria> aggiungi libreria Zip in Arduino. ora seleziona il file zip scaricato della nuova libreria pin. nel codice dichiariamo prima le librerie dei sensori servo e ultrasonici. Nella funzione loop controlliamo sempre la distanza dal bidone della spazzatura all'oggetto frontale più vicino. Se è maggiore di 200, l'uscita della distanza della libreria è 0. Quando la distanza è inferiore a 60 cm, esegue il ciclo per aprire il coperchio ruotando il servo. Se la distanza è maggiore di 60 cm, la copertura verrà abbassata. Usando la variabile booleana controlliamo sempre lo stato del coperchio. Se il coperchio è abbassato, si aprirà solo quello. Anche viceversa. Ora seleziona la porta COM corretta e la scheda come magcibit, quindi carica il codice. Ora la tua pattumiera intelligente è pronta per l'uso.

Passaggio 5: codice Arduino

#includere

#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include //include la libreria servo int distance; Servo RadarServo; void setup() { Serial.begin(115200); RadarServo.attach(26); // Definisce su quale pin è collegato il servomotore delay(3000); } void loop() { // ruota il servomotore da 15 a 165 gradi for(int i=0;i<=180;i++){ RadarServo.write(i); ritardo(50); distanza = sonar.ping_cm();// Richiama una funzione per il calcolo della distanza misurata dal sensore ad Ultrasuoni per ogni grado for(int j=0;j0){ break; } Serial.print(i); // Invia il grado corrente nella porta seriale Serial.print(", "); // Invia il carattere di aggiunta proprio accanto al valore precedente necessario in seguito nell'IDE di elaborazione per l'indicizzazione Serial.print(j); // Invia il grado corrente nella porta seriale Serial.print("*"); Serial.print(1); // Invia il valore della distanza nella porta seriale Serial.print("/"); // Invia il carattere di aggiunta proprio accanto al valore precedente necessario in seguito nell'IDE di elaborazione per l'indicizzazione Serial.print(distanza); // Invia il valore della distanza nella porta seriale Serial.print("."); // Invia il carattere di addizione proprio accanto al valore precedente necessario in seguito nell'IDE di elaborazione per l'indicizzazione } } // Ripete le righe precedenti da 165 a 15 gradi for(int i=180;i>=0;i--){ RadarServo.scrivi(i); ritardo(50); distanza = sonar.ping_cm(); for(int j=75;j>=0;j-=25){ if(i==180 && (j==75 ||j==50 ||j==25)){ continua; } Serial.print(i); // Invia il grado corrente nella porta seriale Serial.print(", "); // Invia il carattere di aggiunta proprio accanto al valore precedente necessario in seguito nell'IDE di elaborazione per l'indicizzazione Serial.print(j); // Invia il grado corrente nella porta seriale Serial.print("*"); Serial.print(-1); // Invia il valore della distanza nella porta seriale Serial.print("/"); // Invia il carattere di aggiunta proprio accanto al valore precedente necessario in seguito nell'IDE di elaborazione per l'indicizzazione Serial.print(distanza); // Invia il valore della distanza nella porta seriale Serial.print("."); // Invia il carattere di aggiunta proprio accanto al valore precedente necessario in seguito nell'IDE di elaborazione per l'indicizzazione } } }

Consigliato: