Orodha ya maudhui:

SmartBin: 4 Hatua
SmartBin: 4 Hatua

Video: SmartBin: 4 Hatua

Video: SmartBin: 4 Hatua
Video: 15 Способов Пронести СЛАДОСТИ в КИНОТЕАТР ! **4 Часть** 2024, Novemba
Anonim
Image
Image

Kusudi kuu la mradi huu ni kuunda kifaa cha elektroniki ambacho hutumia angalau Raspberry Pi moja. Timu hiyo imeundwa na wahandisi 5 wa kiufundi wa baadaye na mhandisi mmoja wa mitambo. Mradi wetu unajumuisha kutengeneza takataka inayofungua na kufunga moja kwa moja inayosababishwa na harakati ya miguu chini ya kigunduzi cha mwendo kilicho katikati katikati ya takataka. Fimbo ya Wifi USB hutumiwa kutuma data kwenye wavuti. Bin hii inaitwa "The SmartBin". Video ya kuchekesha hapo juu inaleta SmartBin yetu ya ubunifu.

Ili kutekeleza mradi huu na SmartBin hii ya ajabu, zana kadhaa zilihitajika:

  • Mita
  • Gundi yenye nguvu
  • Kanda ya wambiso
  • Msumeno wa kuni
  • Bisibisi
  • Mashine ya kuchimba
  • Bamba
  • Kisu

Hatua ya 1: Vifaa vya SmartBin

Vifaa vya SmartBin
Vifaa vya SmartBin
Vifaa vya SmartBin
Vifaa vya SmartBin

SmartBin imeundwa na taa za kijani kibichi, za machungwa na nyekundu ambazo zimewekwa kwenye sehemu ya kushoto ya pipa ambayo itaonyesha jinsi imejazwa. Taa hizi zitaonekana wazi na zitamtahadharisha mtumiaji wakati inahitajika kuchukua nafasi ya mfuko wa takataka. Lugha ya programu inayotumiwa ni Python. Kiwango kilichopimwa cha kujaza pipa hupitishwa kwa wavuti ifuatayo:

Hapa kuna vitu ambavyo vimetumika lakini unaweza kupata suluhisho mbadala kwa urahisi:

  • 1 Bin ("kifuniko cha swing" bin)
  • 1 Servomotor kufungua bin
  • 1 Raspberry Pi 2
  • Vifaa 2 vya umeme (chaja ya simu ya 5V na usambazaji wa umeme wa 6V) kusambaza Raspberry Pi na servomotor
  • 1 Ultrasonic sensor kupima kiwango cha kujaza kwa pipa
  • Baadhi ya LED zinaonyesha kiwango cha kujaza (4 kijani, 2 machungwa na 1 nyekundu)
  • 1 Ultrasonic mwendo detector kugundua harakati
  • 1 16Gb SD-kadi
  • Vipinga vya umeme (10.000 Ohms, 2000 Ohms na 1000 Ohms)
  • 1 fimbo ya usb ya WiFi kuwezesha usambazaji wa waya kwenye wavuti.
  • Bodi ya mkate na nyaya zingine za Raspberry

Bei ya utengenezaji inakadiriwa ni 80 €.

Hatua ya 2: Utengenezaji wa Sanduku la Raspberry na Baa ya LED

Utengenezaji wa Sanduku la Raspberry na Baa ya LED
Utengenezaji wa Sanduku la Raspberry na Baa ya LED
Utengenezaji wa Sanduku la Raspberry na Baa ya LED
Utengenezaji wa Sanduku la Raspberry na Baa ya LED
Utengenezaji wa Sanduku la Raspberry na Baa ya LED
Utengenezaji wa Sanduku la Raspberry na Baa ya LED

Ili kutengeneza sanduku la Raspberry, tumia msumeno wa kuni. Funga kila upande wa sanduku na rivets ili ionekane safi. Kama jina lake linavyosema, kisanduku hiki kitakuwa na sio tu Raspberry Pi lakini pia itajumuisha sensorer ya mwendo ambayo utaweka chini. Mara sanduku linapojengwa, lipake rangi sawa na pipa. Teknolojia ya uchapishaji ya 3D inaweza kutumika kuunda sanduku hili.

Kwa utengenezaji wa bar ya LED, tumia bomba la umeme ambalo unachimba mashimo ili kuruhusu taa za LED zisakinishwe. Baa ya LED pia inapaswa kupakwa rangi. Wakati kila kitu kiko tayari, weka LED kwenye bomba na ufanye unganisho la umeme. Makini na nambari inayofaa ya kila nambari za LED zilizo na mkanda wa wambiso. Itakusaidia kutambua kila LED wakati wa wiring.

Mwishowe, ambatisha sanduku na mwambaa wa LED mbele ya pipa lako.

Hatua ya 3: Sehemu ya Kifuniko

Sehemu ya Kifuniko
Sehemu ya Kifuniko
Sehemu ya Kifuniko
Sehemu ya Kifuniko

Kuhusu kifuniko cha pipa, hatua ya kwanza ni gundi servomotor kwenye kifuniko. Ugani wa upataji lazima ufanywe hapo awali. Lever itapiga kituo ambacho hapo awali kilifanywa kwa mikono. Ambatisha sanduku la screw kwenye kifuniko na ufanye shimo ndani yake ili kushikilia sensor ya ultrasonic katika nafasi sahihi. Hakikisha umeshikilia nyaya kwenye kifuniko na mkanda.

Hatua ya 4: Sehemu ya Programu na Upataji wa Takwimu

Sehemu ya Programu na Upataji wa Takwimu
Sehemu ya Programu na Upataji wa Takwimu
Sehemu ya Programu na Upataji wa Takwimu
Sehemu ya Programu na Upataji wa Takwimu
Sehemu ya Programu na Upataji wa Takwimu
Sehemu ya Programu na Upataji wa Takwimu

Kuhusu sehemu ya programu, tulitumia lugha ya programu ya chatu. Programu imehifadhiwa kwenye kadi ya SD ambayo itaendeshwa na Raspberry Pi wakati imewashwa. Mpango wa wiring unapatikana hapo juu. Picha ya pini ya Gpio inapatikana kwa aina zote za raspberry kwenye kiunga hapa chini:

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

Inawezekana kutumia sensorer ya ultrasonic kuchukua nafasi ya detector ya harakati, unahitaji tu kuunda "ikiwa kitanzi" katika msimbo.

Kama ilivyoelezwa hapo juu, data inayohusu kiwango ambacho pipa imejazwa hupitishwa kwa wavuti iliyoundwa kwenye wix.com. Kwenye wavuti hii, unaweza kupata tabo tofauti ambazo hukusanya washiriki wa timu, vifaa na uwasilishaji wa programu,… Kichupo cha kupendeza ni kichupo cha "Hifadhidata" ambayo inakusanya habari kuhusu kiasi cha takataka moja kwa moja kutoka kwa SmartBin na inaunda grafu na data. Grafu inaonyesha mabadiliko ya kiwango cha kujaza. Inawezekana kuona au kupakua datas kutoka kwa wavuti. Kiungo hapa chini ni wavuti tuliyotumia na itakuonyesha jinsi ya kusoma na kuandika kwenye shuka za google na chatu:

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

Kuhusu "sehemu ya autorun" ya nambari, andika kwenye terminal: sudo nano / etc / xdg / lxsession / LXDE-pi / autostart

Halafu, mwisho wa hati ambayo imefunguliwa tu, andika mistari miwili ya nambari: python /home/pi/main.py & python /home/pi/csvcontrol.py &

Ili kuokoa aurorun, bonyeza: C trl + O Kisha, bonyeza: Ingiza Kisha, bonyeza: C trl + X

Andika kama mstari wa mwisho wa nambari: Sudo reboot

Unaweza pia kupakua kiambatisho ambacho ni nambari kamili ya chatu inayotumika kwa mradi huo. Nambari zote mbili zinaendeshwa kwa wakati mmoja!

Hapa kuna nambari kuu.py:

kuagiza RPi. GPIO kama GPIOimport wakati wa kuagiza muda wa kuagiza csv

GPIO.setmode (GPIO. BCM)

Maonyo ya GPIO (Uongo)

nahodhaP = 7

servo = 17

Usanidi wa GPIO (servo, GPIO. OUT)

Kuanzisha GPIO (capteurP, GPIO. IN)

pwm = GPIO. PWM (17, 50)

Usanidi wa GPIO (5, GPIO. OUT)

Kuanzisha kwa GPIO (6, GPIO. OUT) Usanidi wa GPIO (26, GPIO. OUT)

Trig = 23

Echo = 24

Kuanzisha kwa GPIO (Trig, GPIO. OUT)

Usanidi wa GPIO (Echo, GPIO. IN)

Maonyo ya GPIO (Uongo)

Pato la GPIO (5, Uongo)

Pato la GPIO (6, Uongo) GPIO.pato (13, Uongo) GPIO.pato (19, Uongo) GPIO.pato (20, Uongo) GPIO. Pato (21, Uongo) GPIO.

Pato la GPIO (Trig, Uongo)

nyakati = saa.

umbali = kumbukumbu 100 = saa 0 kulala (2) pwm. anza (12.5)

wakati Kweli:

timetac = time.time () ikiwa GPIO.input (capteurP) na timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) memory = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () saa (0.5) ikiwa timetac-timeset> 15 au kumbukumbu> 0.4: ikiwa kumbukumbu> 0.4: pwm. ChangeDutyCycle (2.5) wakati. lala (1) kwa x katika masafa (0, 1): # GPIO.output (Trig, Kweli) wakati. Kulala (0.01) Pato la GPIO. (Trig, False)

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

wakati GPIO.input (Echo) == 1:

finImpulsion = saa. wakati () ikiwa ratiba ya nyakati <17: umbali1 = pande zote ((finImpulsion - kwanzaImpulsion) * 340 * 100/2, 1) umbali2 = umbali ikiwa (umbali1-umbali2) <1 na (umbali2-umbali1) 0.4: dis = raundi ((umbali wa 60) * 5/6, 1) na wazi ('capteur.csv', 'w') kama csvfile:.datetime.now (), '% Y-% m-% d% H:% M:% S') chapa ('Wakati: {0} Quantitee: {1}'. fomati (time_str, dis)) mwandishi wa nyaraka. mwandishi

Hapa kuna nambari ya csvcontrol.py. Usisahau kubandika faili iliyoundwa ".json" katika saraka sawa ya main.py. Faili ya ".json" imeundwa na google API. Picha ya skrini inapatikana kwenye picha.

kuagiza wakati wa kuingiza muda wa kuingiza wakati wa kuingiza csv kuagiza gspread

kutoka kwa wauth2client.service_account import ServiceAccountCredentials

kutoka wakati kuagiza kuagiza kulala traceback

timec2 = 'lol'

wakati Kweli: lala.] timec = safu [0] chapisha (safu [1]) umbali = safu [1] umbali = kuelea (str (umbali)) ikiwa timec2! = timec: timec2 = timec print ('Wakati: {0} Quantitee: { 1} '. Fomati (timec, umbali))

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

sifa = HudumaAccountCredentials.from_json_keyfile_name ('mteja_secret.json', SCOPES) gc = gspread.authorize (hati) wks = gc.open ("graph"). sheet1 wks = wks.append_row ((timec, umbali))

Ilipendekeza: