Talaan ng mga Nilalaman:

SmartBin: 4 na Hakbang
SmartBin: 4 na Hakbang

Video: SmartBin: 4 na Hakbang

Video: SmartBin: 4 na Hakbang
Video: Вязание носков на 5 спицах для начинающих пошагово видео 2024, Nobyembre
Anonim
Image
Image

Ang pangunahing layunin ng proyektong ito ay upang lumikha ng isang elektronikong aparato na gumagamit ng hindi bababa sa isang Raspberry Pi. Ang koponan ay gawa sa 5 hinaharap na mga mechanical engineer at isang automation engineer. Ang aming proyekto ay binubuo ng paggawa ng isang basurahan na bubukas at isara ang awtomatikong na-trigger ng isang paggalaw ng paa sa ilalim ng detektor ng paggalaw na matatagpuan sa gitna sa harap ng basurahan. Ginagamit ang isang Wifi USB stick upang magpadala ng data sa isang website. Ang bin na ito ay tinawag na "The SmartBin". Ang nakakatawang video sa itaas ay ipinakikilala ang aming makabagong SmartBin.

Upang maisakatuparan ang proyektong ito at ang kamangha-manghang SmartBin na ito, maraming mga tool ang kinakailangan:

  • Isang metro
  • Malakas na pandikit
  • Isang adhesive tape
  • Isang kahoy na nakita
  • Isang distornilyador
  • Isang drill machine
  • Isang salansan
  • Isang kutsilyo

Hakbang 1: Kagamitan ng SmartBin

Kagamitan sa SmartBin
Kagamitan sa SmartBin
Kagamitan sa SmartBin
Kagamitan sa SmartBin

Ang SmartBin ay binubuo ng berde, kahel at pula na mga LED light na inilalagay sa isang kabit sa kaliwang bahagi ng basurahan na magpapahiwatig kung gaano ito napunan. Ang mga ilaw na ito ay malinaw na makikita at aalerto ang gumagamit kung kinakailangan na palitan ang basurahan. Ang wikang ginagamit sa programa ay ang Python. Ang sinusukat na antas ng pagpuno ng basura ay inililipat sa sumusunod na website:

Narito ang mga elemento na nagamit ngunit madali kang makakahanap ng isang kahaliling solusyon:

  • 1 Bin (bin "cover ng swing")
  • 1 Servomotor upang buksan ang basurahan
  • 1 Raspberry Pi 2
  • 2 Mga power supply (5V charger ng mobile phone at 6V power supply) upang maibigay ang Raspberry Pi at ang servomotor
  • 1 Ultrasonic sensor upang masukat ang antas ng pagpuno ng basurahan
  • Ang ilang mga LED upang ipakita ang antas ng pagpuno (4 berde, 2 kahel at 1 pula)
  • 1 Ultrasonic motion detector upang makita ang isang kilusan
  • 1 16Gb SD-card
  • Mga de-koryenteng resistors (10.000 Ohms, 2000 Ohms at 1000 Ohms)
  • 1 WiFi usb stick upang paganahin ang wireless transmission sa website.
  • 1 Breadboard at ilang mga Raspberry cable

Ang tinatayang presyo ng pagmamanupaktura ay 80 €.

Hakbang 2: Paggawa ng Raspberry Box at LED Bar

Paggawa ng Raspberry Box at ng LED Bar
Paggawa ng Raspberry Box at ng LED Bar
Paggawa ng Raspberry Box at ng LED Bar
Paggawa ng Raspberry Box at ng LED Bar
Paggawa ng Raspberry Box at ng LED Bar
Paggawa ng Raspberry Box at ng LED Bar

Upang magawa ang kahon na Raspberry, gumamit ng lagari sa kahoy. I-fasten ang bawat gilid ng kahon ng mga rivet upang magmukhang malinis ito. Tulad ng iminumungkahi ng pangalan nito, ang kahon na ito ay naglalaman ito hindi lamang ang Raspberry Pi ngunit isasama rin ang sensor ng paggalaw na ilalagay mo sa ibaba. Kapag nabuo na ang kahon, pintura ito sa parehong kulay ng basurahan. Maaaring gamitin ang teknolohiya sa pag-print ng 3D upang likhain ang kahong ito.

