Mündəricat:
- Addım 1: SmartBin Avadanlığı
- Addım 2: Moruq qutusu və LED çubuğunun istehsalı
- Addım 3: Qapaq hissəsi
- Addım 4: Proqram təminatı hissəsi və məlumatların alınması
Video: SmartBin: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu layihənin əsas məqsədi ən azı bir Raspberry Pi istifadə edən bir elektron cihaz yaratmaqdır. Komanda 5 gələcək mexanika mühəndisi və bir avtomatika mühəndisindən ibarətdir. Layihəmiz, zibil qabının ön hissəsindəki mərkəzdə yerləşən hərəkət detektoru altında ayaq hərəkəti ilə avtomatik olaraq açılan və bağlanan bir zibil qutusu hazırlamaqdan ibarətdir. Veb saytına məlumat göndərmək üçün Wifi USB çubuğu istifadə olunur. Bu qutuya "SmartBin" deyilir. Yuxarıdakı yumoristik video, yenilikçi SmartBinimizi təqdim edir.
Bu layihəni və bu əlamətdar SmartBini həyata keçirmək üçün bir neçə vasitəyə ehtiyac vardı:
- Bir metr
- Güclü yapışqan
- Yapışqan bant
- Taxta mişar
- Bir tornavida
- Bir qazma maşını
- Bir sıxac
- Bıçaq
Addım 1: SmartBin Avadanlığı
SmartBin, qutunun sol tərəfindəki bir armatura yerləşdirilən yaşıl, narıncı və qırmızı LED işıqlardan ibarətdir ki, bu da doldurulma dərəcəsini göstərir. Bu işıqlar aydın şəkildə görünəcək və çöp torbasının dəyişdirilməsi lazım olduqda istifadəçini xəbərdar edəcək. İstifadə olunan proqramlaşdırma dili Pythondur. Çöp qutusunun ölçülmüş doldurma səviyyəsi aşağıdakı veb saytına ötürülür:
Burada istifadə olunan elementlər var, ancaq alternativ bir həll tapa bilərsiniz:
- 1 Zibil qutusu ("yellənən qapaq" çöpü)
- 1 Qutunu açmaq üçün servomotor
- 1 Moruq Pi 2
- Raspberry Pi və servomotoru təchiz etmək üçün 2 enerji təchizatı (5V mobil telefon şarj cihazı və 6V enerji təchizatı)
- 1 Qutunun doldurulma səviyyəsini ölçmək üçün ultrasəs sensoru
- Doldurma səviyyəsini göstərmək üçün bəzi LEDlər (4 yaşıl, 2 narıncı və 1 qırmızı)
- 1 Hərəkəti aşkar etmək üçün ultrasəs hərəkət detektoru
- 1 16Gb SD kart
- Elektrik rezistorları (10.000 Ohm, 2000 Ohm və 1000 Ohm)
- Veb saytına simsiz ötürülməni təmin etmək üçün 1 WiFi usb çubuğu.
- 1 Çörək taxtası və bəzi Moruq kabelləri
Təxmini istehsal qiyməti 80 avrodur.
Addım 2: Moruq qutusu və LED çubuğunun istehsalı
Moruq qutusu istehsal etmək üçün taxta mişardan istifadə edin. Təmiz görünməsi üçün qutunun hər tərəfini pərçimlərlə bərkidin. Adından da göründüyü kimi, bu qutuda təkcə Raspberry Pi deyil, həm də altına yerləşdirəcəyiniz hərəkət sensoru da olacaq. Kutu hazırlandıqdan sonra onu çöp qutusu ilə eyni rəngə boyayın. Bu qutu yaratmaq üçün 3D çap texnologiyasından istifadə edilə bilər.
LED çubuğunun istehsalı üçün, LED işıqlarının quraşdırılmasına icazə vermək üçün deliklər qazdığınız bir elektrik kanalı istifadə edin. LED çubuğu da boyanmalıdır. Hər şey hazır olduqda, LED -ləri kanala quraşdırın və elektrik bağlantısını qurun. Hər LED kabelini yapışan bantla düzgün saymağa diqqət yetirin. Kablolama zamanı hər bir LED -i müəyyən etməyə kömək edəcək.
Nəhayət, qutunu və LED çubuğunu zibil qutusunun önünə bağlayın.
Addım 3: Qapaq hissəsi
Qutunun qapağına gəldikdə, ilk addım servomotoru qapağa yapışdırmaqdır. Leverin genişləndirilməsi əvvəlcədən edilməlidir. Kol, əvvəllər əl istehsalı olan bir dayanacağa dəyəcək. Ultrasonik sensoru düzgün vəziyyətdə tutmaq üçün qapağa vida qutusu bağlayın və içərisində bir delik açın. Kabelləri bantla qapağa düzgün bağladığınızdan əmin olun.
Addım 4: Proqram təminatı hissəsi və məlumatların alınması
Proqram hissəsi ilə əlaqədar olaraq python proqramlaşdırma dilindən istifadə etdik. Proqram açıldıqda Raspberry Pi tərəfindən işlədiləcək SD kartda saxlanılır. Kablolama sxemi yuxarıda mövcuddur. Gpio sancaqlar görüntüsü bütün moruq növləri üçün aşağıdakı linkdə mövcuddur:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
Hərəkət detektorunu əvəz etmək üçün ultrasəs sensoru istifadə etmək mümkündür, sadəcə kodda "if loop" yaratmaq lazımdır.
Yuxarıda qeyd edildiyi kimi, zibil qutusunun doldurulma səviyyəsinə aid məlumatlar wix.com saytında yaradılmış bir veb sayta ötürülür. Bu veb saytında, komanda üzvlərini, aparat və proqram təqdimatını toplayan müxtəlif nişanlar tapa bilərsiniz … Maraqlı nişan, zibil miqdarı ilə bağlı məlumatları birbaşa SmartBin -dən toplayan və məlumatları olan bir qrafik yaradan "Verilənlər Bazası" sekmesidir.. Qrafik doldurma səviyyəsinin təkamülünü göstərir. Veb saytdan məlumatları görmək və ya yükləmək mümkündür. Aşağıdakı link istifadə etdiyimiz veb saytdır və python ilə google vərəqlərində oxumağı və yazmağı sizə göstərəcək:
www.makeuseof.com/tag/read-write-google-sh…
Kodun "autorun hissəsi" ilə əlaqədar olaraq terminala yazın: sudo nano/etc/xdg/lxsession/LXDE-pi/autostart
Sonra açılan skriptin sonunda bu iki kod sətirini yazın: python /home/pi/main.py & python /home/pi/csvcontrol.py &
Aurorunu saxlamaq üçün basın: C trl + O Sonra basın: Daxil edin Sonra basın: C trl + X
Son kod sətri olaraq yazın: sudo reboot
Layihə üçün istifadə olunan tam python kodu olan əlavəni də yükləyə bilərsiniz. Hər iki kod eyni vaxtda işləyir!
Main.py kodu budur:
RPi. GPIO -nu GPIOimport olaraq datetime idxal vaxtı idxal csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (Yanlış)
kapteurP = 7
servo = 17
GPIO. quraşdırma (servo, GPIO. OUT)
GPIO. quraşdırma (capteurP, GPIO. IN)
pwm = GPIO. PWM (17, 50)
GPIO. quraşdırma (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. quraşdırma (26, GPIO. OUT)
Trig = 23
Eko = 24
GPIO.setup (Trig, GPIO. OUT)
GPIO. quraşdırma (Echo, GPIO. IN)
GPIO.setwarnings (Yanlış)
GPIO.output (5, Yanlış)
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)
dəfə qalığı = vaxt.vaxt ()
məsafə = 100 yaddaş = 0 vaxt. yuxu (2) pwm.başla (12.5)
Doğru halda:
timetac = time.time () if GPIO.input (capteurP) and timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) memory = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () zaman.yuxu (0.5), timetac-timeset> 15 və ya memory> 0.4: memory> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) x for range (0, 1): # GPIO.output (Trig), Doğru) vaxt.yuxu (0.01) GPIO.çıxış (Trig, False)
GPIO.input (Exo) == 0 və timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()
GPIO.input (Echo) == 1 olarkən:
finImpulsion = time.time () əgər timetac-timeset <17: məsafə1 = dəyirmi ((finImpulsion-debutİmpulsion) * 340 * 100/2, 1) məsafə2 = əgər (məsafə1-məsafə2) <1 və (məsafə2-məsafə1) 0,4: dis = yuvarlaq ((60-məsafə)*5/6, 1) csvfile olaraq açıq ('capteur.csv', 'w') ilə: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now (), '%Y-%m-%d%H:%M:%S') çap ('Vaxt: {0} Miqdarı: {1}'. format (vaxt_str, dis)) baş yazar. yazıcı ([time_str, dis]) yaddaş = -0.1 məsafə <52.5 olduqda: GPIO. çıxışı (5, Doğru) başqa: məsafə <45 olduqda GPIO. çıxışı (5, Yanlış): GPIO. çıxışı (6, Doğru) başqa: GPIO.output (6, False) məsafə <37.5: GPIO.output (13, True) başqa: GPIO.output (13, False) <30: GPIO.output (19, True) başqa: GPIO.output (19, False) əgər məsafə <22.5: GPIO.output (20, True) başqa: GPIO.output (20, False) <15: GPIO.output (21, True) başqa: GPIO.output (21, False) əgər məsafə <7.5: GPIO.output (26, True) başqa: GPIO.output (26, False)
İşdə csvcontrol.py kodu. Yaradılmış ".json" faylını main.py -nin eyni qovluğuna yapışdırmağı unutmayın. ". Json" faylı Google API ilə yaradılmışdır. Şəkillərdə ekran görüntüsü mövcuddur.
idxal datetimeimport vaxt idxal csv idxal gspread
oauth2client.service_account idxalından ServiceAccountCredentials
vaxt idxal yuxu idxal izi
timec2 = 'lol'
isə True: time.sleep (5) csvfile olaraq open (loc) ilə loc = ('capteur.csv'): readCSV = csv.reader (csvfile, ayırıcı = ',') readCSV: print (satır [0]) timec = satır [0] çap (sıra [1]) məsafə = satır [1] məsafə = üzmək (str (məsafə)) əgər timec2! = timec: timec2 = timec çapı ('Zaman: {0} Miqdarı: { 1} 'formatı (timec, məsafə))
KAPSAMLAR = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ sür "]
etimadnamələri = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', KAPSAMLAR) gc = gspread.authorize (etimadnamələri) wks = gc.open ("qrafik"). hesabat 1 wks = wks.append_row ((timec, məsafə))
Tövsiyə:
Arduino Avtomobil Ters Park Diqqət Sistemi - Addım -addım: 4 addım
Arduino Avtomobil Ters Park Diqqət Sistemi | Addım-addım: Bu layihədə, Arduino UNO və HC-SR04 Ultrasonik Sensoru istifadə edərək sadə bir Arduino Car Reverse Park Sensor Dövrü dizayn edəcəyəm. Bu Arduino əsaslı Avtomobil Ters siqnal sistemi Avtonom Naviqasiya, Robot Aralığı və digər diapazonlarda istifadə edilə bilər
Addım -addım PC qurulması: 9 addım
Addım -addım PC Bina: Təchizat: Təchizat: MotherboardCPU & CPU soyuducu PSU (Enerji təchizatı vahidi) Yaddaş (HDD/SSD) RAMGPU (tələb olunmur) Kassa Alətləri: Tornavida ESD bilərzik/mattermal pasta/aplikator
Üç Hoparlör Devresi -- Addım-addım təlimat: 3 addım
Üç Hoparlör Devresi || Addım-addım Təlimat: Dinamik Dövrə, ətraf mühitdən alınan səs siqnallarını MIC-ə gücləndirir və gücləndirilmiş səsin çıxarıldığı yerdən Dinamikə göndərir.Burada bu Hoparlör Devrini düzəltməyin üç fərqli yolunu göstərəcəyəm:
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)
SmartBin: 8 addım
SmartBin: Este é heç bir keyfiyyətə malik olmadıqda, heç bir keyfiyyətə malik deyil, həm də bir çox şeyi təqdim edir, həm də bir çox şeyi təqdim edir, həm də məlumat əldə etmək üçün