Inhaltsverzeichnis:
- Schritt 1: SmartBin-Ausrüstung
- Schritt 2: Herstellung der Raspberry Box und der LED-Leiste
- Schritt 3: Der Deckelteil
- Schritt 4: Softwareteil- und Datenerfassung
Video: SmartBin: 4 Schritte
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Der Hauptzweck dieses Projekts besteht darin, ein elektronisches Gerät zu erstellen, das mindestens einen Raspberry Pi verwendet. Das Team besteht aus 5 angehenden Maschinenbauingenieuren und einem Automatisierungsingenieur. Unser Projekt besteht darin, einen Mülleimer zu bauen, der sich automatisch öffnet und schließt, ausgelöst durch eine Fußbewegung unter dem Bewegungsmelder, der sich in der Mitte auf der Vorderseite des Mülleimers befindet. Ein Wifi-USB-Stick wird verwendet, um Daten auf eine Website zu senden. Dieser Behälter wird "Der SmartBin" genannt. Das humorvolle Video oben stellt unseren innovativen SmartBin vor.
Um dieses Projekt und diesen bemerkenswerten SmartBin durchzuführen, waren mehrere Werkzeuge notwendig:
- Ein Meter
- Starker Kleber
- Ein Klebeband
- Eine Holzsäge
- Ein Schraubenzieher
- Eine Bohrmaschine
- Eine Klemme
- Ein Messer
Schritt 1: SmartBin-Ausrüstung
Der SmartBin besteht aus grünen, orangen und roten LED-Leuchten, die an einer Halterung auf der linken Seite des Behälters angebracht sind und den Füllstand anzeigen. Diese Lichter sind deutlich sichtbar und warnen den Benutzer, wenn der Müllsack ausgetauscht werden muss. Die verwendete Programmiersprache ist Python. Der gemessene Füllstand des Behälters wird an folgende Website übermittelt:
Hier sind die Elemente, die verwendet wurden, aber Sie können leicht eine alternative Lösung finden:
- 1 Behälter ("Schwenkdeckel"-Behälter)
- 1 Servomotor zum Öffnen des Behälters
- 1 Raspberry Pi 2
- 2 Netzteile (5V Handyladegerät und 6V Netzteil) zur Versorgung des Raspberry Pi und des Stellmotors
- 1 Ultraschallsensor zur Messung des Füllstands des Behälters
- Einige LEDs zur Füllstandsanzeige (4 grün, 2 orange und 1 rot)
- 1 Ultraschall-Bewegungsmelder zur Erkennung einer Bewegung
- 1 16 GB SD-Karte
- Elektrische Widerstände (10.000 Ohm, 2000 Ohm und 1000 Ohm)
- 1 WLAN-USB-Stick zur drahtlosen Übertragung auf die Website.
- 1 Steckbrett und einige Raspberry-Kabel
Der geschätzte Herstellungspreis beträgt 80€.
Schritt 2: Herstellung der Raspberry Box und der LED-Leiste
Verwenden Sie zur Herstellung der Himbeerbox eine Holzsäge. Befestige jede Seite der Box mit Nieten, damit sie sauber aussieht. Wie der Name schon sagt, enthält diese Box nicht nur den Raspberry Pi, sondern auch den Bewegungssensor, den Sie unten platzieren. Sobald die Kiste gebaut ist, malen Sie sie in der gleichen Farbe wie die Tonne. 3D-Drucktechnologie könnte verwendet werden, um diese Box zu erstellen.
Verwenden Sie für die Herstellung der LED-Leiste einen Elektrokanal, in den Sie Löcher bohren, damit die LED-Leuchten installiert werden können. Auch die LED-Leiste muss lackiert werden. Wenn alles fertig ist, installieren Sie die LEDs im Kanal und stellen Sie den elektrischen Anschluss her. Achten Sie darauf, jedes LED-Kabel mit Klebeband richtig zu nummerieren. Es hilft Ihnen, jede LED während der Verdrahtung zu identifizieren.
Schließlich befestigen Sie die Box und die LED-Leiste an der Vorderseite Ihres Mülleimers.
Schritt 3: Der Deckelteil
Beim Deckel des Behälters besteht der erste Schritt darin, den Stellmotor auf den Deckel zu kleben. Eine Verlängerung des Hebels muss vorher erfolgen. Der Hebel wird auf einen zuvor handgefertigten Anschlag treffen. Befestigen Sie eine Schraubdose am Deckel und bohren Sie ein Loch hinein, um den Ultraschallsensor in der richtigen Position zu halten. Stellen Sie sicher, dass Sie die Kabel richtig mit Klebeband am Deckel befestigen.
Schritt 4: Softwareteil- und Datenerfassung
Was den Softwareteil angeht, haben wir die Programmiersprache Python verwendet. Das Programm wird auf der SD-Karte gespeichert, die beim Einschalten vom Raspberry Pi ausgeführt wird. Das Verdrahtungsschema ist oben verfügbar. Das Gpio-Pins-Bild ist für alle Himbeertypen unter dem folgenden Link verfügbar:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
Es ist möglich, einen Ultraschallsensor zu verwenden, um den Bewegungsmelder zu ersetzen, Sie müssen nur eine "Wenn-Schleife" im Code erstellen.
Wie oben erwähnt, werden die Daten über den Füllstand des Behälters an eine auf wix.com erstellte Website übermittelt. Auf dieser Website finden Sie verschiedene Registerkarten, die Teammitglieder, Hardware- und Software-Präsentationen sammeln, … Die interessante Registerkarte ist eigentlich die Registerkarte "Datenbank", die die Informationen über die Müllmenge direkt aus dem SmartBin sammelt und eine Grafik mit den Daten erstellt. Die Grafik zeigt die Entwicklung des Füllstands an. Es ist möglich, Daten von der Website einzusehen oder herunterzuladen. Der folgende Link ist die von uns verwendete Website und zeigt Ihnen, wie Sie mit Python auf Google Sheets lesen und schreiben:
www.makeuseof.com/tag/read-write-google-sh…
Zum "Autorun-Teil" des Codes schreiben Sie in das Terminal: sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
Schreiben Sie dann am Ende des gerade geöffneten Skripts diese beiden Codezeilen: python /home/pi/main.py & python /home/pi/csvcontrol.py &
Um den Aurorun zu speichern, drücke: Strg + O Dann drücke: Enter Dann drücke: Strg + X
Als letzte Codezeile schreiben: sudo reboot
Sie können auch den Anhang herunterladen, der den vollständigen Python-Code enthält, der für das Projekt verwendet wird. Beide Codes werden gleichzeitig ausgeführt!
Hier ist der main.py-Code:
import RPi. GPIO als GPIOimport datetime import time import csv
GPIO.setmode(GPIO. BCM)
GPIO.setwarnings(Falsch)
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)
Trigger = 23
Echo = 24
GPIO.setup(Trigger, GPIO. OUT)
GPIO.setup(Echo, GPIO. IN)
GPIO.setwarnings(Falsch)
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 (Trigger, False)
timeset = time.time()
Distanz=100 Speicher=0 time.sleep(2) pwm.start(12.5)
während Wahr:
timetac = time.time() if GPIO.input(capteurP) und 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) für x im Bereich(0, 1): # GPIO.output(Trig, True) time.sleep(0.01) GPIO.output(Trig, False)
while GPIO.input(Echo)==0 und timetac-timeset<17: timetac = time.time() DebütImpulsion = time.time()
während GPIO.input(Echo)==1:
finImpulsion = time.time() if timetac-timeset<17: distance1 = round((finImpulsion - debütImpulsion) * 340 * 100 / 2, 1) distance2=distanz if (distanz1-distanz2)<1 und (distanz2-distanz1)0.4: dis=round((60-distanz)*5/6, 1) with open('capteur.csv', 'w') als 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. writerow([time_str, dis]) memory=-0.1 if distance < 52.5: GPIO.output(5, True) else: GPIO.output(5, False) if distance < 45: GPIO.output(6, True) else: GPIO.output(6, False) wenn Abstand < 37,5: GPIO.output(13, True) sonst: GPIO.output(13, False) wenn Abstand < 30: GPIO.output(19, True) sonst: GPIO.output(19, False) wenn Abstand < 22,5: GPIO.output(20, True) else: GPIO.output(20, False) wenn Abstand < 15: GPIO.output(21, True) sonst: GPIO.output(21, False) wenn Abstand < 7,5: GPIO.output(26, True) sonst: GPIO.output(26, False)
Hier ist der csvcontrol.py-Code. Vergessen Sie nicht, die erstellte Datei ".json" in das gleiche Verzeichnis wie main.py einzufügen. Die Datei ".json" wird mit der Google-API erstellt. Ein Screenshot ist in den Bildern zu sehen.
import datetimeimport time import csv import gspread
from oauth2client.service_account import ServiceAccountCredentials
ab Zeit Schlaf importieren Traceback importieren
timec2='lol'
while True: time.sleep(5) loc=('capteur.csv') mit open(loc) als csvfile: readCSV = csv.reader(csvfile, delimiter=', ') für Zeile in readCSV: print(row[0]) timec=row[0] print(row[1]) distance=row[1] distance=float(str(distanz)) if timec2!=timec: timec2=timec print('Time:{0} Quantitee:{ 1}'.format (timec, entfernung))
SCOPES = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ Fahrt"]
Credentials = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', SCOPES) gc = gspread.authorize(credentials) wks= gc.open("graph").sheet1 wks= wks.append_row((timec, distance))
Empfohlen:
Erste Schritte mit Amara: 7 Schritte
Erste Schritte mit Amara: Amara ist ein kostenloser Untertitel-Editor, mit dem Sie ganz einfach Untertitel zu Videos hinzufügen können – vom Unterricht bis zum persönlichen Gebrauch. Diese Anweisungen helfen Ihnen, ein Amara-Konto einzurichten, damit Sie schnell und einfach Untertitel hinzufügen können
Erste Schritte mit der Heimautomatisierung: Home Assistant installieren: 3 Schritte
Erste Schritte mit der Hausautomation: Home Assistant installieren: Wir starten jetzt die Hausautomationsserie, in der wir ein Smart Home erstellen, das es uns ermöglicht, Dinge wie Licht, Lautsprecher, Sensoren usw. über einen zentralen Hub zusammen mit einem Sprachassistent. In diesem Beitrag erfahren Sie, wie Sie in
Erste Schritte mit dem SkiiiD-Editor: 11 Schritte
Erste Schritte mit dem SkiiiD-Editor: skiiiD-Editor, Entwicklungsboard-Firmware IDEskiiiD-Editor basiert auf skiiiD (Firmware Development Engine). Jetzt ist es mit Arduino UNO, MEGA und NANO mit 70+ Komponenten kompatibel.BetriebssystemmacOS / WindowsInstallierenBesuchen Sie die Website https:
Erste Schritte mit Python: 7 Schritte (mit Bildern)
Erste Schritte mit Python: Programmieren ist großartig! Es ist kreativ, macht Spaß und gibt Ihrem Gehirn ein mentales Training. Viele von uns wollen etwas über Programmieren lernen, aber überzeugen sich selbst davon, dass wir es nicht können. Vielleicht hat es zu viel Mathematik, vielleicht der Jargon, der erschreckend herumgeworfen wird
Raspbian in Raspberry Pi 3 B ohne HDMI installieren - Erste Schritte mit Raspberry Pi 3B - Einrichten Ihres Raspberry Pi 3: 6 Schritte
Raspbian in Raspberry Pi 3 B ohne HDMI installieren | Erste Schritte mit Raspberry Pi 3B | Einrichten Ihres Raspberry Pi 3: Wie einige von Ihnen wissen, sind Raspberry Pi-Computer ziemlich großartig und Sie können den gesamten Computer nur auf einer einzigen winzigen Platine bekommen. Das Raspberry Pi 3 Model B verfügt über einen Quad-Core 64-Bit ARM Cortex A53 mit 1,2 GHz getaktet. Damit ist der Pi 3 ungefähr 50