[PYTHON] Ich habe versucht, [eine bestimmte Aufgabe] mit einem Raspeltorte zu automatisieren

Einführung

Wie fühlen Sie sich am Anfang und am Ende Ihres Unternehmens? Ich denke, dass es Dinge gibt, wie Benachrichtigung durch Inhouse-Rundfunk, Beginn der Arbeit ohne Erlaubnis, wenn es Zeit ist, Beginn einer Morgenparty, wenn es Zeit ist, und so weiter.

In der Firma, für die ich gearbeitet habe

  1. Der iPod gibt zu Beginn der Arbeit einen Alarm (leise) aus
  2. Die verantwortliche Person stoppt den Alarm
  3. Ertönen Sie manuell das folgende Glockenspiel (?), Um die Mitarbeiter des Unternehmens zu informieren image.png ↑ Schlagen Sie mit einem Stock darauf, damit es klingt

Ich habe es im Fluss gemacht.

~~ Um ehrlich zu sein, braucht es Zeit, um den Alarm zu stoppen und jeden Tag zu schlagen. ~~ Ich denke, es geht nur darum, pünktlich Alarm zu schlagen.

*** Das ist jedoch nicht interessant, also lasst uns die Aktion automatisieren, dieses Glockenspiel trotzdem zu schlagen! *** Also habe ich es mit Raspeye (und Python) (Lernen) automatisiert. Nur weil Sync einen Raspelkuchen hatte, habe ich beschlossen, ihn zusammen mit Sync mit der halben Geschichte zu machen.

Vorbereitung

Wir haben uns zuerst angesehen, was zur Automatisierung erforderlich ist. Glücklicherweise hatte Razupai das Gleiche, so dass ich nicht viel vorzubereiten hatte. Die Einkäufe sind wie folgt.

Beide bei Amazon gekauft! Für den Servomotor habe ich ein digitales Mikroservo SG90 (770 Yen) gekauft.

Der Mechanismus der Automatisierung ist einfach. Steuern Sie einfach den Winkel des Motors mit einem Programm und drücken Sie das Glockenspiel. Es ist cool, Automatisierung zu sagen, aber es ist keine große Sache (lacht)

Entwicklung von

Der Code, den ich dieses Mal geschrieben habe, sieht so aus.

# -*- coding: utf-8 -*-             #Geben Sie die Codierung an
import RPi.GPIO as GPIO             #Importieren Sie Module für GPIO
import time                         #Importmodul zur Zeitsteuerung
import sys                          #Sys-Modul importieren

#Definition der Portnummer
Servo_pin = 18                      #Variable"Servo_pin"Speichern Sie 18 in

#GPIO-Einstellungen
GPIO.setmode(GPIO.BCM)              #GPIO-Modus"GPIO.BCM"Stellen Sie die Methode zur Behandlung von GPIO anhand der Portnummer ein
GPIO.setup(Servo_pin, GPIO.OUT)     #Stellen Sie GPIO18 auf den Ausgabemodus

#PWM-Einstellungen
#Die Frequenz des Servomotors SG90 beträgt 50[Hz]
Servo = GPIO.PWM(Servo_pin, 50)     #GPIO.PWM(Port-Nummer,Frequenz[Hz])

Servo.start(0)                      #Servo.start(Duty Ratio[0-100%])

#Funktion zum Ermitteln des Tastverhältnisses aus dem Winkel
def servo_angle(angle):
    duty = 2.5 + (12.0 - 2.5) * (angle + 90) / 180   #Finden Sie das Tastverhältnis aus dem Winkel
    Servo.ChangeDutyCycle(duty)                      #Tastverhältnis ändern
    time.sleep(0.2)                                  #0.Warten Sie 2 Sekunden

#Steuern Sie den Winkel des Servomotors mit dem Tastverhältnis
#Servo.ChangeDutyCycle(Duty Ratio[0-100%])
servo_angle(0)                 #Bewegen Sie den Servomotor in die Ausgangsposition
servo_angle(90)                #Servomotor 90 °
servo_angle(0)                 #Bringen Sie den Servomotor wieder in seine Ausgangsposition
Servo.stop()                   #Stoppen Sie den Servomotor
GPIO.cleanup()                 #GPIO bereinigen
sys.exit()                     #Beenden Sie das Programm

Der Code selbst ist nicht schwierig, da er nur den Winkel des Servomotors steuert und es viele Informationen im Netz gab, so dass er glatt war.

Obwohl ich die mechanische Abteilung abgeschlossen habe, hatte ich nicht viel Erfahrung in der elektronischen Arbeit (ich habe hauptsächlich Drehmaschinen, Schweißen, Zeichnen usw. an der Universität studiert). Als ich die Überbrückungsdrähte anschloss, tat ich dies beim Überprüfen.