Para sa paggawa ng LED bar, gumamit ng isang electric duct kung saan ka drill hole upang payagan ang mga ilaw na LED na mai-install. Ang LED bar ay dapat ding lagyan ng kulay. Kapag handa na ang lahat, i-install ang mga LED sa maliit na tubo at gawin ang koneksyon sa kuryente. Magbayad ng pansin sa maayos na bilang ng bawat LED cable na may adhesive tape. Tutulungan ka nitong makilala ang bawat LED sa panahon ng mga kable.

Panghuli, ikabit ang kahon at ang LED bar sa harap ng iyong basurahan.

Hakbang 3: Ang Bahagi ng Lid

Ang Bahagi ng Lid
Ang Bahagi ng Lid
Ang Bahagi ng Lid
Ang Bahagi ng Lid

Tungkol sa takip ng basurahan, ang unang hakbang ay upang ipako ang servomotor sa talukap ng mata. Ang isang extension ng leverage ay kailangang gawin dati. Ang pingga ay tatama sa isang hintuan na dating gawa ng kamay. Maglakip ng isang kahon ng tornilyo sa takip at gumawa ng isang butas dito upang hawakan ang ultrasonic sensor sa tamang posisyon. Tiyaking tama ang iyong pagkakabit ng mga kable sa takip gamit ang tape.

Hakbang 4: Bahagi ng Software at Pagkuha ng Data

Bahagi ng Software at Pagkuha ng Data
Bahagi ng Software at Pagkuha ng Data
Bahagi ng Software at Pagkuha ng Data
Bahagi ng Software at Pagkuha ng Data
Bahagi ng Software at Pagkuha ng Data
Bahagi ng Software at Pagkuha ng Data

Tungkol sa bahagi ng software, ginamit namin ang wika ng programang sawa. Ang programa ay nai-save sa SD-card na tatakbo ng Raspberry Pi kapag ito ay naka-on. Ang scheme ng mga kable ay magagamit sa itaas. Ang imahe ng mga pin ng Gpio ay magagamit para sa lahat ng mga uri ng raspberry sa link sa ibaba:

www.raspberrypi-spy.co.uk/2012/06/simple-g…

Posibleng gumamit ng isang ultrasonic sensor upang mapalitan ang detector ng paggalaw, kailangan mo lamang lumikha ng isang "kung loop" sa code.

Tulad ng nabanggit sa itaas, ang data tungkol sa antas kung saan napunan ang basurahan ay inililipat sa isang website na nilikha sa wix.com. Sa website na ito, mahahanap mo ang iba't ibang mga tab na nagtitipon ng mga miyembro ng koponan, pagtatanghal ng hardware at software,… Ang kagiliw-giliw na tab ay talagang ang tab na "Database" na nangongolekta ng impormasyon tungkol sa dami ng basurahan na direkta mula sa SmartBin at lumilikha ng isang grap na may data. Ipinapakita ng grap ang ebolusyon ng antas ng pagpuno. Posibleng makita o mag-download ng mga datas mula sa website. Ang link sa ibaba ay ang website na ginamit namin at ipapakita sa iyo kung paano magbasa at magsulat sa mga sheet ng google na may sawa:

www.makeuseof.com/tag/read-write-google-sh…

Tungkol sa "bahagi ng autorun" ng code, isulat sa terminal: sudo nano / etc / xdg / lxsession / LXDE-pi / autostart

Pagkatapos, sa dulo ng script na kung saan ay bubukas lamang, isulat ang dalawang mga linya ng code na ito: python /home/pi/main.py & python /home/pi/csvcontrol.py &

Upang mai-save ang aurorun, pindutin ang: C trl + O Pagkatapos, pindutin ang: Enter Then, press: C trl + X

