Sisukord:
- Samm: SmartBini seadmed
- Samm: valmistage vaarikakarp ja LED -riba
- 3. samm: kaane osa
- 4. samm: tarkvara osa ja andmete hankimine
Video: SmartBin: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Selle projekti peamine eesmärk on luua elektrooniline seade, mis kasutab vähemalt ühte Raspberry Pi. Meeskonda kuulub 5 tulevast mehaanikainseneri ja üks automaatikainsener. Meie projekt seisneb prügikasti valmistamises, mis avaneb ja sulgub automaatselt jalgade liikumise tõttu liikumisanduri all, mis asub prügikasti esiküljel. Wifi USB -mälupulka kasutatakse andmete saatmiseks veebisaidile. Seda prügikasti nimetatakse "SmartBiniks". Ülaltoodud humoorikas video tutvustab meie uuenduslikku SmartBini.
Selle projekti ja selle tähelepanuväärse SmartBini elluviimiseks oli vaja mitmeid tööriistu:
- Meeter
- Tugev liim
- Kleeplint
- Puidust saag
- Kruvikeeraja
- Puurmasin
- Klamber
- Nuga
Samm: SmartBini seadmed
SmartBin koosneb rohelistest, oranžidest ja punastest LED -tuledest, mis on paigutatud prügikasti vasakul küljel asuvale seadmele, mis näitab selle täitmist. Need tuled on selgelt nähtavad ja hoiatavad kasutajat, kui on vaja prügikott välja vahetada. Programmeerimiskeeleks on Python. Prügikasti mõõdetud täitmistase edastatakse järgmisele veebisaidile:
Siin on kasutatud elemendid, kuid leiate hõlpsalt alternatiivse lahenduse.
- 1 prügikast (kiigekaane prügikast)
- 1 Servomootor prügikasti avamiseks
- 1 Vaarika Pi 2
- 2 toiteallikat (5 V mobiililaadija ja 6 V toiteallikas) Raspberry Pi ja servomootori varustamiseks
- 1 Ultraheliandur prügikasti täitmistaseme mõõtmiseks
- Mõned LED -id näitavad täitmistaset (4 rohelist, 2 oranži ja 1 punast)
- 1 Ultraheli liikumisandur liikumise tuvastamiseks
- 1 16 GB SD-kaart
- Elektrilised takistid (10 000 oomi, 2000 oomi ja 1000 oomi)
- 1 WiFi USB -mälupulk, mis võimaldab veebisaidile juhtmevabalt edastada.
- 1 Leivalaud ja mõned vaarikakaablid
Hinnanguline tootmishind on 80 €.
Samm: valmistage vaarikakarp ja LED -riba
Vaarika kasti valmistamiseks kasutage puidusaega. Kinnitage karbi iga külg neetidega, et see puhas välja näeks. Nagu nimigi ütleb, sisaldab see kast mitte ainult Raspberry Pi, vaid sisaldab ka liikumisandurit, mille paigutate selle põhja. Kui kast on ehitatud, värvige see prügikastiga sama värvi. Selle kasti loomiseks võiks kasutada 3D printimise tehnoloogiat.
LED -riba valmistamiseks kasutage elektrilist kanalit, millesse puurite auke, et võimaldada LED -tulede paigaldamist. LED -riba tuleb ka värvida. Kui kõik on valmis, paigaldage valgusdioodid kanalisse ja tehke elektriühendus. Pöörake tähelepanu iga LED -kaabli nõuetekohasele nummerdamisele kleeplindiga. See aitab teil juhtmestiku ajal iga LED -i tuvastada.
Lõpuks kinnitage kast ja LED -riba prügikasti esiküljele.
3. samm: kaane osa
Prügikasti kaane osas tuleb esimene samm servomootor kaane külge liimida. Finantsvõimendust tuleb eelnevalt pikendada. Hoob tabab peatust, mis oli varem käsitsi valmistatud. Kinnitage kruvikarp kaane külge ja tehke sellesse auk, et hoida ultraheliandurit õiges asendis. Veenduge, et kinnitate kaabli kaabli külge teibiga õigesti.
4. samm: tarkvara osa ja andmete hankimine
Tarkvara osas kasutasime programmeerimiskeelt python. Programm salvestatakse SD-kaardile, mida käivitab Raspberry Pi, kui see sisse lülitatakse. Juhtmestiku skeem on ülalpool saadaval. Gpio tihvtide pilt on saadaval kõigi vaarikatüüpide jaoks alloleval lingil:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
Liikumisanduri asendamiseks on võimalik kasutada ultraheliandurit, peate lihtsalt looma koodi "if loop".
Nagu eespool mainitud, edastatakse prügikasti täitmise taset puudutavad andmed veebisaidile wix.com loodud veebisaidile. Sellel veebisaidil leiate erinevaid vahekaarte, mis koondavad meeskonnaliikmeid, riist- ja tarkvaraesitust,… Huvitav vahekaart on tegelikult vahekaart „Andmebaas”, mis kogub prügikoguse kohta teavet otse SmartBinist ja loob andmetega graafiku. Graafik näitab täidise taseme arengut. Andmeid on võimalik veebisaidilt vaadata või alla laadida. Alloleval lingil on veebisait, mida kasutasime, ja see näitab teile, kuidas lugeda ja kirjutada Google'i lehtedel pythoniga:
www.makeuseof.com/tag/read-write-google-sh…
Koodi "autorun osa" kohta kirjutage terminali: sudo nano/etc/xdg/lxsession/LXDE-pi/autostart
Seejärel kirjutage äsja avatud skripti lõppu need kaks koodirida: python /home/pi/main.py & python /home/pi/csvcontrol.py &
Auroruni salvestamiseks vajutage: C trl + O Seejärel vajutage: Enter Seejärel vajutage: C trl + X
Kirjutage viimase koodireana: sudo reboot
Samuti saate alla laadida manuse, mis on projekti jaoks kasutatud täielik püütoni kood. Mõlemat koodi käitatakse korraga!
Siin on kood main.py:
RPi. GPIO importimine GPIO -na Impordi kuupäeva ja aja importimise aeg impordi csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (vale)
kaptenP = 7
servo = 17
GPIO.seadistus (servo, GPIO. OUT)
GPIO.seadistus (capteurP, GPIO. IN)
pwm = GPIO. PWM (17, 50)
GPIO.seadistus (5, GPIO. OUT)
GPIO.seadistus (6, GPIO. OUT) GPIO.seadistus (13, GPIO. OUT) GPIO.seadistus (19, GPIO. OUT) GPIO.seadistus (20, GPIO. OUT) GPIO.seadistus (21, GPIO. OUT) GPIO.seadistus (26, GPIO. OUT)
Trig = 23
Kaja = 24
GPIO.seadistus (käivitus, GPIO. OUT)
GPIO.seadistus (kaja, GPIO. IN)
GPIO.setwarnings (vale)
GPIO.väljund (5, vale)
GPIO.väljund (6, vale) GPIO.väljund (13, vale) GPIO.väljund (19, vale) GPIO.väljund (20, vale) GPIO.väljund (21, vale) GPIO.väljund (26, vale)
GPIO.väljund (käivitus, vale)
timeset = time.time ()
kaugus = 100 mälu = 0 aega. uni (2) pwm. algus (12,5)
kuigi tõsi:
timetac = time.time () kui GPIO.input (capteurP) ja timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) mälu = -0,5 pwm. ChangeDutyCycle (0) timetac = time.time () time.sleep (0,5), kui timetac-timeset> 15 või mälu> 0,4: kui mälu> 0,4: pwm. ChangeDutyCycle (2,5) time.sleep (1) x vahemikus (0, 1): # GPIO.output (Trig, Tõsi) time.sleep (0,01) GPIO.väljund (käivitus, vale)
samas kui GPIO.input (Echo) == 0 ja timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()
samas kui GPIO.input (kaja) == 1:
finImpulsion = time.time () kui timetac-timeset <17: distance1 = round ((finImpulsion-debutImpulsion) * 340 * 100 /2, 1) distance2 = distants, kui (kaugus1-vahemaa2) <1 ja (kaugus2-vahemaa1) 0,4: dis = ümmargune ((60-distants)*5/6, 1) avatud ('capteur.csv', 'w') kui csv-fail: 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. writtenow ([time_str, dis]) mälu = -0,1, kui kaugus <52,5: GPIO.väljund (5, tõene) else: GPIO.väljund (5, vale), kui kaugus <45: GPIO.väljund (6, tõsi) muu: GPIO.väljund (6, vale), kui kaugus <37,5: GPIO.väljund (13, tõsi) muu: GPIO.väljund (13, vale), kui kaugus <30: GPIO.väljund (19, tõene) muu: GPIO.väljund (19, vale), kui kaugus <22,5: GPIO.väljund (20, tõene) muu: GPIO.väljund (20, vale), kui kaugus <15: GPIO.väljund (21, tõene) muu: GPIO.väljund (21, vale) kui kaugus <7,5: GPIO.väljund (26, tõene) muu: GPIO.väljund (26, vale)
Siin on kood csvcontrol.py. Ärge unustage kleepida loodud ".json" faili samasse kataloogi main.py. Fail ".json" luuakse Google'i API abil. Piltidel on saadaval ekraanipilt.
import datetimeimport aeg import csv import gspread
saidilt oauth2client.service_account import ServiceAccountCredentials
ajast impordi unerežiimi impordi jälgimine
timec2 = 'lol'
samas tõsi: time.sleep (5) loc = ('capteur.csv') avatud (loc) kui csvfile: readCSV = csv.reader (csvfile, delimiter = ',') readCSV rea jaoks: print (rida [0]) timec = rida [0] print (rida [1]) kaugus = rida [1] kaugus = ujuk (str (kaugus)), kui timec2! = timec: timec2 = timec print ('Aeg: {0} Kvantiteet: { 1} '. Vorming (timec, vahemaa))
KOHALDAMISALA = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ sõita "]
volikirjad = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (mandaat) wks = gc.open ("graph"). sheet1 wks = wks.append_row ((timec, distance))
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
SmartBin: 8 sammu
SmartBin: Este é um projeto para um süsteem inteligente de coletas, no qual os caminh õ es de lixo recebem dados das lixeiras, identifitseeri a quantidade de lixo presente em cada uma delas, e uma rota de coleta tra ç ada, com base nas information