Sommario:
- Passaggio 1: attrezzatura SmartBin
- Passaggio 2: fabbricazione della Raspberry Box e della barra LED
- Passaggio 3: la parte del coperchio
- Passaggio 4: parte software e acquisizione dati
Video: SmartBin: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Lo scopo principale di questo progetto è creare un dispositivo elettronico che utilizzi almeno un Raspberry Pi. Il team è composto da 5 futuri ingegneri meccanici e un ingegnere dell'automazione. Il nostro progetto consiste nel realizzare un cestino che si apre e si chiude automaticamente innescato da un movimento del piede sotto il rilevatore di movimento situato al centro sulla parte anteriore del cestino. Una chiavetta USB Wi-Fi viene utilizzata per inviare dati su un sito web. Questo cestino si chiama "The SmartBin". Il video divertente qui sopra presenta il nostro innovativo SmartBin.
Per realizzare questo progetto e questo straordinario SmartBin, erano necessari diversi strumenti:
- un metro
- Colla forte
- Un nastro adesivo
- Una sega per legno
- Un cacciavite
- Un trapano
- un morsetto
- Un coltello
Passaggio 1: attrezzatura SmartBin
Lo SmartBin è composto da luci LED verdi, arancioni e rosse che sono posizionate su un apparecchio sul lato sinistro del cestino che indicherà quanto è pieno. Queste luci saranno chiaramente visibili e avviseranno l'utente quando è necessario sostituire il sacco della spazzatura. Il linguaggio di programmazione utilizzato è Python. Il livello di riempimento misurato del bidone viene trasmesso al seguente sito web:
Ecco gli elementi che sono stati utilizzati ma puoi facilmente trovare una soluzione alternativa:
- 1 cestino (cestino "coperchio basculante")
- 1 Servomotore per aprire il cassonetto
- 1 lampone pi 2
- 2 Alimentatori (caricabatteria per cellulare 5V e alimentatore 6V) per alimentare il Raspberry Pi e il servomotore
- 1 Sensore ad ultrasuoni per misurare il livello di riempimento del bidone
- Alcuni LED per visualizzare il livello di riempimento (4 verdi, 2 arancioni e 1 rosso)
- 1 rilevatore di movimento ad ultrasuoni per rilevare un movimento
- 1 scheda SD da 16 Gb
- Resistenze elettriche (10.000 Ohm, 2000 Ohm e 1000 Ohm)
- 1 chiavetta USB WiFi per abilitare la trasmissione wireless al sito web.
- 1 breadboard e alcuni cavi Raspberry
Il prezzo di produzione stimato è di 80€.
Passaggio 2: fabbricazione della Raspberry Box e della barra LED
Per fabbricare la scatola del lampone, usa una sega per legno. Fissare ogni lato della scatola con rivetti per farlo sembrare pulito. Come suggerisce il nome, questa scatola conterrà non solo il Raspberry Pi ma includerà anche il sensore di movimento che posizionerai in basso. Una volta che la scatola è stata costruita, dipingila dello stesso colore del cestino. La tecnologia di stampa 3D potrebbe essere utilizzata per creare questa scatola.
Per la realizzazione della barra LED, utilizzare un condotto elettrico in cui praticare dei fori per consentire l'installazione delle luci LED. Anche la barra LED deve essere verniciata. Quando tutto è pronto, installare i LED nel condotto ed effettuare il collegamento elettrico. Prestare attenzione a numerare correttamente ogni cavo LED con nastro adesivo. Ti aiuterà a identificare ogni LED durante il cablaggio.
Infine, attacca la scatola e la barra LED alla parte anteriore del cestino.
Passaggio 3: la parte del coperchio
Per quanto riguarda il coperchio del cassonetto, il primo passo è incollare il servomotore al coperchio. Un'estensione della leva finanziaria deve essere preventivamente effettuata. La leva colpirà un arresto che era stato precedentemente fatto a mano. Fissare una scatola a vite al coperchio e praticare un foro per mantenere il sensore a ultrasuoni nella posizione corretta. Assicurati di collegare correttamente i cavi sul coperchio con del nastro adesivo.
Passaggio 4: parte software e acquisizione dati
Per quanto riguarda la parte software, abbiamo utilizzato il linguaggio di programmazione Python. Il programma viene salvato nella scheda SD che verrà eseguita dal Raspberry Pi all'accensione. Lo schema di cablaggio è disponibile sopra. L'immagine dei pin Gpio è disponibile per tutti i tipi di lampone al link sottostante:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
È possibile utilizzare un sensore ad ultrasuoni per sostituire il rilevatore di movimento, è sufficiente creare un "se loop" nel codice.
Come accennato in precedenza, i dati relativi al livello di riempimento del cestino vengono trasmessi a un sito web creato su wix.com. Su questo sito puoi trovare diverse schede che raccolgono membri del team, presentazione hardware e software, … La scheda interessante è in realtà la scheda "Database" che raccoglie le informazioni relative alla quantità di spazzatura direttamente dallo SmartBin e crea un grafico con i dati. Il grafico mostra l'evoluzione del livello del ripieno. E' possibile visualizzare o scaricare i dati dal sito. Il link qui sotto è il sito web che abbiamo utilizzato e ti mostrerà come leggere e scrivere su fogli di google con python:
www.makeuseof.com/tag/read-write-google-sh…
Per quanto riguarda la "parte autorun" del codice, scrivi nel terminale: sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
Quindi, alla fine dello script appena aperto, scrivi queste due righe di codice: python /home/pi/main.py & python /home/pi/csvcontrol.py &
Per salvare l'aurorun, premere: C trl + O Quindi, premere: Invio Quindi, premere: C trl + X
Scrivi come ultima riga di codice: sudo reboot
Puoi anche scaricare l'allegato che è il codice Python completo utilizzato per il progetto. Entrambi i codici vengono eseguiti contemporaneamente!
Ecco il codice main.py:
import RPi. GPIO as GPIOimport datetime import time import csv
GPIO.setmode(GPIO. BCM)
GPIO.setwarnings(Falso)
capteurP = 7
servo = 17
GPIO.setup(servo, GPIO. OUT)
GPIO.setup(capteurP, GPIO. IN)
pwm=GPIO. PWM(17, 50)
GPIO.setup(5, GPIO. OUT)
GPIO.setup(6, GPIO. OUT) GPIO.setup(13, GPIO. OUT) GPIO.setup(19, GPIO. OUT) GPIO.setup(20, GPIO. OUT) GPIO.setup(21, GPIO. OUT) GPIO.setup(26, GPIO. OUT)
Trigger = 23
Eco = 24
GPIO.setup(Trig, GPIO. OUT)
GPIO.setup(Echo, GPIO. IN)
GPIO.setwarnings(Falso)
GPIO.output(5, Falso)
GPIO.output(6, False) GPIO.output(13, False) GPIO.output(19, False) GPIO.output(20, False) GPIO.output(21, False) GPIO.output(26, False)
GPIO.output(Trig, False)
timeset = time.time()
distanza=100 memoria=0 tempo.sleep(2) pwm.start(12.5)
mentre vero:
timetac = time.time() if GPIO.input(capteurP) e timetac-timeset0.9: pwm. ChangeDutyCycle(2.5) time.sleep(0.2) memory=-0.5 pwm. ChangeDutyCycle(0) timetac = time.time() time.sleep(0.5) se timetac-timeset>15 o memory>0.4: se memory>0.4: pwm. ChangeDutyCycle(2.5) time.sleep(1) for x in range(0, 1): # GPIO.output(Trig, True) time.sleep(0.01) GPIO.output(Trig, False)
while GPIO.input(Echo)==0 e timetac-timeset<17: timetac = time.time() debutImpulsion = time.time()
mentre GPIO.input(Echo)==1:
finImpulsion = time.time() if timetac-timeset<17: distanza1 = round((finImpulsion - debutImpulsion) * 340 * 100 / 2, 1) distanza2=distanza if (distanza1-distanza2)<1 e (distanza2-distanza1)0.4: dis=round((60-distance)*5/6, 1) with open('capteur.csv', 'w') come csvfile: capteurwriter= csv.writer(csvfile) time_str= datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S') print('Time:{0} Quantitee:{1}'.format(time_str, dis)) capteurwriter. writerow([time_str, dis]) memory=-0.1 if distance < 52.5: GPIO.output(5, True) else: GPIO.output(5, False) if distance < 45: GPIO.output(6, True) else: GPIO.output(6, False) se distanza < 37.5: GPIO.output(13, True) else: GPIO.output(13, False) se distanza < 30: GPIO.output(19, True) else: GPIO.output(19, False) se distanza < 22.5: GPIO.output(20, True) else: GPIO.output(20, False) se distanza < 15: GPIO.output(21, True) else: GPIO.output(21, False) se distanza < 7.5: GPIO.output(26, True) else: GPIO.output(26, False)
Ecco il codice csvcontrol.py. Non dimenticare di incollare il file ".json" creato nella stessa directory di main.py. Il file ".json" viene creato con l'API di Google. Uno screenshot è disponibile nelle immagini.
import datetimeimport time import csv import gspread
da oauth2client.service_account import ServiceAccountCredentials
da time import sleep import traceback
timec2='lol'
while True: time.sleep(5) loc=('capteur.csv') with open(loc) as csvfile: readCSV = csv.reader(csvfile, delimiter=', ') for row in readCSV: print(row[0]) timec=row[0] print(row[1]) distance=row[1] distance=float(str(distanza)) if timec2!=timec: timec2=timec print('Time:{0} Quantitee:{ 1}'.format(timec, distanza))
SCOPES = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ unità"]
credenziali = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', SCOPES) gc = gspread.authorize(credentials) wks= gc.open("graph").sheet1 wks= wks.append_row((timec, distance))
Consigliato:
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: 3 passaggi
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: La maggior parte delle volte che ho affrontato, non ho una buona potenza del segnale per i miei lavori quotidiani. Così. Cerco e provo diversi tipi di antenna ma non funziona. Dopo aver perso tempo ho trovato un'antenna che spero di realizzare e testare, perché è principio costruttivo non
Rilevamento del volto su Raspberry Pi 4B in 3 passaggi: 3 passaggi
Rilevamento del volto su Raspberry Pi 4B in 3 passaggi: In questo Instructable eseguiremo il rilevamento del volto su Raspberry Pi 4 con Shunya O/S utilizzando la libreria Shunyaface. Shunyaface è una libreria di riconoscimento/rilevamento facciale. Il progetto mira a raggiungere la massima velocità di rilevamento e riconoscimento con
Specchio per il trucco fai-da-te in semplici passaggi (usando le strisce luminose a LED): 4 passaggi
Specchio per il trucco fai-da-te in semplici passaggi (usando le strisce luminose a LED): in questo post, ho realizzato uno specchio per il trucco fai-da-te con l'aiuto delle strisce LED. Sono davvero fantastici e devi provarli anche tu
Gioca a Doom sul tuo iPod in 5 semplici passaggi!: 5 passaggi
Gioca a Doom sul tuo iPod in 5 semplici passaggi!: una guida passo passo su come eseguire il dual-boot di Rockbox sul tuo iPod per giocare a Doom e a dozzine di altri giochi. È qualcosa di veramente facile da fare, ma molte persone rimangono stupite quando mi vedono giocare a doom sul mio iPod e si confondono con le istruzioni
SmartBin: 8 passaggi
SmartBin: Este é um projeto para um sistema inteligente de coletas, no qual os caminhões de lixo recebem dados das lixeiras, identificando a quantidade de lixo presente em cada uma delas, e uma rota de coleta traçada, com base nas informa