Sumulat bilang huling linya ng code: sudo reboot

Nagagawa mo ring i-download ang kalakip na kung saan ay ang buong python code na ginamit para sa proyekto. Ang parehong mga code ay tumatakbo nang sabay!

Narito ang pangunahing.py code:

i-import ang RPi. GPIO bilang GPIOimport datime import time import csv

GPIO.setmode (GPIO. BCM)

GPIO.setwarnings (Mali)

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

Echo = 24

GPIO.setup (Trig, GPIO. OUT)

GPIO.setup (Echo, GPIO. IN)

GPIO.setwarnings (Mali)

GPIO.output (5, Mali)

GPIO.output (6, Mali) GPIO.output (13, Mali) GPIO.output (19, Mali) GPIO.output (20, Mali) GPIO.output (21, Mali) GPIO.output (26, Mali)

GPIO.output (Trig, Mali)

Oras = oras. oras ()

distansya = 100 memorya = 0 oras. pagtulog (2) pwm.start (12.5)

habang Totoo:

timetac = time.time () kung GPIO.input (capteurP) at timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.s Sleep (0.2) memory = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () oras. tulog (0.5) kung timetac-timeset> 15 o memorya> 0.4: kung memorya> 0.4: pwm. ChangeDutyCycle (2.5) oras. tulog (1) para sa x sa saklaw (0, 1): # GPIO.output (Trig, Totoo) oras. Natutulog (0.01) GPIO.output (Trig, Mali)

habang GPIO.input (Echo) == 0 at timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()

habang GPIO.input (Echo) == 1:

finImpulsion = time.time () kung timetac-timeset <17: distance1 = bilog ((finImpulsion - debutImpulsion) * 340 * 100/2, 1) distansya2 = distansya kung (distansya1-distansya2) <1 at (distansya2-distansya1) 0.4: dis = bilog ((60-distansya) * 5/6, 1) na may bukas ('capteur.csv', 'w') bilang csvfile: capteurwriter = csv.writer (csvfile) time_str = datime.datime.strftime (datime.datetime.now (), '% Y-% m-% d% H:% M:% S') print ('Oras: {0} Quantitee: {1}'. format (time_str, dis)) capteurwriter. writerow ([time_str, dis]) memorya = -0.1 kung distansya <52.5: GPIO.output (5, True) iba pa: GPIO.output (5, Mali) kung distansya <45: GPIO.output (6, True) iba pa: GPIO.output (6, Mali) kung distansya <37.5: GPIO.output (13, True) iba pa: GPIO.output (13, Mali) kung distansya <30: GPIO.output (19, True) iba pa: GPIO.output (19, Mali) kung distansya <22.5: GPIO.output (20, True) iba pa: GPIO.output (20, Mali) kung distansya <15: GPIO.output (21, True) iba pa: GPIO.output (21, Mali) kung distansya <7.5: GPIO.output (26, True) iba pa: GPIO.output (26, Mali)

Narito ang csvcontrol.py code. Huwag kalimutang i-paste ang nilikha na ".json" na file sa parehong direktoryo ng main.py. Ang file na ".json" ay nilikha gamit ang google API. Magagamit ang isang screenshot sa mga larawan.

i-import ang datimeimport time import csv import gspread

mula sa oauth2client.service_account import ServiceAccountCredentials

mula sa oras na pag-import ng pagtulog pag-import ng traceback

timec2 = 'lol'

habang Totoo: time.s Sleep (5) loc = ('capteur.csv') na may bukas (loc) bilang csvfile: readCSV = csv.reader (csvfile, delimiter = ',') para sa row sa readCSV: print (row [0]) timec = row [0] print (row [1]) distansya = row [1] distansya = float (str (distansya)) kung timec2! = timec: timec2 = timec print ('Oras: {0} Quantitee: { 1} 'format (timec, distansya))

SCOPES = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ drive "]

mga kredensyal = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (credentials) wks = gc.open ("graph"). sheet1 wks = wks.append_row ((timec, distansya))

Inirerekumendang: