J'ai essayé d'automatiser [une certaine tâche] à l'aide d'une tarte à la râpe

introduction

Comment vous sentez-vous au début et à la fin de votre entreprise? Je pense qu'il y a des choses comme la notification par radiodiffusion interne, le démarrage du travail sans permission quand il est temps, le lancement d'une fête le matin quand il est temps, et ainsi de suite.

Dans l'entreprise pour laquelle je travaillais

  1. l'iPod émet une alarme (silencieuse) au début du travail
  2. Le responsable arrête l'alarme
  3. Faites retentir manuellement le carillon suivant (?) Pour informer les membres de l'entreprise image.png ↑ Frappez ceci avec un bâton pour le faire sonner

Je le faisais dans le flux.

~~ Pour être honnête, il faut du temps pour arrêter l'alarme et la déclencher tous les jours. ~~ Je pense que nous devrions simplement sonner l'alarme à temps.

Cependant, *** Ce n'est pas intéressant, alors automatisons l'action de frapper ce carillon quand même! *** Alors je l'ai automatisé en utilisant Raspeye (et Python) (étude). Juste parce que Sync avait une tarte râpe, j'ai décidé de le faire avec la moitié de l'histoire avec Sync.

Préparation

Nous avons d'abord examiné ce qui était nécessaire pour l'automatiser. Heureusement, Razupai avait la même chose, donc je n'avais pas grand chose à préparer. Les achats sont les suivants.

Les deux achetés sur Amazon! Quant au servomoteur, j'ai acheté un micro servo numérique SG90 (770 yens).

Le mécanisme d'automatisation est simple, il suffit de contrôler l'angle du moteur avec un programme et de frapper le carillon. C'est cool de dire automatisation, mais ce n'est pas un gros problème (rires)

développement de

Le code que j'ai écrit cette fois ressemble à ceci.

# -*- coding: utf-8 -*-             #Spécifier l'encodage
import RPi.GPIO as GPIO             #Importer des modules pour GPIO
import time                         #Module d'importation pour le contrôle du temps
import sys                          #Importer le module sys

#Définition du numéro de port
Servo_pin = 18                      #variable"Servo_pin"Magasin 18 dans

#Paramètres GPIO
GPIO.setmode(GPIO.BCM)              #Mode GPIO"GPIO.BCM"Défini sur la méthode de gestion GPIO par numéro de port
GPIO.setup(Servo_pin, GPIO.OUT)     #Réglez GPIO18 en mode de sortie

#Paramètres PWM
#La fréquence du servomoteur SG90 est de 50[Hz]
Servo = GPIO.PWM(Servo_pin, 50)     #GPIO.PWM(numéro de port,la fréquence[Hz])

Servo.start(0)                      #Servo.start(Rapport de service[0-100%])

#Fonction pour trouver le rapport cyclique à partir de l'angle
def servo_angle(angle):
    duty = 2.5 + (12.0 - 2.5) * (angle + 90) / 180   #Trouvez le rapport cyclique sous l'angle
    Servo.ChangeDutyCycle(duty)                      #Changer le rapport de service
    time.sleep(0.2)                                  #0.Attendez 2 secondes

#Contrôlez l'angle du servomoteur avec le rapport de service
#Servo.ChangeDutyCycle(Rapport de service[0-100%])
servo_angle(0)                 #Amenez le servomoteur en position initiale
servo_angle(90)                #Servomoteur 90 °
servo_angle(0)                 #Remettre le servomoteur dans sa position initiale
Servo.stop()                   #Arrêtez le servomoteur
GPIO.cleanup()                 #Nettoyer GPIO
sys.exit()                     #Quitter le programme

Le code lui-même n'est pas difficile car il ne contrôle que l'angle du servomoteur, et il y avait beaucoup d'informations sur le net, donc c'était fluide.

Je suis diplômé du département de mécanique, mais je n'avais pas beaucoup d'expérience dans le travail électronique (j'ai principalement étudié les tours, le soudage, le dessin, etc. à l'université), j'ai donc fait des recherches lors de la connexion des fils de pontage.

En automatisant, j'ai configuré Coulon pour exécuter le programme pendant les heures de début et de fin. Je ne connaissais pas l'existence de Coulomb, et j'ai appris à partir de la même période (j'ai appris)

cron est un type de programme résident (démonateur) qui est utilisé en standard dans de nombreux systèmes d'exploitation UNIX, et démarre périodiquement le programme spécifié selon la planification définie par l'utilisateur. Source de référence: IT Glossary e-Words

Le produit fini

C'est assez simple!

ささとら君 photo3.JPG

ささとら君 photo1.PNG

Voici une vidéo de démonstration. (Imaginez le son!) ささとら君 動画.gif

Et ça? C'est une finition assez surréaliste (rires) Lorsque je l'utilise réellement, j'essaye de le frapper une seule fois. Avec cela, je n'avais plus besoin de le frapper manuellement et je n'ai pu laisser que la bonté du carillon.

Résumé

Cette fois, j'ai essayé d'automatiser les carillons de début et de fin avec Rasppie.

Je pense que le plaisir de la programmation est que vous pouvez résoudre les inconvénients et les inefficacités que vous avez ressentis en vivant de cette manière. C'était amusant de l'essayer, et c'était une expérience formidable d'apprendre ce que je ne savais pas.

Tout le monde peut utiliser quelque chose d'aussi simple que cela, alors pourquoi ne pas l'essayer?

Recommended Posts

J'ai essayé d'automatiser [une certaine tâche] à l'aide d'une tarte à la râpe
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai essayé de créer une caméra de surveillance à détection de mouvement avec OpenCV en utilisant une caméra WEB avec Raspberry Pi
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
J'ai parlé à Raspberry Pi
J'ai essayé de dessiner un diagramme de configuration à l'aide de diagrammes
J'ai essayé de créer un bouton pour Slack avec Raspeye + Tact Switch
J'ai fait un chronomètre en utilisant tkinter avec python
Utiliser une webcam avec Raspberry Pi
J'ai créé un éditeur de texte simple en utilisant PyQt
Je voulais faire fonctionner le moteur avec une tarte à la râpe, alors j'ai essayé d'utiliser la carte de commande du moteur de Waveshare
J'ai essayé d'automatiser "un cœur même séparé" à l'aide d'un algorithme génétique en Python
J'ai essayé d'utiliser PI Fu pour générer un modèle 3D d'une personne à partir d'une image
J'ai essayé d'automatiser la construction d'un environnement pratique à l'aide de l'API SoftLayer d'IBM Cloud
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé d'obtenir une base de données sur les courses de chevaux en utilisant Pandas
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de créer une expression régulière de "montant" en utilisant Python
J'ai créé un serveur Web avec Razpai pour regarder des anime
J'ai essayé de créer une expression régulière de "temps" en utilisant Python
[3ème] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé d'obtenir une liste de noms AMI en utilisant Boto3
J'ai essayé de créer une application todo en utilisant une bouteille avec python
[4th] J'ai essayé de créer un certain outil de type Authenticator avec python
[1er] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de créer un linebot (implémentation)
J'ai essayé d'utiliser Azure Speech to Text.
J'ai essayé de jouer au jeu ○ ✕ en utilisant TensorFlow
J'ai essayé de dessiner une ligne en utilisant une tortue
J'ai essayé de classer le texte en utilisant TensorFlow
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai créé une API Web
J'ai essayé d'utiliser pipenv, alors prenez note
J'ai essayé d'effectuer une analyse de cluster de clients à l'aide des données d'achat
J'ai créé un exemple pour accéder à Salesforce en utilisant Python et Bottle
J'ai essayé de créer une méthode de super résolution / ESPCN
J'ai essayé de créer une méthode de super résolution / SRCNN ①
Essayez d'utiliser le code QR avec Raspberry Pi
J'ai essayé de trouver le rapport de circonférence par 100 millions de chiffres
J'ai essayé L-Chika avec Razpai 4 (édition Python)
J'ai essayé d'utiliser Pythonect, un langage de programmation de flux de données.
J'ai essayé de lire un fichier CSV en utilisant Python
J'ai essayé d'automatiser la fabrication des sushis avec python
J'ai essayé de générer une chaîne de caractères aléatoire
Créer un système de notification des visiteurs à l'aide de Raspberry Pi
J'ai essayé de créer une méthode de super résolution / SRCNN ③
J'ai essayé de créer une méthode de super résolution / SRCNN ②
Connectez votre Raspberry Pi à votre smartphone en utilisant Blynk
J'ai essayé d'utiliser la base de données (sqlite3) avec kivy
J'ai une question. Impossible de créer des tampons de protocole sur le raspberry pi 3 modelB.
[Python] Deep Learning: J'ai essayé d'implémenter Deep Learning (DBN, SDA) sans utiliser de bibliothèque.
J'ai essayé de créer un environnement Ubuntu 20.04 LTS + ROS2 avec Raspberry Pi 4
J'ai essayé d'exécuter Flask sur Raspberry Pi 3 Model B + en utilisant Nginx et uWSGI
J'ai essayé de créer un BOT de traduction qui fonctionne avec Discord en utilisant googletrans
J'ai essayé de faire MAP rapidement une personne suspecte en utilisant les données d'adresse Geolonia
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse