[PYTHON] L'histoire d'un capteur de stationnement en 10 minutes avec le kit de démarrage GrovePi +

Au début

10 minutes n'est pas exagéré mais vrai, la ventilation est d'environ 5 minutes en regardant l'exemple de programme qui semble être lié, et environ 5 minutes pour connecter les pièces et écrire le code (en fait copier et coller), soit un total de 10 C'était environ une minute

GrovePi+ Starter Kit GrovePi + Starter Kit est le [Grove Sensor] de Seeed (http: // // Une carte d'extension GrovePi qui vous permet d'utiliser www.seeedstudio.com/depot/s/grovefamily.html) avec Raspberry Pi, assortiment de plusieurs capteurs Grove C'est un ensemble de kits de démarrage du système Grove pour les utilisateurs de Raspberry Pi à un prix raisonnable (je ne peux expliquer que ce que vous pouvez dire à partir du nom ^^;)

Dans la section Review (P56) de MagPi's Issue 33, [GrovePi + Starter Kit](http://www.dexterindustries.com/GrovePi/ get-started-with-the-grovepi / grove-pi-starter-kit /) a été introduit dans le livre de pêche __ Si vous êtes un fan de python qui veut se lancer dans l'électronique, un excellent choix __ C'était inquiétant. Jusque-là, c'est juste __ vous n'avez pas à vous soucier des connexions électriques __ (je suis très reconnaissant à un magasin de logiciels comme moi qui n'aime pas l'électricité juste de ne pas s'en soucier) J'ai pensé, mais il semble que ce ne soit pas le cas, et vous pouvez utiliser le très pratique Cleaver Script.

Impression que j'ai lue en connectant le capteur et en exécutant le programme exemple pour le moment

Il était difficile de dire quel programme était l'échantillon de quel capteur, mais je me suis progressivement rendu compte qu'il fonctionnait pour le moment. Cela semble amusant, et vous pouvez tout faire en connectant simplement les lignes et en lisant et en écrivant avec une syntaxe comme le croquis d'Arduino. En particulier, __LCD est très pratique, et c'est aussi simple que de définir la chaîne de caractères que vous souhaitez afficher et la couleur du rétroéclairage __, et il semble que vous puissiez payer ce que vous avez acheté.

Parking Sensor En regardant les pièces du kit, j'ai eu l'impression de pouvoir fabriquer le capteur de stationnement qui est apparu dans le [numéro 31] de MagPi (https://www.raspberrypi.org/magpi/issues/31/). À partir de là, il a fallu environ 10 minutes pour terminer. Quoi qu'il en soit __ c'est aussi simple que vous le pensez __ vous n'avez à penser à rien __

Matériel

Fondamentalement, uniquement RaspberryPi et GrovePi + Starter Kit

  1. Raspberry Pi (GrovePi a déjà été configuré dans Raspbian. À ce moment-là, this Il y avait un problème, mais les questions et réponses sont rapides et sûres)
  2. GrovePi+
  3. LCD (connectez-vous à I2C car peu importe le numéro)
  4. Capteur de distance à ultrasons (connectez-vous à D2, le globe oculaire du personnage de robot de Pixcer)
  5. LED verte (connectée à D5)
  6. LED rouge (connectée à D6)
  7. Buzzer (connecté à D8, le son est si fort que vous pourriez être surpris, vous pouvez donc fermer le trou avec un cure-dent à griffes)

L'image terminée ressemble à ceci

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

Je suis désolé ^^; Maintenant, j'ai un DHT sans rapport (thermomètre d'humidité numérique, type bleu) ^^ ;;;; Il était facile d'envoyer cette mesure à M2X dans un proche avenir ...

spécification

Mesurez la distance par rapport au mur du parking avec un capteur de distance à ultrasons

  1. Affichez la distance mesurée sur l'écran LCD
  2. Lorsque la distance est inférieure à 1 m, allumez le rétroéclairage LCD en vert et allumez la LED verte.
  3. Lorsque la distance est inférieure à 30 cm, allumez le rétroéclairage LCD en rouge, allumez la LED rouge et faites retentir l'avertisseur.

Probablement pratique pour garer une voiture. En fait, je n'ai jamais eu de permis de conduire, donc je ne le connais pas ...

Pour le rétroéclairage, j'ai essayé d'ajouter l'effet de fondu en me référant à l'exemple de programme (copier-coller). Dans le code terminé, il est réalisé en changeant la couleur du rétroéclairage avec une boucle

Vidéo d'introduction du produit fini

Le fonctionnement du produit fini est comme celui-ci

Exemple de programme référencé et code complété

J'ai d'abord regardé le code ci-dessous, c'est juste un code court que vous pouvez voir en un coup d'œil

  1. LED marche / arrêt
  2. Capteur de distance
  3. Buzzer
  4. LCD C'est un peu long, mais le point est juste de définir la couleur et la chaîne n'est-ce pas

Le code suivant est complété en les collant d'une manière ou d'une autre. Ce que je fais, c'est aussi simple que de tourner une boucle, de mesurer la distance et de changer l'affichage en fonction de la distance, mais c'est parce qu'il y a tellement de nombres magiques et qu'il n'y a pas assez de commentaires. Je pense que c'est la vraie raison pour laquelle je l'ai fait en 10 minutes ...