Durch die Automatisierung habe ich Coulon so eingestellt, dass das Programm während der Start- und Endstunden ausgeführt wird. Ich kannte die Existenz von Coulomb nicht und wurde aus derselben Zeit unterrichtet (ich lernte)

cron ist eine Art residentes Programm (Demoner), das in vielen UNIX-basierten Betriebssystemen standardmäßig verwendet wird und das angegebene Programm regelmäßig gemäß dem vom Benutzer festgelegten Zeitplan startet. Referenzquelle: IT-Glossar e-Words

Das fertige Produkt

Es ist ziemlich einfach!

ささとら君 photo3.JPG

ささとら君 photo1.PNG

Hier ist ein Demo-Video. (Stellen Sie sich den Ton vor!) ささとら君 動画.gif

Wie wär es damit? Es ist ein ziemlich surreales Finish (lacht) Wenn ich es tatsächlich benutze, versuche ich es nur einmal zu treffen. Damit musste ich es nicht mehr manuell treffen und konnte nur die Güte des Glockenspiels belassen.

Zusammenfassung

Dieses Mal habe ich versucht, das Start- und Endspiel mit Rasppie zu automatisieren.

Ich denke, der Spaß am Programmieren besteht darin, dass Sie die Unannehmlichkeiten und Ineffizienzen lösen können, die Sie beim Leben auf diese Weise empfunden haben. Es hat Spaß gemacht, es tatsächlich zu versuchen, und es war eine großartige Erfahrung, zu lernen, was ich nicht wusste.

Jeder kann so etwas Einfaches verwenden. Warum also nicht versuchen?

Recommended Posts

Ich habe versucht, [eine bestimmte Aufgabe] mit einem Raspeltorte zu automatisieren
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe versucht, mit OpenCV eine Bewegungserkennungsüberwachungskamera mit einer WEB-Kamera mit Raspberry Pi herzustellen
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Ich habe mit Raspberry Pi gesprochen
Ich habe versucht, ein Konfigurationsdiagramm mit Diagrammen zu zeichnen
Ich habe versucht, mit Raspeye + Tact Switch eine Schaltfläche für Slack zu erstellen
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Verwenden einer Webkamera mit Raspberry Pi
Ich habe mit PyQt einen einfachen Texteditor erstellt
Ich wollte den Motor mit einer Raspeltorte laufen lassen, also habe ich versucht, das Motor Driver Board von Waveshare zu verwenden
Ich habe versucht, "ein Herz, auch wenn es getrennt ist" mithilfe eines genetischen Algorithmus in Python zu automatisieren
Ich habe versucht, mit PI Fu aus einem Bild ein 3D-Modell einer Person zu erstellen
Ich habe versucht, die Erstellung einer praktischen Umgebung mithilfe der SoftLayer-API der IBM Cloud zu automatisieren
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe mit Razpai einen Webserver erstellt, um Anime zu schauen
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich habe versucht, Azure Speech to Text zu verwenden.
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen
Ich habe versucht, Text mit TensorFlow zu klassifizieren
Ich habe versucht, das Umfangsverhältnis π probabilistisch abzuschätzen
Ich habe eine Web-API erstellt
Ich habe versucht, pipenv zu verwenden, machen Sie sich also eine Notiz
Ich habe versucht, eine Clusteranalyse von Kunden anhand von Kaufdaten durchzuführen
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich habe versucht, eine Super-Resolution-Methode / ESPCN zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Versuchen Sie, QR-Code mit Raspberry Pi zu verwenden
Ich habe versucht, das Umfangsverhältnis mit 100 Millionen Stellen zu ermitteln
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
Ich habe versucht, Pythonect, eine Programmiersprache für den Datenfluss, zu verwenden.
Ich habe versucht, eine CSV-Datei mit Python zu lesen
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Ich habe versucht, eine zufällige Zeichenfolge zu generieren
Erstellen Sie ein Besuchermeldungssystem mit Raspberry Pi
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Verbinden Sie Ihren Raspberry Pi mit Blynk mit Ihrem Smartphone
Ich habe versucht, die Datenbank (sqlite3) mit kivy zu verwenden
Ich habe eine Frage. Protokollpuffer für Himbeer-Pi-3-Modell B können nicht erstellt werden.
[Python] Deep Learning: Ich habe versucht, Deep Learning (DBN, SDA) ohne Verwendung einer Bibliothek zu implementieren.
Ich habe versucht, mit Raspberry Pi 4 eine Umgebung von Ubuntu 20.04 LTS + ROS2 zu erstellen
Ich habe versucht, Flask auf Raspberry Pi 3 Model B + mit Nginx und uWSGI auszuführen
Ich habe versucht, einen Übersetzungs-BOT zu erstellen, der mit Discord unter Verwendung von Googletrans funktioniert
Ich habe versucht, eine verdächtige Person mithilfe von Geolonia-Adressdaten schnell zu einem MAP zu machen
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden