Obsah:
- Krok 1: Zariadenie SmartBin
- Krok 2: Výroba malinového boxu a lišty LED
- Krok 3: Časť veka
- Krok 4: Získanie časti softvéru a údajov
Video: SmartBin: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Hlavným účelom tohto projektu je vytvoriť elektronické zariadenie, ktoré používa najmenej jeden Raspberry Pi. Tím je zložený z 5 budúcich strojných inžinierov a jedného automatizačného inžiniera. Náš projekt spočíva v vyrobení odpadkového koša, ktorý sa automaticky otvára a zatvára pohybom nohy pod detektorom pohybu umiestneným v strede na prednej strane koša. Na odosielanie údajov na webovú stránku sa používa USB kľúč Wifi. Tento kôš sa nazýva „SmartBin“. Humorné video vyššie predstavuje náš inovatívny SmartBin.
Na realizáciu tohto projektu a tohto pozoruhodného SmartBinu bolo potrebných niekoľko nástrojov:
- Meter
- Silné lepidlo
- Lepiaca páska
- Píla na drevo
- Skrutkovač
- Vŕtačka
- Svorka
- Nôž
Krok 1: Zariadenie SmartBin
SmartBin sa skladá zo zelených, oranžových a červených LED svetiel, ktoré sú umiestnené na svietidle na ľavej strane zásobníka, ktoré bude indikovať, ako je naplnené. Tieto svetlá budú jasne viditeľné a upozornia užívateľa, keď je potrebné vymeniť odpadkový vak. Použitý programovací jazyk je Python. Nameraná hladina naplnenia koša je odoslaná na nasledujúcu webovú stránku:
Tu sú prvky, ktoré boli použité, ale môžete ľahko nájsť alternatívne riešenie:
- 1 kôš (kôš „výkyvný kryt“)
- 1 Servomotor na otvorenie koša
- 1 Raspberry Pi 2
- 2 napájacie zdroje (5 V nabíjačka mobilného telefónu a 6 V napájanie) na napájanie Raspberry Pi a servomotora
- 1 Ultrazvukový senzor na meranie úrovne naplnenia zásobníka
- Niektoré diódy LED zobrazujú úroveň naplnenia (4 zelené, 2 oranžové a 1 červená)
- 1 Ultrazvukový detektor pohybu na detekciu pohybu
- 1 16 GB SD karta
- Elektrické odpory (10 000 ohmov, 2 000 ohmov a 1 000 ohmov)
- 1 USB kľúč USB umožňujúci bezdrôtový prenos na web.
- 1 Breadboard a niekoľko malinových káblov
Odhadovaná výrobná cena je 80 €.
Krok 2: Výroba malinového boxu a lišty LED
Na výrobu škatule na maliny použite pílu na drevo. Každú stranu škatule upevnite nitmi, aby vyzerala čisto. Ako naznačuje jeho názov, tento box bude obsahovať nielen Raspberry Pi, ale bude obsahovať aj snímač pohybu, ktorý umiestnite dole. Akonáhle je krabica postavená, namaľujte ju rovnakou farbou ako kôš. Na vytvorenie tohto boxu by mohla byť použitá technológia 3D tlače.
Na výrobu LED lišty použite elektrické potrubie, do ktorého vyvŕtate otvory, ktoré umožnia inštaláciu LED svetiel. LED lišta musí byť tiež natretá. Keď je všetko pripravené, nainštalujte LED diódy do potrubia a vykonajte elektrické pripojenie. Dávajte pozor na správne očíslovanie každého LED kábla pomocou lepiacej pásky. Pomôže vám to identifikovať každú LED diódu počas zapojenia.
Nakoniec pripevnite škatuľu a lištu LED k prednej časti koša.
Krok 3: Časť veka
Pokiaľ ide o veko koša, prvým krokom je prilepenie servomotora k veku. V minulosti bolo potrebné vykonať rozšírenie pákového efektu. Páka narazí na doraz, ktorý bol predtým vyrobený ručne. Na veko pripevnite skrinku so skrutkami a urobte do nej otvor, aby držal ultrazvukový snímač v správnej polohe. Dbajte na to, aby ste káble na veku správne pripevnili páskou.
Krok 4: Získanie časti softvéru a údajov
Pokiaľ ide o softvérovú časť, použili sme programovací jazyk python. Program je uložený na SD kartu, ktorú Raspberry Pi spustí, keď je zapnutá. Schéma zapojenia je k dispozícii vyššie. Obrázok pinov Gpio je k dispozícii pre všetky druhy malín na nasledujúcom odkaze:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
Na výmenu detektora pohybu je možné použiť ultrazvukový senzor, v kóde stačí vytvoriť „if loop“.
Ako je uvedené vyššie, údaje týkajúce sa úrovne naplnenia koša sa prenášajú na webovú stránku vytvorenú na wix.com. Na tomto webe nájdete rôzne karty, ktoré zhromažďujú členov tímu, hardvérovú a softvérovú prezentáciu, … Zaujímavá je vlastne záložka „Databáza“, ktorá zhromažďuje informácie o množstve odpadu priamo zo zariadenia SmartBin a vytvára graf s údajmi.. Graf zobrazuje vývoj úrovne náplne. Na webovej stránke je možné zobraziť alebo stiahnuť údaje. Nasledujúci odkaz je webová stránka, ktorú sme použili, a ukáže vám, ako čítať a písať na hárkoch Google pomocou pythonu:
www.makeuseof.com/tag/read-write-google-sh…
Pokiaľ ide o „časť automatického spustenia“kódu, napíšte do terminálu: sudo nano/etc/xdg/lxsession/LXDE-pi/autostart
Potom na konci skriptu, ktorý sa práve otvoril, napíšte tieto dva riadky kódu: python /home/pi/main.py & python /home/pi/csvcontrol.py &
Ak chcete aurorun uložiť, stlačte: C trl + O Potom, stlačte: Enter Potom stlačte: C trl + X
Napíšte ako posledný riadok kódu: sudo reboot
Môžete si tiež stiahnuť prílohu, ktorá je úplným kódom pythonu použitým pre projekt. Oba kódy sú spustené súčasne!
Tu je kód main.py:
import RPi. GPIO ako GPIOimport dátum a čas importu import csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (False)
kapitán P = 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)
Spúšť = 23
Ozvena = 24
GPIO.setup (Trig, GPIO. OUT)
GPIO.setup (Echo, GPIO. IN)
GPIO.setwarnings (False)
GPIO.output (5, False)
GPIO.output (6, False) GPIO.output (13, False) GPIO.output (19, False) GPIO.output (20, False) GPIO.output (21, False) GPIO.output (26, False)
GPIO.output (Trig, False)
timeset = time.time ()
vzdialenosť = 100 pamäť = 0 čas. spánok (2) pwm. štart (12,5)
kým je pravda:
timetac = time.time () ak GPIO.input (capteurP) a timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) memory = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () time.sleep (0.5) if timetac-timeset> 15 or memory> 0.4: if memory> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) for x in range (0, 1): # GPIO.output (Trig, True) time.sleep (0,01) GPIO.output (Trig, False)
zatiaľ čo GPIO.input (Echo) == 0 a timetac-timeset <17: timetac = time.time () debutImpuls = time.time ()
zatiaľ čo GPIO.input (Echo) == 1:
finImpulsion = time.time () ak je časovo-časovo nastavený <17: vzdialenosť1 = kolo ((finImpulsion-debutImpulsion) * 340 * 100 /2, 1) vzdialenosť2 = vzdialenosť, ak (vzdialenosť1-vzdialenosť2) <1 a (vzdialenosť2-vzdialenosť1) 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 ('Time: {0} Quantitee: {1}'. format (time_str, dis)) capteurwriter. writeow ([time_str, dis]) pamäť = -0,1 ak vzdialenosť <52,5: GPIO.output (5, True) else: GPIO.output (5, False) ak vzdialenosť <45: GPIO.output (6, True) else: GPIO.output (6, False) if distance <37,5: GPIO.output (13, True) else: GPIO.output (13, False) if distance <30: GPIO.output (19, True) else: GPIO.output (19, False) if distance <22,5: GPIO.output (20, True) else: GPIO.output (20, False) if distance <15: GPIO.output (21, True) else: GPIO.output (21, False) ak je vzdialenosť <7,5: GPIO.output (26, True) else: GPIO.output (26, False)
Tu je kód csvcontrol.py. Vytvorený súbor „.json“nezabudnite vložiť do rovnakého adresára ako súbor main.py. Súbor „.json“je vytvorený pomocou rozhrania Google API. Na obrázkoch je k dispozícii snímka obrazovky.
import datetimeimport čas import csv import gspread
z oauth2client.service_account importovať ServiceAccountCredentials
od času import spánku spánok traceback
timec2 = 'lol'
while True: time.sleep (5) loc = ('capteur.csv') with open (loc) as csvfile: readCSV = csv.reader (csvfile, delimiter = ',') for row in readCSV: print (row [0]) timec = riadok [0] tlač (riadok [1]) vzdialenosť = riadok [1] vzdialenosť = float (str (vzdialenosť)) if timec2! = timec: timec2 = timec print ('Čas: {0} Quantitee: { 1} '. Formát (časový údaj, vzdialenosť))
ROZSAHY = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ riadiť "]
poverenia = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', ROZSAHY) gc = gspread.authorize (poverenia) wks = gc.open ("graf"). sheet1 wks = wks.append_row ((timec, vzdialenosť))
Odporúča:
Živé streamovanie videa v rozlíšení HD 4G/5G z dronu DJI s nízkou latenciou [3 kroky]: 3 kroky
Živé streamovanie videa v rozlíšení HD 4G/5G z DJI Drone s nízkou latenciou [3 kroky]: Nasledujúci sprievodca vám pomôže získať živé video streamy v kvalite HD z takmer akéhokoľvek dronu DJI. S pomocou mobilnej aplikácie FlytOS a webovej aplikácie FlytNow môžete začať streamovať video z drona
4 kroky na meranie vnútorného odporu batérie: 4 kroky
4 kroky na meranie vnútorného odporu batérie: Tu sú 4 jednoduché kroky, ktoré vám môžu pomôcť zmerať vnútorný odpor batérie
SmartBin: 8 krokov
SmartBin: Este é inteligentné, inteligentné, tiché, bezúdržbové systémy, ktoré identifikujú veľké množstvo dát, identifikujú a kvantifikujú svoju voľbu, prinášajú veľké množstvo ada, základňu informujú
Pst , (kroky hore): 3 kroky (s obrázkami)
Pššššt … (ut-up): Šepkanie nie je najefektívnejším spôsobom, ako prinútiť ľudí, aby mlčali. Zvlášť vo verejných priestoroch a obzvlášť vo verejných knižniciach. Zavrieme si teda ústa pocitom viny. Toto svetlo je nainštalované v knižnici.
Ako vidieť všetky kroky predvolene V.3: 4 kroky
Ako zobraziť všetky kroky v predvolenom nastavení V.3: Dobrý deň! V tomto návode vám ukážem, ako si všetky pokyny môžete prezerať všetkými krokmi, namiesto toho, aby ste museli klikať na každý krok a unavovať prst, čo má za následok zlyhanie pečene a stratu krvi. Pite prosím zodpovedne. Vďaka