Code d'achèvement


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"

Impressions

C'est vraiment simple.

  1. Pas besoin de soudure
  2. Pas besoin d'être conscient de la méthode de connexion du capteur (la tension est de 5 V ou 3,3 V, le protocole est etc.), connectez simplement le fil
  3. Le logiciel appelle simplement les fonctions Python fournies par GrovePi

Je pensais que la simplicité de pouvoir faire quelque chose comme du travail électronique avec cela seul était certainement __ "un excellent choix" __ comme l'a dit MagPi.

Les défis restants

J'ai l'impression que la valeur mesurée du capteur de distance est un peu courte. Le capteur de distance à ultrasons mesure la distance en multipliant la vitesse du son par le temps nécessaire pour que l'onde de pouls ultrasonique se réfléchisse sur l'objet et revienne, mais la valeur de réglage de la vitesse du son (fonction de la température et de l'humidité) est un peu trop rapide. On suppose que (basé sur un endroit chaud et humide?). Puisqu'il n'y a pas d'API pour donner la température et l'humidité pour la correction, il semble qu'une correction côté application soit nécessaire pour obtenir la distance précise.

Futur works L'histoire de la possibilité d'envoyer la valeur mesurée du capteur de degré de serre DHT11 à m2x en 10 minutes à l'aide de GrovePi +

Recommended Posts

L'histoire d'un capteur de stationnement en 10 minutes avec le kit de démarrage GrovePi +
L'histoire de la création d'un bot de boîte à questions avec discord.py
L'histoire de la participation à AtCoder
L'histoire du "trou" dans le fichier
L'histoire de l'exportation d'un programme
Traitez le contenu du fichier dans l'ordre avec un script shell
Une histoire coincée avec l'installation de la bibliothèque de machine learning JAX
L'histoire de la création d'un pilote standard pour db avec python.
L'histoire de la sortie du maître de planétarium au format pdf avec Pycairo
L'histoire de la création d'un module qui ignore le courrier avec python
L'histoire de la création d'un Bot qui affiche les membres actifs dans un canal spécifique de Slack avec Python
[Comprendre en 3 minutes] Le début de Linux
L'histoire d'une erreur dans PyOCR
L'histoire du traitement A du blackjack (python)
Essayez le capteur Grove Pi + Starter Kit
Une histoire qui visualise le présent de Qiita avec Qiita API + Elasticsearch + Kibana
L'histoire de la création d'un robot LINE pour le petit-déjeuner d'une université de 100 yens avec Python
Générez une liste contenant le nombre de jours du mois en cours.
Recevez une liste des résultats du traitement parallèle en Python avec starmap
L'histoire de la création d'une caméra sonore avec Touch Designer et ReSpeaker
J'ai fait une erreur en récupérant la hiérarchie avec MultiIndex of pandas
L'histoire de l'apprentissage profond avec TPU
[Python] Récupérez les fichiers dans le dossier avec Python
N'hésitez pas à rédiger un test avec nez (dans le cas de + gevent)
Récupérer l'appelant d'une fonction en Python
Pour générer une valeur au milieu d'une cellule avec Jupyter Notebook
Copiez la liste en Python
Trouvez le nombre de jours dans un mois
Créez un environnement Django avec Vagrant en 5 minutes
L'histoire de la création d'une application Web qui enregistre des lectures approfondies avec Django
L'histoire de la recherche du n optimal dans N poing
L'histoire de la lecture des données HSPICE en Python
Une histoire remplie de valeurs absolues de numpy.ndarray
Sortie sous la forme d'un tableau python
L'histoire de l'affichage des fichiers multimédias dans Django
L'histoire de la création d'un générateur d'icônes mel
L'histoire qui s'inscrit dans l'installation de pip
Comment obtenir une liste de fichiers dans le même répertoire avec python
Réalisez une maison super IoT en acquérant des données de capteur dans la maison avec Raspberry Pi
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Une histoire sur la tentative d'introduire Linter au milieu d'un projet Python (Flask)
L'histoire du lancement d'un serveur Minecraft depuis Discord
Une histoire qui réduit l'effort de fonctionnement / maintenance
L'histoire de l'arrêt du service de production avec la commande hostname
L'histoire de la création de l'environnement Linux le plus rapide au monde
L'histoire du partage de l'environnement pyenv avec plusieurs utilisateurs
Prenez des captures d'écran LCD avec Python-LEGO Mindstorms
L'histoire de la création d'un réseau neuronal de génération musicale
L'histoire de FileNotFound en Python open () mode = 'w'
Une histoire qui a eu du mal avec l'ensemble commun HTTP_PROXY = ~
Visualisez le vocabulaire caractéristique d'un document avec D3.js
Une histoire sur le changement du nom principal de BlueZ
Le problème Zip 4 Gbyte est une histoire du passé
Une histoire qui a analysé la livraison de Nico Nama.
Un mémorandum sur la mise en œuvre des recommandations en Python
Calculer le produit des matrices avec une expression de caractère?
L'histoire de sys.path.append ()