Cov txheej txheem:
- Kauj Ruam 1: Cov Khoom Siv SmartBin
- Kauj Ruam 2: Kev Tsim Khoom ntawm Raspberry Box thiab LED Bar
- Kauj Ruam 3: Tshooj Ntim
- Kauj Ruam 4: Software Tshooj thiab Tau Txais Cov Ntaub Ntawv
Video: SmartBin: 4 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Lub hom phiaj tseem ceeb ntawm txoj haujlwm no yog tsim cov khoom siv hluav taws xob uas siv tsawg kawg ib qho Raspberry Pi. Pab neeg no yog ua los ntawm 5 tus kws kho tshuab yav tom ntej thiab ib tus kws tshaj lij tshuab tshuab. Peb tes num suav nrog ua cov thoob khib nyiab uas qhib thiab kaw tau qhov tshwm sim los ntawm kev txav taw hauv qab lub suab ntsuas pom nyob hauv nruab nrab ntawm pem hauv ntej ntawm lub thoob khib nyiab. Wifi USB stick siv los xa cov ntaub ntawv mus rau lub vev xaib. Lub thoob no hu ua "The SmartBin". Cov vis dis aus lom zem saum toj no qhia peb qhov SmartBin tshiab.
Txhawm rau ua tiav txoj haujlwm no thiab SmartBin zoo kawg, ntau yam cuab yeej tsim nyog:
- Ib lub 'meter'
- Cov kua nplaum muaj zog
- Ib daim kab xev nplaum
- Ntoo pom
- Tus ntsia hlau
- Lub tshuab laum
- Ib qho clamp
- Riam
Kauj Ruam 1: Cov Khoom Siv SmartBin
SmartBin yog tsim los ntawm ntsuab, txiv kab ntxwv thiab liab LED teeb uas tau muab tso rau ntawm lub teeb ntawm sab laug ntawm lub thoob uas yuav qhia tias nws puv li cas. Cov teeb no yuav pom meej thiab yuav ceeb toom rau tus neeg siv thaum nws tsim nyog los hloov lub hnab ntim cov thoob khib nyiab. Cov lus programming siv yog Python. Qhov ntsuas ntsuas qib ntawm lub thoob raug xa mus rau lub vev xaib hauv qab no:
Nov yog cov ntsiab lus uas tau siv lawm tab sis koj tuaj yeem yooj yim nrhiav lwm txoj hauv kev daws teeb meem:
- 1 Hauv ("viav vias npog" rau hauv)
- 1 Servomotor qhib lub thoob
- 1 Raspberry Pi 2
- 2 Cov khoom siv hluav taws xob (5V lub xov tooj ntawm tes them nyiaj thiab 6V lub zog xa khoom) txhawm rau muab Raspberry Pi thiab servomotor
- 1 Ultrasonic sensor txhawm rau ntsuas qib ntim ntawm lub thoob
- Qee qhov LED los tso saib qib sau (4 ntsuab, 2 txiv kab ntxwv thiab 1 liab)
- 1 Ultrasonic tsab ntawv tsa suab ntes kom txav tau
- 1 16Gb SD-daim npav
- Hluav taws xob resistors (10,000 Ohms, 2000 Ohms thiab 1000 Ohms)
- 1 WiFi usb lo kom pab tau kev sib txuas wireless mus rau lub vev xaib.
- 1 Breadboard thiab qee cov kab Raspberry
Tus nqi tsim khoom kwv yees yog 80 €.
Kauj Ruam 2: Kev Tsim Khoom ntawm Raspberry Box thiab LED Bar
Txhawm rau tsim lub thawv Raspberry, siv ntoo pom. Khaws txhua sab ntawm lub npov nrog rivets kom nws zoo nkauj. Raws li nws lub npe qhia, lub npov no nws yuav tsis tsuas yog Raspberry Pi tab sis tseem yuav suav nrog lub suab txav uas koj yuav tso rau hauv qab. Thaum lub thawv raug tsim, pleev xim rau xim tib yam li lub thoob. 3D tshuab luam ntawv tuaj yeem siv los tsim lub npov no.
Txog kev tsim khoom ntawm LED bar, siv cov kab hluav taws xob uas koj tau khawb qhov kom tso cov teeb LED teeb tsa. LED bar kuj tseem yuav tsum tau pleev xim. Thaum txhua yam npaj txhij, teeb tsa cov LEDs hauv cov ciav dej thiab ua qhov txuas hluav taws xob. Ua tib zoo saib tus lej kom raug txhua kab lus LED nrog daim kab xev nplaum. Nws yuav pab koj txheeb xyuas txhua tus LED thaum txuas kab.
Thaum kawg, muab lub npov thiab LED kab rau sab xub ntiag ntawm koj lub thoob.
Kauj Ruam 3: Tshooj Ntim
Hais txog lub hau ntawm lub thoob, thawj kauj ruam yog lo cov servomotor rau lub hau. Kev txuas ntxiv ntawm kev quab yuam yuav tsum tau ua yav dhau los. Qib yuav tsoo qhov nres uas tau xuas tes ua yav tas los. Txuas lub hau ntswj rau lub hau thiab ua lub qhov nyob rau hauv thiaj li yuav tuav lub ultrasonic sensor nyob rau hauv txoj haujlwm raug. Xyuas kom tseeb tias koj txuas cov hlua txuas ntawm lub hau kom raug.
Kauj Ruam 4: Software Tshooj thiab Tau Txais Cov Ntaub Ntawv
Hais txog qhov software ib feem, peb siv cov lus sau ua nab nab. Txoj haujlwm tau txais kev cawmdim hauv SD-daim npav uas yuav ua los ntawm Raspberry Pi thaum nws tau qhib. Cov phiaj xwm thaiv tau muaj nyob saum toj no. Daim duab Gpio pins muaj rau txhua hom raspberry ntawm qhov txuas hauv qab no:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
Nws muaj peev xwm siv lub ntsuas hluav taws xob ultrasonic los hloov lub ntsuas lub zog, koj tsuas yog yuav tsum tsim "yog lub voj" hauv cov cai.
Raws li tau hais los saud, cov ntaub ntawv hais txog qib uas lub ntim ntim tau raug xa mus rau lub vev xaib tsim los ntawm wix.com. Hauv lub vev xaib no, koj tuaj yeem pom cov tab sib txawv uas sib sau ua ke cov tswv cuab, kho vajtse thiab nthuav qhia software,… tab nthuav tab yog qhov "Database" tab uas sau cov ntaub ntawv hais txog cov thoob khib nyiab ncaj qha los ntawm SmartBin thiab tsim kab ntawv nrog cov ntaub ntawv. Daim duab qhia txog kev hloov pauv ntawm qib ntawm kev txhaws. Nws tuaj yeem pom lossis rub cov ntaub ntawv los ntawm lub vev xaib. Qhov txuas hauv qab no yog lub vev xaib peb siv thiab yuav qhia koj yuav ua li cas nyeem thiab sau hauv google nplooj ntawv nrog nab nab:
www.makeuseof.com/tag/read-write-google-sh…
Hais txog "autorun ib feem" ntawm cov cai, sau rau hauv lub davhlau ya nyob twg: sudo nano/etc/xdg/lxsession/LXDE-pi/autostart
Tom qab ntawd, thaum kawg ntawm tsab ntawv uas nyuam qhuav qhib, sau ob kab kab no: nab nab /home/pi/main.py & nab nab /home/pi/csvcontrol.py &
Txhawm rau txuag lub aurorun, nias: C trl + O Tom qab ntawd, nias: Nkag Mus Tom Qab, nias: C trl + X
Sau raws li kab kab kawg: sudo reboot
Koj kuj tseem tuaj yeem rub daim ntawv txuas uas yog tag nrho cov nab npawb nab npawb siv rau txoj haujlwm. Ob tus lej tau khiav tib lub sijhawm!
Nov yog qhov main.py code:
ntshuam RPi. GPIO li GPIOimport datetime ntshuam lub sijhawm ntshuam csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (Cuav)
capteurP = 7
siv = 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)
Luas = 23
Ncha = 24
GPIO.setup (Trig, GPIO. OUT)
GPIO.setup (Echo, GPIO. IN)
GPIO.setwarnings (Cuav)
GPIO.output (5, Tsis tseeb)
GPIO.output (6, Cuav) GPIO.output (13, Cuav) GPIO.output (19, Cuav) GPIO.output (20, Cuav) GPIO.output (21, Cuav) GPIO.output (26, Cuav)
GPIO.output (Trig, False)
timeset = sijhawm.time ()
distance = 100 memory = 0 time.sleep (2) pwm.start (12.5)
thaum Muaj Tseeb:
timetac = time.time () yog GPIO.input (capteurP) thiab timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) nco = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () time.sleep (0.5) yog timetac-timeset> 15 lossis nco> 0.4: yog nco> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) rau x hauv ntau (0, 1): # GPIO.output (Trig, Tseeb) time.sleep (0.01) GPIO.output (Trig, False)
thaum GPIO.input (Echo) == 0 thiab timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()
thaum GPIO.input (Echo) == 1:
finImpulsion = time.time () yog timetac-timeset <17: distance1 = round ((finImpulsion-debutImpulsion) * 340 * 100/2, 1) nrug2 = nrug yog (nrug 1-nrug 2) <1 thiab (nrug 2-nrug 1) 0.4: dis = puag ncig ((60-nrug)*5/6, 1) nrog qhib ('capteur.csv', 'w') raws li csvfile: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now (), '%Y-%m-%d%H:%M:%S') print ('Sijhawm: {0} Quantitee: {1}'. format (time_str, dis)) capteurwriter. writerow ([time_str, dis]) nco = -0.1 yog qhov deb <52.5: GPIO.output (5, Tseeb) lwm qhov: GPIO.output (5, Cuav) yog nrug <45: GPIO.output (6, Muaj tseeb) lwm qhov: GPIO.output (6, Cuav) yog nrug <37.5: GPIO.output (13, Muaj tseeb) lwm qhov: GPIO.output (13, Cuav) yog nrug <30: GPIO.output (19, Muaj tseeb) lwm qhov: GPIO.output (19, Cuav) yog nrug <22.5: GPIO.output (20, Muaj tseeb) lwm qhov: GPIO.output (20, Cuav) yog nrug <15: GPIO.output (21, Muaj tseeb) lwm qhov: GPIO.output (21, Tsis tseeb) yog nrug deb <7.5: GPIO.output (26, Muaj tseeb) lwm qhov: GPIO.output (26, Tsis tseeb)
Nov yog tus lej csvcontrol.py. Tsis txhob hnov qab muab cov ntawv ".json" tsim rau hauv tib phau ntawv ntawm main.py. Cov ntaub ntawv ".json" tau tsim nrog google API. Lub screenshot muaj nyob hauv cov duab.
ntshuam datetimeimport lub sijhawm ntshuam csv ntshuam gspread
los ntawm oauth2client.service_account ntshuam ServiceAccountCredentials
los ntawm lub sijhawm ntshuam ntshuam ntshuam traceback
timec2 = 'lolx'
thaum muaj tseeb: sijhawm.sleep (5) loc = ('capteur.csv') nrog qhib (loc) li csvfile: readCSV = csv.reader (csvfile, delimiter = ',') rau kab hauv readCSV: luam tawm (kab [0]) timec = row [0] print (row [1]) distance = row [1] distance = float (str (distance)) if timec2! = timec: timec2 = timec print ('Sijhawm: {0} Quantitee: { 1} '. Hom ntawv (timec, nrug))
SCOPES = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ tsav "]
daim ntawv pov thawj = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (credentials) wks = gc.open ("graph"). sheet1 wks = wks.append_row ((timec, nrug))
Pom zoo:
Arduino Tsheb Rov Qab Chaw Nres Tsheb Ceeb Toom - Cov Kauj Ruam ntawm Kauj Ruam: 4 Kauj Ruam
Arduino Tsheb Rov Qab Chaw Nres Tsheb Ceeb Toom | Cov kauj ruam ib kauj ruam: Hauv txoj haujlwm no, kuv yuav tsim qhov yooj yim Arduino Tsheb Rov Qab Tsheb Nres Tsheb Nres Sensor Siv Arduino UNO thiab HC-SR04 Ultrasonic Sensor. Qhov no Arduino raws Lub Tsheb Rov Qab ceeb toom tuaj yeem siv rau Kev Tshawb Fawb Txog Tus Kheej, Robot Ranging thiab lwm yam
Tsev Automation Kauj Ruam ntawm Kauj Ruam Siv Wemos D1 Mini Nrog PCB Tsim: 4 Kauj Ruam
Tsev Automation Kauj Ruam Ib Leeg Siv Wemos D1 Mini Nrog PCB Tsim: Tsev Automation Kauj Ruam los ntawm Kauj Ruam siv Wemos D1 Mini nrog PCB Tsim cov tub ntxhais kawm ntawv qib siab. Tom qab ntawd ib tus ntawm peb cov tswv cuab tuaj
RC Taug Qab Neeg Hlau Siv Arduino - Kauj Ruam Ib kauj ruam: 3 Kauj Ruam
RC Tracked Robot Siv Arduino - Kauj Ruam Ib Nrab: Hav guys, Kuv rov qab los nrog lwm tus neeg hlau txias chassis los ntawm BangGood. Vam tias koj tau dhau los ntawm peb cov phiaj xwm yav dhau los - Spinel Crux V1 - Tus Cwj Pwm Tswj Tus Neeg Hlau, Spinel Crux L2 - Arduino Xaiv thiab Muab Neeg Hlau nrog Robotic caj npab thiab Badland Braw
Kawm Yuav Ua Li Cas Kos Tus Tswm Ciab - Kauj Ruam Ib Kauj Ruam: 6 Kauj Ruam
Kawm Yuav Ua Li Cas Thiaj Li Tswmciab - Kauj Ruam Ib kauj ruam: Cov tswm ciab no siv sijhawm 10 feeb los kos yog tias koj ua raws kuv cov kauj ruam ua tib zoo
SmartBin: 8 Kauj Ruam
SmartBin: Zoo é um projeto para um sistema inteligente de coletas, tsis muaj peev xwm os caminh õ es de lixo recebem dados das lixeiras, txheeb ze thiab muaj nuj nqis de lixo presente em cada uma delas, e uma rota de coleta tra ç ada, com base nas informa