Isi kandungan:
- Langkah 1: Peralatan SmartBin
- Langkah 2: Pembuatan Kotak Raspberry dan Bar LED
- Langkah 3: Bahagian Tudung
- Langkah 4: Bahagian Perisian dan Perolehan Data
Video: SmartBin: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Tujuan utama projek ini adalah untuk membuat peranti elektronik yang menggunakan sekurang-kurangnya satu Raspberry Pi. Pasukan ini terdiri daripada 5 jurutera mekanikal masa depan dan satu jurutera automasi. Projek kami terdiri daripada membuat tong sampah yang terbuka dan ditutup secara automatik dipicu oleh pergerakan kaki di bawah alat pengesan gerakan yang terletak di tengah di bahagian depan tong sampah. Tongkat USB Wifi digunakan untuk mengirim data ke laman web. Tong sampah ini dipanggil "The SmartBin". Video lucu di atas memperkenalkan SmartBin inovatif kami.
Untuk melaksanakan projek ini dan SmartBin yang luar biasa ini, diperlukan beberapa alat:
- Satu meter
- Gam kuat
- Pita pelekat
- Gergaji kayu
- Pemutar skru
- Mesin gerudi
- Pengapit
- Pisau
Langkah 1: Peralatan SmartBin
SmartBin terdiri daripada lampu LED hijau, oren dan merah yang diletakkan di lekapan di sebelah kiri tong sampah yang akan menunjukkan betapa terisi itu. Lampu ini akan dapat dilihat dengan jelas dan akan memberi amaran kepada pengguna apabila perlu mengganti beg sampah. Bahasa pengaturcaraan yang digunakan adalah Python. Tahap pengisian tong sampah yang diukur dihantar ke laman web berikut:
Berikut adalah unsur-unsur yang telah digunakan tetapi anda boleh mencari penyelesaian alternatif dengan mudah:
- 1 Bin (tong sampah "ayunan")
- 1 Servomotor untuk membuka tong sampah
- 1 Raspberry Pi 2
- 2 Bekalan kuasa (pengecas telefon bimbit 5V dan bekalan kuasa 6V) untuk membekalkan Raspberry Pi dan servomotor
- 1 Sensor ultrasonik untuk mengukur tahap pengisian tong sampah
- Beberapa LED untuk menampilkan tahap pengisian (4 hijau, 2 oren dan 1 merah)
- 1 Pengesan gerakan ultrasonik untuk mengesan pergerakan
- 1 kad SD 16Gb
- Perintang elektrik (10.000 Ohm, 2000 Ohm dan 1000 Ohm)
- 1 WiFi usb stick untuk membolehkan penghantaran tanpa wayar ke laman web.
- 1 Papan roti dan beberapa kabel Raspberry
Anggaran harga pembuatan ialah 80 €.
Langkah 2: Pembuatan Kotak Raspberry dan Bar LED
Untuk mengeluarkan kotak Raspberry, gunakan gergaji kayu. Kencangkan setiap sisi kotak dengan keling agar kelihatan bersih. Seperti namanya, kotak ini tidak hanya berisi Raspberry Pi tetapi juga menyertakan sensor gerakan yang akan anda letakkan di bahagian bawah. Setelah kotak dibina, cat dengan warna yang sama dengan tong sampah. Teknologi percetakan 3D dapat digunakan untuk membuat kotak ini.
Untuk pembuatan bar LED, gunakan saluran elektrik di mana anda menggerudi lubang untuk membolehkan lampu LED dipasang. Bar LED juga mesti dicat. Apabila semuanya sudah siap, pasang LED di saluran dan buat sambungan elektrik. Perhatikan dengan betul nombor setiap kabel LED dengan pita pelekat. Ini akan membantu anda mengenal pasti setiap LED semasa pendawaian.
Akhirnya, pasangkan kotak dan bar LED ke bahagian depan tong sampah anda.
Langkah 3: Bahagian Tudung
Mengenai penutup tong sampah, langkah pertama adalah melekatkan servomotor ke penutupnya. Perluasan leverage mesti dibuat sebelumnya. Tuas akan memukul stop yang sebelumnya dibuat dengan tangan. Pasang kotak skru ke penutup dan buat lubang di dalamnya untuk menahan sensor ultrasonik pada kedudukan yang betul. Pastikan anda memasang kabel pada penutup dengan pita dengan betul.
Langkah 4: Bahagian Perisian dan Perolehan Data
Mengenai bahagian perisian, kami menggunakan bahasa pengaturcaraan python. Program ini disimpan dalam kad SD yang akan dijalankan oleh Raspberry Pi apabila dihidupkan. Skema pendawaian terdapat di atas. Gambar pin Gpio tersedia untuk semua jenis raspberry pada pautan di bawah:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
Anda boleh menggunakan sensor ultrasonik untuk menggantikan pengesan pergerakan, anda hanya perlu membuat "if loop" dalam kod.
Seperti disebutkan di atas, data mengenai tingkat tempat tong sampah diisi dikirim ke situs web yang dibuat di wix.com. Di laman web ini, anda dapat mencari tab yang berbeza yang mengumpulkan ahli pasukan, persembahan perkakasan dan perisian, … Tab yang menarik sebenarnya adalah tab "Pangkalan Data" yang mengumpulkan maklumat mengenai jumlah sampah langsung dari SmartBin dan membuat grafik dengan data. Grafik memaparkan evolusi tahap pengisian. Adalah mungkin untuk melihat atau memuat turun data dari laman web. Pautan di bawah adalah laman web yang kami gunakan dan akan menunjukkan kepada anda cara membaca dan menulis di helaian google dengan python:
www.makeuseof.com/tag/read-write-google-sh…
Mengenai "bahagian autorun" kod, tulis di terminal: sudo nano / etc / xdg / lxsession / LXDE-pi / autostart
Kemudian, di akhir skrip yang baru dibuka, tulis dua baris kod ini: python /home/pi/main.py & python /home/pi/csvcontrol.py &
Untuk menyimpan aurorun, tekan: C trl + O Kemudian, tekan: Enter Kemudian, tekan: C trl + X
Tulis sebagai baris kod terakhir: rebo sudo
Anda juga dapat memuat turun lampiran yang merupakan kod python penuh yang digunakan untuk projek tersebut. Kedua-dua kod dijalankan pada masa yang sama!
Inilah kod main.py:
import RPi. GPIO sebagai GPIOimport datetime import time import csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (Salah)
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
Gema = 24
GPIO.setup (Trig, GPIO. OUT)
GPIO.setup (Echo, GPIO. IN)
GPIO.setwarnings (Salah)
GPIO.output (5, Salah)
GPIO.output (6, False) GPIO.output (13, False) GPIO.output (19, False) GPIO.output (20, False) GPIO.output (21, False) GPIO.output (26, Salah)
GPIO.output (Trig, Salah)
timeset = time.time ()
jarak = 100 memori = 0 masa. tidur (2) pwm. memulakan (12.5)
Walaupun Betul:
timetac = time.time () if GPIO.input (capteurP) dan 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 atau memory> 0.4: if memory> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) for x in range (0, 1): # GPIO.output (Trig, Betul) masa. Tidur (0,01) GPIO. Output (Trig, Salah)
manakala GPIO.input (Echo) == 0 dan timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()
sementara GPIO.input (Echo) == 1:
finImpulsion = time.time () if timetac-timeset <17: jarak1 = pusingan ((finImpulsion - debutImpulsion) * 340 * 100/2, 1) jarak2 = jarak jika (jarak1-jarak2) <1 dan (jarak2-jarak1) 0.4: dis = bulat ((60-jarak) * 5/6, 1) dengan terbuka ('capteur.csv', 'w') sebagai csvfile: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now (), '% Y-% m-% d% H:% M:% S') mencetak ('Time: {0} Quantitee: {1}'. format (time_str, dis)) capteurwriter. writerow ([time_str, dis]) memori = -0.1 jika jarak <52.5: GPIO.output (5, True) lain: GPIO.output (5, False) jika jarak <45: GPIO.output (6, True) yang lain: GPIO.output (6, False) jika jarak <37.5: GPIO.output (13, True) lain: GPIO.output (13, False) jika jarak <30: GPIO.output (19, True) lain: GPIO.output (19, Salah) jika jarak <22.5: GPIO.output (20, True) lain: GPIO.output (20, False) jika jarak <15: GPIO.output (21, True) lain: GPIO.output (21, False) jika jarak <7.5: GPIO.output (26, Betul) yang lain: GPIO.output (26, Salah)
Inilah kod csvcontrol.py. Jangan lupa tampal fail ".json" yang dibuat di direktori main.py. yang sama. Fail ".json" dibuat dengan API Google. Tangkapan skrin tersedia dalam gambar.
import datetimeimport time import csv import gspread
dari oauth2client.service_account import ServiceAccountCredentials
dari masa import impak impak tidur
timec2 = 'lol'
manakala True: time.sleep (5) loc = ('capteur.csv') dengan open (loc) sebagai csvfile: readCSV = csv.reader (csvfile, delimiter = ',') untuk baris dalam readCSV: print (baris [0]) timec = baris [0] cetak (baris [1]) jarak = baris [1] jarak = terapung (str (jarak)) jika timec2! = timec: timec2 = timec print ('Time: {0} Quantitee: { 1} '. Format (timec, jarak))
SKOP = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ memandu "]
credentials = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (credentials) wks = gc.open ("grafik"). sheet1 wks = wks.append_row ((timec, jarak))
Disyorkan:
Sistem Makluman Tempat Letak Balik Kereta Arduino - Langkah demi Langkah: 4 Langkah
Sistem Makluman Tempat Letak Balik Kereta Arduino | Langkah demi Langkah: Dalam projek ini, saya akan merancang Litar Sensor Tempat Letak Kereta Berbalik Arduino yang ringkas menggunakan Sensor Ultrasonik Arduino UNO dan HC-SR04. Sistem amaran Car Reverse berasaskan Arduino ini dapat digunakan untuk Navigasi Autonomi, Robot Ranging dan rangkaian lain
Langkah demi Langkah Pembinaan PC: 9 Langkah
Langkah demi Langkah Pembinaan PC: Persediaan: Perkakasan: MotherboardCPU & CPU cooler PSU (Unit bekalan kuasa) Penyimpanan (HDD / SSD) RAMGPU (tidak diperlukan) Alat kes: Pemutar skru Gelang ESD / tampal matsthermal dengan aplikator
Tiga Litar Pembesar Suara -- Tutorial Langkah demi Langkah: 3 Langkah
Tiga Litar Pembesar Suara || Tutorial Langkah-demi-Langkah: Loudspeaker Circuit menguatkan isyarat audio yang diterima dari persekitaran ke MIC dan menghantarnya ke Speaker dari tempat audio diperkuat dihasilkan. Di sini, saya akan menunjukkan kepada anda tiga cara berbeza untuk membuat Loudspeaker Circuit ini menggunakan:
Pengangkatan Akustik Dengan Arduino Uno Langkah demi Langkah (8-langkah): 8 Langkah
Acoustic Levitation With Arduino Uno Step-by Step (8-step): transduser suara ultrasonik L298N Dc power adaptor wanita dengan pin dc lelaki Arduino UNOBreadboardBagaimana ini berfungsi: Pertama, anda memuat naik kod ke Arduino Uno (ia adalah mikrokontroler yang dilengkapi dengan digital dan port analog untuk menukar kod (C ++)
SmartBin: 8 Langkah
SmartBin: Este é um projeto para um sistema inteligente de coletas, no qual os caminh õ es de lixo recebem dados das lixeiras, identificando a quantidade de lixo presente em cada uma delas, e uma rota de coleta tra ç ada, dasar komik dan maklumat