I nostri lettori più cari sono a conoscenza delle potenzialità della board Arduino. In questo tutorial oggi vedremo in che modo realizzare con Arduino un distributore (dispenser) automatico per croccanti o biscotti.
Qual è lo scopo e l’idea da cui partire? L’idea di base è quella di realizzare un giocattolo per il proprio animale domestico. Nel momento in cui si avvicinerà a una determinata distanza soglia uscirà un biscottino o qualsiasi altra tipologia di cibo inserito all’interno.
Ho deciso di realizzare un progetto che richiede componenti a basso costo e reperibili ovunque. Non ho deciso di creare strutture 3D o in legno in quanto non è per tutti possibile creare questa tipologie di componenti. In poche parole questo progetto è realizzabile da chiunque dispone delle componenti basilari o di un kit di Arduino.
Arriviamo al sodo.
Quali componenti sono state utilizzate?
Ecco la lista:
- tubo Pringles
- mini breadboard
- sensore di distanza
- servo motore
- jumper
- power bank
- colla a caldo
- scotch decorativo
- cartone
- Arduino
il circuito elettrico è abbastanza semplice, basta collegare i corrispettivi piedini gnd e 5v ai corrispettivi ingressi di Arduino e della breadboard. Ecco qui il diagramma di collegamento che è abbastanza auto-esplicativo.
Per quanto riguarda il montaggio ho realizzato un video su Youtube a riguardo. Ecco qui il video del progetto:
Ecco il codice
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <Servo.h> //libreria per utilizzare le funzioni del servomotore #include "SR04.h" //libreria per utilizzare le funzioni del sensore di distanza Servo servomotore; //dichiaro la variabile ti tipo servo con il nome servomotore #define trigPin=3; //definisco in che pin digitale è collegato il connettore trigPin #define echoPin = 2; int servoPin = 9; //dichiaro in che pin digitale è collegato il connettore del servo motore SR04 sr04 = SR04 8ECHO_PIN,TRIG_PIN; //dichiaro la variabile sr04 e assegno i valori dei pin digitali corrispondenti long a; //dichiaro una variabile a, la useremo per calcolare la distanza void setup () { servo.attach(servoPin); //"accendiamo il pin" servo.write(0); //il pin si posizionare alla posizione o gradi delay(1000); //pausa di 1 sec servo.detach(); //"spegnimento" del servo } void loop (){ a=sr04.Distance(); //misuro la distanza if(a<20){ //se la distanza è inferiore a 20 cm allora... servo.attach(servoPin); //"accendo" il servo delay(10); servo.write(150); //il servo si ruota di 150 gradi delay(1000); servo.write(0); //ritorna alla posizione iniziale (0) delay(1000); servo.detach(); //"si spegne" } |
Questo progetto è migliorabile? Si. Ho deciso di realizzare un prodotto realizzabile da tutti utilizzando componenti a basso prezzo e reperibili ovunque, senza la creazione di un supporto realizzato con una stampante 3d o supporti in legno. Quindi sentitevi liberi di creare qualsiasi modifica, io ho voluto semplicemente offrire l’idea base per la realizzazione di questa tipologia di prodotto.
Questo progetto è indicato per cani di piccola taglia, in quanto cani di grande taglia a causa delle piccoli dimensioni del tubo potrebbero non capire lo scopo del gioco.
Ringrazio coloro i quali hanno letto questo tutorial. Se vi è piaciuto potete condirvelo con i vostri amici. A presto!
Link utili