[PYTHON] Die Geschichte eines Parksensors in 10 Minuten mit dem GrovePi + Starter Kit

Am Anfang

10 Minuten sind nicht übertrieben, aber wahr. Die Aufschlüsselung beträgt ungefähr 5 Minuten, wenn Sie sich das Beispielprogramm ansehen, das in Beziehung zu stehen scheint, und ungefähr 5 Minuten, um die Teile zu verbinden und den Code zu schreiben (tatsächlich kopieren und einfügen), insgesamt 10 Es war ungefähr eine Minute

GrovePi+ Starter Kit GrovePi + Starter Kit ist Seeeds [Grove Sensor](http: //: // Eine Erweiterungskarte GrovePi, mit der Sie www.seeedstudio.com/depot/s/grovefamily.html verwenden können) mit Raspberry Pi, sortierte mehrere Grove-Sensoren Es handelt sich um eine Reihe von Grove-System-Starter-Kits für Raspberry Pi-Benutzer zu einem vernünftigen Preis (ich kann nur erklären, was Sie am Namen erkennen können ^^;)

Im Überprüfungsabschnitt (P56) von MagPis Ausgabe 33 GrovePi + Starter Kit Erste Schritte mit dem Grovepi / Grove-Pi-Starter-Kit /) wurde im Angelbuch eingeführt __ Wenn Sie ein Python-Fan sind, der mit Elektronik anfangen möchte, ist dies eine gute Wahl __ War besorgniserregend. Bis dahin ist es nur __ Sie müssen sich keine Sorgen um elektrische Anschlüsse machen __ (Ich bin einem Software-Shop wie mir sehr dankbar, der keinen Strom mag, nur weil Sie sich keine Sorgen machen müssen) Ich dachte, aber es scheint, dass es nicht so ist, und Sie können das sehr praktische Cleaver Script verwenden.

Eindruck, den ich gelesen habe, während ich den Sensor angeschlossen und das Beispielprogramm vorerst ausgeführt habe

Es war schwer zu sagen, welches Programm das Beispiel für welchen Sensor war, aber ich stellte allmählich fest, dass es vorerst lief. Das klingt nach Spaß, und Sie können alles tun, indem Sie einfach die Linien verbinden und mit einer Syntax wie Arduinos Skizze lesen und schreiben. Insbesondere ist __LCD sehr praktisch und so einfach wie das Festlegen der anzuzeigenden Zeichenfolge und der Farbe der Hintergrundbeleuchtung __. Sie können anscheinend für das bezahlen, was Sie gekauft haben.

Parking Sensor Als ich mir die Teile des Kits ansah, hatte ich das Gefühl, ich könnte den Parksensor herstellen, der in MagPis Ausgabe 31 erschien. Von hier aus dauerte die Fertigstellung etwa 10 Minuten. Wie auch immer __ es ist so einfach wie du denkst __ du musst an nichts denken __

Material

Grundsätzlich nur RaspberryPi und GrovePi + Starter Kit

  1. Raspberry Pi (GrovePi wurde in Raspbian eingestellt. Zu diesem Zeitpunkt this Es gab ein Problem, aber Fragen und Antworten sind schnell und sicher.)
  2. GrovePi+
  3. LCD (Verbinden Sie sich mit I2C, da es egal ist, welche Nummer)
  4. Ultraschall-Abstandssensor (Verbindung zu D2, dem Augapfel von Pixcers Robotercharakter)
  5. Grüne LED (an D5 angeschlossen)
  6. Rote LED (an D6 angeschlossen)
  7. Summer (Bei Anschluss an D8 ist der Ton so laut, dass Sie überrascht sein können und das Loch mit einem Klauenzahnstocher schließen können.)

Das fertige Bild sieht so aus

スクリーンショット 2015-06-14 18.54.44.png

Es tut mir leid ^^; Ich kann ein DHT (digitales Feuchtigkeitsthermometer, blauer Typ) sehen, das jetzt nichts damit zu tun hat ^^ ;;;; Es war einfach, diese Messung in naher Zukunft an M2X zu senden ...

Spezifikation

Messen Sie den Abstand zur Wand des Parkplatzes mit einem Ultraschall-Abstandssensor

  1. Zeigen Sie den gemessenen Abstand auf dem LCD an
  2. Wenn der Abstand weniger als 1 m beträgt, schalten Sie die LCD-Hintergrundbeleuchtung grün und die grüne LED ein.
  3. Wenn der Abstand weniger als 30 cm beträgt, schalten Sie die LCD-Hintergrundbeleuchtung rot ein, schalten Sie die rote LED ein und ertönen Sie den Summer.

Wahrscheinlich praktisch zum Parken eines Autos. Eigentlich hatte ich noch nie einen Führerschein, daher bin ich damit nicht vertraut ...

Für die Hintergrundbeleuchtung habe ich versucht, den Effekt des Ausblendens unter Bezugnahme auf das Beispielprogramm (Kopieren und Einfügen) hinzuzufügen. Im fertigen Code wird dies durch Ändern der Farbe der Hintergrundbeleuchtung mit einer for-Schleife realisiert

Einführungsvideo des fertigen Produkts

Der Betrieb des fertigen Produkts ist wie folgt

Referenziertes Beispielprogramm und abgeschlossener Code

Ich habe mir zuerst den folgenden Code angesehen, es ist nur ein kurzer Code, den Sie auf einen Blick sehen können

  1. LED ein / aus
  2. Entfernungssensor
  3. Summer
  4. LCD Dies ist etwas lang, aber der Punkt ist nur die Farbe und die Zeichenfolge nicht wahr

Der folgende Code wird vervollständigt, indem diese irgendwie zusammengehalten werden. Was ich tue, ist so einfach wie das Drehen einer Schleife, das Messen der Entfernung und das Ändern der Anzeige entsprechend der Entfernung, aber das liegt daran, dass es so viele magische Zahlen gibt und es nicht genug Kommentare gibt. Ich denke, es ist der wahre Grund, warum ich es in 10 Minuten geschafft habe ...

Abschlusscode


import sys
sys.path.append("/home/pi/GrovePi/Software/Python/grove_rgb_lcd")

import time
from grovepi import *
from grove_rgb_lcd import *

# Connect the Grove Ultrasonic Ranger to digital port D4
# SIG,NC,VCC,GND
#ultrasonic_ranger = 4
ultrasonic_ranger = 2
led_green = 5
led_red   = 6
buzzer = 8

pinMode(buzzer,"OUTPUT")
pinMode(led_green,"OUTPUT")
pinMode(led_red,"OUTPUT")
time.sleep(1)

while True:
    try:
        # Read distance value from Ultrasonic
        distance = ultrasonicRead(ultrasonic_ranger)
        print distance
        dist = int(distance)
        if dist > 100:
        	# non
            digitalWrite(led_green,0)
            digitalWrite(led_red,0)
            setText("distance = "+str(dist))
            for c in range(0,255):
                setRGB(255-c,255-c,255-c)
                time.sleep(.0039)
        elif dist > 30:
        	# green
            digitalWrite(led_green,1)
            digitalWrite(led_red,0)
            setText("distance = "+str(dist))
            for c in range(0,255):
                setRGB(255-c,255,255-c)
                time.sleep(.0039)
        else:
        	# red, buzzer 1sec
            digitalWrite(led_green,0)
            digitalWrite(led_red,1)
            digitalWrite(buzzer,1)
            setText("distance = "+str(dist))
            for c in range(0,255):
                setRGB(255,255-c,255-c)
                time.sleep(.0039)
            digitalWrite(buzzer,0)



    except TypeError:
        print "Error"
    except IOError:
        print "Error"

Impressionen

Es ist wirklich einfach.

  1. Kein Löten erforderlich
  2. Sie müssen die Sensoranschlussmethode nicht kennen (Spannung beträgt 5 V oder 3,3 V, Protokoll ist usw.). Schließen Sie einfach das Kabel an
  3. Die Software ruft nur die von GrovePi bereitgestellten Python-Funktionen auf

Ich dachte, dass die Einfachheit, so etwas wie elektronische Arbeit allein damit machen zu können, sicherlich eine gute Wahl ist, wie MagPi sagte.

Die verbleibenden Herausforderungen

Ich habe das Gefühl, dass der gemessene Wert des Abstandssensors etwas kurz ist. Der Ultraschall-Abstandssensor misst die Entfernung, indem er die Schallgeschwindigkeit mit der Zeit multipliziert, die benötigt wird, um die Ultraschall-Pulswelle auf dem Objekt zu reflektieren und zurückzukehren. Der Einstellwert der Schallgeschwindigkeit (eine Funktion von Temperatur und Luftfeuchtigkeit) ist jedoch etwas zu schnell. Es wird vermutet, dass (basierend auf einem heißen und feuchten Ort?). Da es keine API gibt, die Temperatur und Luftfeuchtigkeit zur Korrektur angibt, scheint eine Korrektur auf der Anwendungsseite erforderlich zu sein, um einen genauen Abstand zu erhalten.

Futur works Die Geschichte, den gemessenen Wert des Gewächshausgradsensors dht11 mit GrovePi + in 10 Minuten an m2x senden zu können

Recommended Posts

Die Geschichte eines Parksensors in 10 Minuten mit dem GrovePi + Starter Kit
Die Geschichte, wie man mit discord.py einen Fragenkasten-Bot erstellt
Die Geschichte der Teilnahme an AtCoder
Die Geschichte des "Lochs" in der Akte
Die Geschichte des Exportierens eines Programms
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
Die Geschichte der Ausgabe des Planetarium-Meisters im PDF-Format mit Pycairo
Die Geschichte, ein Modul zu erstellen, das E-Mails mit Python überspringt
Die Geschichte des Erstellens eines Bots, der aktive Mitglieder in einem bestimmten Slack-Kanal mit Python anzeigt
[Verständnis in 3 Minuten] Der Beginn von Linux
Die Geschichte eines Fehlers in PyOCR
Die Geschichte der Verarbeitung A von Blackjack (Python)
Probieren Sie den Grove Pi + Starter Kit Sensor aus
Eine Geschichte, die die Gegenwart von Qiita mit Qiita API + Elasticsearch + Kibana visualisiert
Die Geschichte, wie man mit Python einen 100-Yen-Frühstücks-Bot für die Universität macht
Generieren Sie eine Liste mit der Anzahl der Tage im aktuellen Monat.
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Die Geschichte einer Soundkamera mit Touch Designer und ReSpeaker
Ich habe einen Fehler beim Abrufen der Hierarchie mit MultiIndex von Pandas gemacht
Die Geschichte des tiefen Lernens mit TPU
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Fühlen Sie sich frei, einen Test mit der Nase zu schreiben (im Fall von + gevent)
Holen Sie sich den Aufrufer einer Funktion in Python
So geben Sie mit Jupyter Notebook einen Wert in der Mitte einer Zelle aus
Kopieren Sie die Liste in Python
Finden Sie die Anzahl der Tage in einem Monat
Erstellen Sie mit Vagrant in 5 Minuten eine Django-Umgebung
Die Geschichte der Erstellung einer Webanwendung, die umfangreiche Lesungen mit Django aufzeichnet
Die Geschichte, das optimale n in N Faust zu finden
Die Geschichte des Lesens von HSPICE-Daten in Python
Eine Geschichte voller absoluter Werte von numpy.ndarray
Ausgabe in Form eines Python-Arrays
Die Geschichte der Anzeige von Mediendateien in Django
Die Geschichte eines Mel-Icon-Generators
Die Geschichte, die zur Installation von Pip passt
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Verwirklichen Sie ein Super-IoT-Haus, indem Sie mit Raspberry Pi Sensordaten im Haus erfassen
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Eine Geschichte über den Versuch, Linter mitten in einem Python (Flask) -Projekt vorzustellen
Die Geschichte des Starts eines Minecraft-Servers von Discord
Eine Geschichte, die den Aufwand für Betrieb / Wartung reduziert
Die Geschichte des Stoppens des Produktionsdienstes mit dem Befehl hostname
Die Geschichte des Aufbaus der schnellsten Linux-Umgebung der Welt
Die Geschichte des Teilens der Pyenv-Umgebung mit mehreren Benutzern
Machen Sie LCD-Screenshots mit Python-LEGO Mindstorms
Die Geschichte eines neuronalen Netzwerks der Musikgeneration
Die Geschichte von FileNotFound im Python open () -Modus = 'w'
Die Geschichte, eine harte Zeit mit der gemeinsamen Menge HTTP_PROXY = ~ zu haben
Visualisieren Sie das charakteristische Vokabular eines Dokuments mit D3.js.
Eine Geschichte über die Änderung des Master-Namens von BlueZ
Zip 4 Gbyte Problem ist eine Geschichte der Vergangenheit
Eine Geschichte, die die Lieferung von Nico Nama analysierte.
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Berechnen Sie das Produkt von Matrizen mit einem Zeichenausdruck?
Die Geschichte von sys.path.append ()