Obsah:
- Zásoby
- Krok 1: Napájanie obvodu a pí
- Krok 2: MPU6050
- Krok 3: Adafruit Ultimate Breakout GPS
- Krok 4: LCD 16x2
- Krok 5: Servo, LED, tlačidlo a prepínač
- Krok 6: Celý obvod
- Krok 7: Kód
- Krok 8: Databáza
- Krok 9: Prípad
Video: Sledovanie a sledovanie malých obchodov: 9 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Ide o systém, ktorý je vyrobený pre malé obchody a ktoré sa majú montovať na elektrobicykle alebo skútre pri dodávkach na krátku vzdialenosť, napríklad v pekárni, ktorá chce dodávať pečivo.
Čo znamená sledovanie a sledovanie?
Track and trace je systém, ktorý používajú dopravcovia alebo kuriérske spoločnosti na zaznamenávanie pohybu zásielok alebo predmetov počas prepravy. Na každom mieste spracovania je tovar identifikovaný a údaje sú odoslané do centrálneho systému spracovania. Tieto údaje sa potom použijú na poskytnutie stavu/aktualizácie polohy tovaru odosielateľom.
Systém, ktorý vytvoríme, bude tiež zobrazovať prejdenú trasu a množstvo prijatých otrasov a nárazov. Tento návod tiež predpokladá, že máte základné znalosti o malinovom pí, pythone a mysql.
poznámka: bola vytvorená pre školský projekt, takže z dôvodu časového obmedzenia je veľa priestoru na zlepšenie
Zásoby
-Raspberry Pi 4 model B
-T-švec maliny PI
-4x 3, 7V Li-ion batérie
-2x dvojitý držiak batérie
-Buck prevodník zníženia výkonu 5v
-2x veľké oranžové LED diódy
-vypínač/vypínač/vypínač
-tlačidlo
-adafruit ultimate gps v3
-mpu6050
-16x2 LCD displej
-servo motor
Krok 1: Napájanie obvodu a pí
Pokiaľ ide o napájanie obvodu pi batériou, máte niekoľko možností, ako to urobiť.
Môžete použiť powerbanku a napájať pí cez USB, možno zariadenie montujete na elektrobicykel alebo kolobežku s USB portom, možno máte 5-volnú batériu telefónu a čakáte na použitie, alebo môžete použiť 2 sady 3,7 V batérií súbežne so stupňovitým prevodníkom, ako je znázornené na obrázkoch
Všetko je v poriadku, pokiaľ môže poskytovať nepretržité napätie 5 V a má životnosť, s ktorou ste spokojní.
Krok 2: MPU6050
Úvod Snímací modul MPU6050 je integrované 6-osové zariadenie na sledovanie pohybu.
- Má 3-osový gyroskop, 3-osový akcelerometer, digitálny pohybový procesor a teplotný senzor, všetko v jednom IC.
- Odčítaním hodnôt z adries určitých registrov pomocou komunikácie I2C je možné nájsť rôzne parametre. Gyroskop a akcelerometer čítajúce pozdĺž osí X, Y a Z sú k dispozícii vo forme doplnku 2.
- Hodnoty gyroskopu sú v stupňoch za sekundu (dps) jednotka; Hodnoty akcelerometra sú v g jednotkách.
Povolenie I2C
Pri použití MPU6050 s Raspberry Pi by sme mali zabezpečiť, aby bol protokol I2C na Raspberry Pi zapnutý. Na tento účel otvorte terminál pí pomocou tmelu alebo iného softvéru a postupujte takto:
- napíšte „sudo raspi-config“
- Vyberte Konfigurácie rozhrania
- V možnosti Rozhranie vyberte „I2C“
- Povoliť konfiguráciu I2C
- Keď sa zobrazí výzva na reštartovanie, vyberte možnosť Áno.
Inštaláciou nástrojov i2c teraz môžeme testovať/skenovať akékoľvek zariadenie I2C pripojené k našej doske Raspberry Pi. Nástroje i2c môžeme získať pomocou správcu balíkov apt. V termináli Raspberry Pi použite nasledujúci príkaz.
"sudo apt-get install -y i2c-tools"
Teraz pripojte akékoľvek zariadenie založené na I2C k portu užívateľského režimu a naskenujte tento port pomocou nasledujúceho príkazu, "sudo i2cdetect -y 1"
Potom odpovie adresou zariadenia.
Ak nie je vrátená žiadna adresa, uistite sa, že je MPU6050 správne pripojený a skúste to znova
Aby to fungovalo
teraz, keď sme si istí, že je povolená i2c a pi môže dosiahnuť MPU6050, nainštalujeme knižnicu pomocou príkazu „sudo pip3 install adafruit-circuitpython-mpu6050“.
ak vytvoríme testovací súbor pythonu a použijeme nasledujúci kód, uvidíme, či funguje:
čas importu
dovozná doska
import busi
import adafruit_mpu6050
i2c = busio. I2C (board. SCL, board. SDA)
mpu = adafruit_mpu6050. MPU6050 (i2c)
kým je pravda:
tlač ("Zrýchlenie: X: %. 2f, Y: %.2f, Z: %.2f m/s^2" %(mpu.acceleration))
tlač ("Gyro X: %. 2f, Y: %.2f, Z: %.2f stupňov/s" %(mpu.gyro))
tlač ("Teplota: %.2f C" % mpu.teplota)
vytlačiť ("")
time.sleep (1)
keď teraz chceme zrýchlenie v osi X/Y/Z, môžeme použiť nasledujúce:
accelX = mpu.acceleration [0] accelY = mpu.acceleration [1] accelZ = mpu.acceleration [2]
kombináciou tohto jednoduchého príkazu if v konštantnej slučke dokážeme spočítať množstvo otrasov na ceste
Krok 3: Adafruit Ultimate Breakout GPS
Úvod
Breakout je postavený na čipovej súprave MTK3339, kvalitnom GPS module, ktorý dokáže sledovať až 22 satelitov na 66 kanáloch, má vynikajúci vysokocitlivý prijímač (sledovanie -165 dB!) A vstavanú anténu. Dokáže vykonať až 10 aktualizácií polohy za sekundu za účelom vysokorýchlostného protokolovania alebo sledovania s vysokou citlivosťou. Spotreba energie je neuveriteľne nízka, iba 20 mA počas navigácie.
Doska je dodávaná s: extrémne nízkym výpadkom 3,3 V regulátora, takže ho môžete napájať vstupom 3,3-5 V DC, bezpečnými vstupmi na úrovni 5 V, dióda LED pri vyhľadávaní satelitov bliká približne 1 Hz a bliká každých 15 sekúnd, keď je oprava vykonaná zistilo sa, že šetrí energiou.
Testovanie GPS s arduino
Ak máte prístup k arduinu, je dobré modul s ním otestovať.
Pripojte VIN k +5V Pripojte GND k GroundConnect GPS RX (údaje do GPS) k Digital 0 Pripojte GPS TX (dáta z GPS) k Digital 1
Jednoducho spustite prázdny arduino kód a otvorte sériový monitor na 9600 baudoch. Ak získate údaje gps, váš modul gps funguje. Poznámka: ak váš modul nedostane opravu, skúste ho dať von oknom alebo von na terasu.
Aby to fungovalo
Začnite s inštaláciou knižnice adafruit gps pomocou príkazu „sudo pip3 install adafruit-circuitpython-gps“.
Teraz môžeme pomocou nasledujúceho kódu pythonu zistiť, či to môže fungovať:
import timeimport board import busioimport adafruit_gpsimport serial uart = serial. Serial ("/dev/ttyS0", baudrate = 9600, timeout = 10)
gps = adafruit_gps. GPS (uart, debug = False) gps.send_command (b'PMTK314, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ') gps.send_command (b'PMTK220, 1000')
kým je pravda:
gps.update () bez gps.has_fix:
print (gps.nmea_sentence) print ('Čaká sa na opravu …') gps.update () time.sleep (1) pokračovať
print ('=' * 40) # Vytlačí oddeľovací riadok.print ('Zemepisná šírka: {0:.6f} stupňov'.formát (gps.latitude)) print (' Zemepisná dĺžka: {0:.6f} stupňov'.formát (gps.longitude)) tlač ("Kvalita opravy: {}". formát (gps.fix_quality))
# Niektoré atribúty mimo zemepisnej šírky, dĺžky a časovej pečiatky sú voliteľné# a nemusia byť k dispozícii. Pred pokusom o použitie skontrolujte, či nie sú None! Ak gps.satellites nie je None:
tlač ("# satelity: {}". formát (gps.satellites))
ak gps.altitude_m nie je None:
vytlačiť ("Nadmorská výška: {} metre".formát (gps.altitude_m))
ak gps.speed_knots nie je None:
vytlačiť ("Rýchlosť: {} uzlov". formát (gps.speed_knots))
ak gps.track_angle_deg nie je None:
vytlačiť ("Uhol stopy: {} stupňov". formát (gps.track_angle_deg))
ak gps.horizontal_dilution nie je None:
tlač ("Horizontálne riedenie: {}". formát (gps.horizontal_dilution)
ak gps.height_geoid nie je None:
vytlačiť ("Geo geo ID: {} metre".format (gps.height_geoid))
time.sleep (1)
Krok 4: LCD 16x2
Úvod
Moduly LCD sa veľmi bežne používajú vo väčšine vstavaných projektov, dôvodom je jeho nízka cena, dostupnosť a priateľstvo k programátorom. Väčšina z nás by sa s týmito displejmi stretla v každodennom živote, či už na počítačoch PCO alebo na kalkulačkách. 16 × 2 LCD je pomenovaný tak, pretože; má 16 stĺpcov a 2 riadky. Existuje mnoho kombinácií, ako napríklad 8 × 1, 8 × 2, 10 × 2, 16 × 1 atď., Ale najpoužívanejšou je LCD monitor 16 × 2. Bude teda mať (16 × 2 = 32) 32 znakov a každý znak bude vytvorený z 5 × 8 pixelových bodiek.
Inštalácia smbus
System Management Bus (SMBus) je viac -menej derivátom zbernice I2C. Štandard vyvinula spoločnosť Intel a teraz ho spravuje fórum SBS. Hlavnou aplikáciou SMBus je monitorovanie kritických parametrov na základných doskách PC a vstavaných systémoch. K dispozícii je napríklad veľa monitorov napájacieho napätia, monitora teploty a monitorov/ovládačov ventilátora s rozhraním SMBus.
Knižnica, ktorú použijeme, vyžaduje tiež nainštalovanie smbusu. Ak chcete nainštalovať smbus na rpi, použite príkaz "sudo apt install python3-smbus".
Aby to fungovalo
najskôr nainštalujte knižnicu RPLCD pomocou príkazu „sudo pip3 install RPLCD“.
teraz testujeme lcd zobrazením ip pomocou nasledujúceho kódu:
z RPLCD.i2c importujte zásuvku CharLCDimport
def get_ip_address ():
ip_address = '' s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM) s.connect (("8.8.8.8", 80)) ip_address = s.getsockname () [0] s.close () návrat ip_address
lcd = CharLCD ('PCF8574', 0x27)
lcd.write_string ('IP adresa: / r / n'+str (get_ip_address ()))
Krok 5: Servo, LED, tlačidlo a prepínač
Úvod
Servomotor je rotačný pohon alebo motor, ktorý umožňuje presné ovládanie uhlovej polohy, zrýchlenia a rýchlosti, ktoré bežný motor nemá. Využíva bežný motor a spáruje ho so snímačom spätnej väzby o polohe. Ovládač je najsofistikovanejšou súčasťou servomotora, pretože je na tento účel špeciálne navrhnutý.
Skratka LED pre diódy vyžarujúce svetlo. Elektronické polovodičové zariadenie, ktoré vyžaruje svetlo, keď ním prechádza elektrický prúd. Sú oveľa efektívnejšie ako žiarovky a len zriedka vyhoria. LED diódy sa používajú v mnohých aplikáciách, ako sú video displeje s plochou obrazovkou, a stále častejšie ako všeobecné zdroje svetla.
Tlačítko alebo jednoducho tlačidlo je jednoduchý prepínací mechanizmus na ovládanie určitého aspektu stroja alebo procesu. Gombíky sú zvyčajne vyrobené z tvrdého materiálu, zvyčajne z plastu alebo kovu.
Prepínač zapnutia/vypnutia/zapnutia má 3 polohy, kde stredná je vypnutá. Tieto typy sa väčšinou používajú na jednoduché ovládanie motora, kde máte stav vpred, vypnutý a vzad.
Aby to fungovalo: servo
Servo pomocou signálu PWM určuje, v akom uhle našťastie musí byť pre nás našťastie, GPIO má túto funkciu vstavanú. Preto môžeme na ovládanie serva jednoducho použiť nasledujúci kód: import RPi. GPIO ako čas GPIOimportu
servo_pin = 18duty_cycle = 7.5
GPIO.setmode (GPIO. BCM)
GPIO.setup (servo_pin, GPIO. OUT)
pwm_servo = GPIO. PWM (servo_pin, 50) pwm_servo.start (duty_cycle)
kým je pravda:
duty_cycle = float (vstup ("Zadajte pracovný cyklus (vľavo = 5 doprava = 10):")) pwm_servo. ChangeDutyCycle (duty_cycle)
Aby to fungovalo: LED a vypínač
Vzhľadom na spôsob zapojenia LED a prepínača nepotrebujeme ovládať ani čítať LED diódy a prepínať sa. Jednoducho pošleme impulzy na tlačidlo, ktoré zase nasmeruje signál na požadovanú LED.
Ako to funguje: tlačidlo
Pre tlačidlo vytvoríme vlastnú jednoduchú triedu týmto spôsobom, aby sme ľahko videli, kedy je stlačené bez toho, aby sme k nemu museli pridať detekciu udalostí pri každom použití. Vytvoríme súbor classbutton.py pomocou nasledujúceho kódu:
z tlačidla RPI importu GPI triedy:
def _init _ (self, pin, bouncetime = 200): self.pin = pin self.bouncetime = bouncetime GPIO.setmode (GPIO. BCM) GPIO.setup (pin, GPIO. IN, GPIO. PUD_UP) @property defPress (self):
ingedrukt = GPIO.input (self.pin) return not ingedrukt
def on_press (self, call_method):
GPIO.add_event_detect (self.pin, GPIO. FALLING, call_method, bouncetime = self.bouncetime)
def on_release (self, call_method):
GPIO.add_event_detect (self.pin, GPIO. RISING, call_method, bouncetime = self.bouncetime)
Krok 6: Celý obvod
Teraz, keď sme prešli všetky komponenty, je načase ich všetky skombinovať.
Zatiaľ čo obrázky ukazujú, že komponenty ukazujú všetko na samotnom doske, je lepšie mať pripojený LCD, adafruit GPS a tlačidlo pomocou káblov od samice k mužovi. Na prepojovacej doske majte iba t-cobbler a mpu6050. Pokiaľ ide o LED a prepínač použite dlhšie káble, aby ste sa zaistili, že sa dostanete k tyčiam blikačky a k riadidlu.
Krok 7: Kód
Aby bol tento pokyn čistý, poskytol som úložisko github so súbormi typu backend aj frontend. Jednoducho vložte súbory do priečinka frontend v priečinku/var/www/html a súbory v priečinku backend v priečinku v adresári/home/ priečinok [používateľské meno]/[názov priečinka]
Krok 8: Databáza
Vzhľadom na to, ako je tento systém nastavený, existuje jednoduchý internetový obchod zostavený pomocou zoznamu produktov v databáze, navyše tu máme uložené všetky body a objednávky. Skript na vytváranie nájdete v úložisku github prepojenom v ďalši krok
Krok 9: Prípad
Akonáhle poznáme prácu s elektronikou, môžeme ich napchať do škatule. S týmto si môžete dať trochu kreatívnej slobody. Predtým, ako ju postavíte, jednoducho vezmite kartónovú škatuľu, ktorú už nepotrebujete, napríklad ako prázdnu škatuľu od obilnín, a odstrihnite ju, zalepte páskou. a zložte ho, kým nebudete mať niečo, čo sa vám páči. Zmerajte a nakreslite puzdro na kus papiera a vyrobte ho z odolnejšieho materiálu, akým je drevo, alebo ak to nie je vaša vec, vytlačte ho. Jednoducho sa uistite, že sa všetka elektronika zmestí dovnútra a máte otvory pre tlačidlo, drôt smerujúci k prepínaču, LED diódy a LCD. Keď si zadáte kufrík, stačí nájsť spôsob, ako ho namontovať na bicykel alebo kolobežku.
Odporúča:
ATtiny85 Nositeľné zariadenie na sledovanie vibrácií, sledovanie a programovanie ATtiny85 s Arduino Uno: 4 kroky (s obrázkami)
ATtiny85 Nositeľné hodinky na sledovanie vibrácií a programovanie ATtiny85 s Arduino Uno: Ako vyrobiť hodinky na sledovanie nositeľnej aktivity? Toto je nositeľný gadget navrhnutý tak, aby vibroval, keď zistí stagnáciu. Trávite väčšinu času pri počítači ako ja? Sedíte hodiny bez toho, aby ste si to uvedomovali? Potom je toto zariadenie
Päť úhľadných malých projektov: 6 krokov
Päť úhľadných malých projektov: Musíte milovať obvody, ktoré blikajú a vydávajú zvuky, keď ukazujete elektroniku mladým ľuďom. Týchto päť obvodov, ktorých výstavba trvá len niekoľko minút, sa dajú ľahko zmeniť tak, aby sa zmenili rýchlosti blikania alebo časy. Prvý okruh
Riadenie malých motorov s TB6612FNG: 8 krokov
Riadenie malých motorov s TB6612FNG: TB6612FNG je IC s dvojitým motorom od spoločnosti Toshiba. Existuje na to množstvo oddeľovacích dosiek a je to jedna z najobľúbenejších možností riadenia malých motorov. Existuje množstvo online zdrojov, ako začať s TB6612FNG b
Inatel - SmartHome - SH2Y - Sledovanie systému a sledovanie okolitého prostredia: 6 krokov
Inatel - SmartHome - SH2Y - Sledovanie systému a okolité prostredie: Zobrazenie monitora a systém monitora a systému Ambiente " para Smart Homes, intuitívne monitorujúce aktuálny stav a teplotu "Temperatura", "Luminosidade" e " Senzor
Stavba malých robotov: Výroba jedného kubického palcového robota Micro-Sumo a menšieho: 5 krokov (s obrázkami)
Stavba malých robotov: Výroba jedného kubického palcového robota Micro-Sumo a menšieho: Tu je niekoľko podrobností o stavbe malých robotov a obvodov. Tento návod sa bude vzťahovať aj na niekoľko základných tipov a techník, ktoré sú užitočné pri stavaní robotov akejkoľvek veľkosti. Pre mňa je jednou z veľkých výziev v elektronike zistiť, aký malý