Taula de continguts:
- Pas 1: equip SmartBin
- Pas 2: fabricació del Raspberry Box i de la barra LED
- Pas 3: la part de la tapa
- Pas 4: Adquisició de dades i de part del programari
Vídeo: SmartBin: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
L’objectiu principal d’aquest projecte és crear un dispositiu electrònic que utilitzi almenys un Raspberry Pi. L’equip està format per 5 futurs enginyers mecànics i un enginyer automatitzat. El nostre projecte consisteix a fer una paperera que s’obri i es tanca automàticament mitjançant un moviment del peu sota el detector de moviment situat al centre a la part frontal de la paperera. Una memòria USB Wifi s’utilitza per enviar dades a un lloc web. Aquest contenidor es diu "El SmartBin". El vídeo divertit que apareix a dalt presenta el nostre innovador SmartBin.
Per dur a terme aquest projecte i aquest notable SmartBin, van ser necessàries diverses eines:
- Un metre
- Cola forta
- Una cinta adhesiva
- Una serra de fusta
- Un tornavís
- Una màquina de perforar
- Una pinça
- Un ganivet
Pas 1: equip SmartBin
El SmartBin es compon de llums LED de color verd, taronja i vermell que es col·loquen en un dispositiu a la part esquerra de la paperera que indicarà el seu nivell d’ompliment. Aquests llums seran ben visibles i avisaran l’usuari quan calgui substituir la bossa d’escombraries. El llenguatge de programació utilitzat és Python. El nivell d’ompliment mesurat de la paperera es transmet al lloc web següent:
Aquests són els elements que s’han utilitzat, però podeu trobar fàcilment una solució alternativa:
- 1 paperera (paperera "tapa basculant")
- 1 Servomotor per obrir la paperera
- 1 Raspberry Pi 2
- 2 fonts d'alimentació (carregador de telèfon mòbil de 5 V i font d'alimentació de 6 V) per subministrar el Raspberry Pi i el servomotor
- 1 sensor d'ultrasons per mesurar el nivell d'ompliment de la paperera
- Alguns LEDs per mostrar el nivell d'ompliment (4 verds, 2 taronja i 1 vermell)
- 1 Detector de moviment per ultrasons per detectar un moviment
- 1 targeta SD de 16 Gb
- Resistències elèctriques (10.000 ohms, 2000 ohms i 1000 ohms)
- 1 llapis USB WiFi per permetre la transmissió sense fils al lloc web.
- 1 Tauler de pa i alguns cables de gerds
El preu de fabricació estimat és de 80 €.
Pas 2: fabricació del Raspberry Box i de la barra LED
Per fabricar la caixa de gerds, utilitzeu una serra de fusta. Fixeu tots els costats de la caixa amb reblons perquè sembli neta. Com el seu nom indica, aquesta caixa conté no només el Raspberry Pi, sinó que també inclourà el sensor de moviment que col·locareu a la part inferior. Un cop construïda la caixa, pinteu-la del mateix color que la paperera. Es podria utilitzar la tecnologia d’impressió 3D per crear aquesta caixa.
Per a la fabricació de la barra LED, utilitzeu un conducte elèctric en el qual treieu forats per permetre la instal·lació de llums LED. També s’ha de pintar la barra LED. Quan tot estigui a punt, instal·leu els LED al conducte i feu la connexió elèctrica. Presteu atenció a numerar correctament cada cable LED amb cinta adhesiva. Us ajudarà a identificar cada LED durant el cablejat.
Finalment, poseu la caixa i la barra LED a la part frontal de la paperera.
Pas 3: la part de la tapa
Pel que fa a la tapa de la paperera, el primer pas és enganxar el servomotor a la tapa. Cal fer prèviament una extensió del palanquejament. La palanca tocarà una parada que anteriorment es feia a mà. Connecteu una caixa de cargols a la tapa i feu-hi un forat per mantenir el sensor d'ultrasons a la posició correcta. Assegureu-vos de connectar correctament els cables a la tapa amb cinta adhesiva.
Pas 4: Adquisició de dades i de part del programari
Pel que fa a la part del programari, hem utilitzat el llenguatge de programació python. El programa es desa a la targeta SD que serà executada pel Raspberry Pi quan s’encengui. L'esquema de cablejat està disponible més amunt. La imatge dels pins Gpio està disponible per a tots els tipus de gerds a l’enllaç següent:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
És possible utilitzar un sensor d'ultrasons per substituir el detector de moviment, només cal crear un "bucle si" al codi.
Com s’ha esmentat anteriorment, les dades relatives al nivell d’ompliment de la paperera es transmeten a un lloc web creat a wix.com. En aquest lloc web, podeu trobar diferents pestanyes que reuneixen membres de l'equip, presentació de maquinari i programari, … La pestanya interessant és en realitat la pestanya "Base de dades" que recopila la informació sobre la quantitat d'escombraries directament de l'SmartBin i crea un gràfic amb les dades. El gràfic mostra l'evolució del nivell del farciment. És possible veure o descarregar dades del lloc web. L’enllaç següent és el lloc web que hem utilitzat i us mostrarà com llegir i escriure en fulls de google amb python:
www.makeuseof.com/tag/read-write-google-sh…
Quant a la "part d'execució automàtica" del codi, escriviu al terminal: sudo nano / etc / xdg / lxsession / LXDE-pi / autostart
A continuació, al final de l'script que acaba d'obrir, escriviu aquestes dues línies de codi: python /home/pi/main.py & python /home/pi/csvcontrol.py &
Per desar l’aurorun, premeu: C trl + O A continuació, premeu: Enter Aleshores, premeu: C trl + X
Escriviu com a última línia de codi: sudo reboot
També podeu descarregar l’adjunt que és el codi complet de Python utilitzat per al projecte. Tots dos codis s’executen al mateix temps.
Aquí teniu el codi main.py:
importar RPi. GPIO com a GPIO importar importació de temps i hora csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (fals)
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)
Trig = 23
Ressò = 24
GPIO.setup (Trig, GPIO. OUT)
GPIO.setup (Echo, GPIO. IN)
GPIO.setwarnings (fals)
GPIO.output (5, fals)
GPIO.output (6, fals) GPIO.output (13, fals) GPIO.output (19, fals) GPIO.output (20, fals) GPIO.output (21, fals) GPIO.output (26, fals)
GPIO.output (Trig, fals)
timeset = time.time ()
distància = 100 memòria = 0 temps.sleep (2) pwm.start (12.5)
mentre que és cert:
schedulac = time.time () si GPIO.input (capteurP) i schedulac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) memòria = -0.5 pwm. ChangeDutyCycle (0) schedulac = time.time () time.sleep (0,5) si horari-temps> 15 o memòria> 0,4: si memòria> 0,4: pwm. ChangeDutyCycle (2,5) time.sleep (1) per a x en el rang (0, 1): # GPIO.output (Trig, True) time.sleep (0,01) GPIO.output (Trig, False)
mentre GPIO.input (Echo) == 0 i schedulac-timeset <17: schedulac = time.time () debutImpulsion = time.time ()
mentre GPIO.input (Echo) == 1:
finImpulsion = time.time () if schedulac-timeset <17: distance1 = round ((finImpulsion - debutImpulsion) * 340 * 100/2, 1) distance2 = distance if (distance1-distance2) <1 and (distance2-distance1) 0,4: dis = round ((60-distance) * 5/6, 1) with open ('capteur.csv', 'w') as csvfile: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now (), '% Y-% m-% d% H:% M:% S') print ('Hora: {0} Quantitat: {1}'. format (time_str, dis)) capteurwriter. writerow ([time_str, dis]) memòria = -0,1 si distància <52,5: GPIO.output (5, True) else: GPIO.output (5, False) si distance <45: GPIO.output (6, True) else: GPIO.output (6, False) si la distància <37,5: GPIO.output (13, True) else: GPIO.output (13, False) si la distància <30: GPIO.output (19, True) else: GPIO.output (19, fals) si distància <22,5: sortida GPIO (20, cert) en cas contrari: sortida GPIO (20, fals) si distància <15: sortida GPIO (21, vertader) en cas contrari: sortida GPIO (21, fals) si distància <7,5: GPIO.output (26, True) en cas contrari: GPIO.output (26, False)
Aquí teniu el codi csvcontrol.py. No oblideu enganxar el fitxer ".json" creat al mateix directori de main.py. El fitxer ".json" es crea amb l'API de Google. Hi ha disponible una captura de pantalla a les imatges.
import datetime import time import csv import gspread
de la importació oauth2client.service_account ServiceAccountCredentials
a partir de l'hora d'importació importació de son de retrocés
timec2 = 'jeje'
mentre que True: time.sleep (5) loc = ('capteur.csv') amb open (loc) com a fitxer csv: readCSV = csv.reader (csvfile, delimiter = ',') per a la fila de readCSV: print (fila [0]) timec = fila [0] imprimir (fila [1]) distància = fila [1] distància = flotant (str (distància)) si timec2! = timec: timec2 = timec imprimir ('Temps: {0} Quantitat: { 1} '. Format (timec, distància))
SCOPES = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ conduir"]
credencials = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (credencials) wks = gc.open ("gràfic"). sheet1 wks = wks.append_row ((timec, distància))
Recomanat:
Disseny de jocs en Flick en 5 passos: 5 passos
Disseny de jocs en Flick en 5 passos: Flick és una manera molt senzilla de fer un joc, sobretot com un trencaclosques, una novel·la visual o un joc d’aventures
Detecció de cares a Raspberry Pi 4B en 3 passos: 3 passos
Detecció de cares a Raspberry Pi 4B en 3 passos: en aquest manual, farem la detecció de cares a Raspberry Pi 4 amb Shunya O / S mitjançant la biblioteca Shunyaface. Shunyaface és una biblioteca de reconeixement / detecció de cares. El projecte té com a objectiu aconseguir una velocitat de detecció i reconeixement més ràpida amb
Com fer un comptador de passos ?: 3 passos (amb imatges)
Com fer un comptador de passos ?: Jo solia tenir un bon rendiment en molts esports: caminar, córrer, anar en bicicleta, jugar a bàdminton, etc. M’encanta viatjar poc després. Bé, mireu el meu ventre corpulent … Bé, de totes maneres, decideixo tornar a començar a fer exercici. Quin equip he de preparar?
Mirall de vanitat de bricolatge en passos senzills (amb llums de tira LED): 4 passos
Mirall de vanitat de bricolatge en passos senzills (amb llums de tires LED): en aquest post vaig crear un mirall de vanitat de bricolatge amb l'ajut de les tires LED. És molt genial i també heu de provar-les
SmartBin: 8 passos
SmartBin: Este é um projecto 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