Il y a des moments où vous travaillez sur une tablette et que vous devez continuer à taper pendant un moment. Mais je ne peux pas retirer mes mains parce que je fais quelque chose de différent, ou j'abandonne avec une main cassée. Même dans un tel cas, j'ai fait un "doigt" qui agit comme un robinet avec Python, Arduino et un servomoteur. Si cela fonctionne, l'étape suivante consiste à capturer l'écran de la tablette et à créer un gars que l'IA juge et donne des instructions au doigt.
Tout d'abord, la carte micro-ordinateur. A cet effet, Arduino semble être suffisant, donc si vous cherchez un kit livré avec un capteur, vous pouvez l'acheter sur Amazon pour un peu plus de 3000 yens! Ce n'est pas cher. Immédiatement, j'ai installé l'IDE de Sketch, le langage de développement dédié à Arduino, et j'ai essayé le soi-disant "L Chika", qui est une introduction au clignotement des LED. Ouais, facile. Sketch est un mécanisme qui se compile sur un PC et transfère le module vers Arduino via USB pour l'exécuter. Hmmmm. J'ai donc décidé de faire apparaître un servomoteur au nom de mes doigts. C'est un carré d'environ 3 cm comme celui-ci, et si vous spécifiez un angle, il se déplacera vers cet angle. Ce n'est pas un moteur qui tourne. L'esquisse pour contrôler ce servo est très facile comme suit. Spécifiez simplement la broche Arduino à laquelle le servo est connecté et entrez l'angle ici. Insérez un délai approprié et vérifiez qu'il fonctionne bien.
Maintenant que nous avons confirmé que le servo fonctionne, nous allons faire un doigt pour appuyer sur la tablette. Attachez le fil à la pointe du servomoteur et fixez la partie électrostatique à la pointe. Les coussinets d'oreille des écouteurs sont enveloppés dans du papier d'aluminium car la sensation de douceur due à l'électricité est similaire à celle d'un doigt. Un fil de liaison y est inséré et il est mis à la terre à GND. Le servomoteur étant léger, il est fixé avec un gros clip en fer.
Au fait, le programme qui s'exécute tel quel charge celui compilé à l'aide de SketchIDE sur le PC, il n'est donc pas possible de donner des instructions en fonction des différentes situations. Par conséquent, nous allons passer à un mécanisme qui peut être lié à un PC en temps réel. La bibliothèque pour cela est "Firmata". C'est comme un protocole pour interagir avec votre PC, compilez simplement l'exemple de code Firmata dans Sketch et chargez-le dans Arduino, et vous attendez les instructions de votre PC. Cette fois, j'ai chargé un programme pour servo appelé "ServoFirmata".
Tout ce que vous avez à faire est d'écrire un programme qui exécute le servo en Python. Pour ce faire, vous devez importer la bibliothèque "Pyfirmata". Installez rapidement avec pip.
pip install pyfirmata
Tout ce que vous avez à faire est de l'importer, de le connecter au port auquel Arduino est connecté, de spécifier la broche du servo et d'y écrire l'angle. L'exemple ci-dessous fonctionne correctement, se repose et se termine à 4 h 50 du matin. La raison de dormir au hasard est de le faire se comporter comme un être humain. (Ceci est juste un code pour vérifier l'opération, alors ne demandez pas à quoi vous l'avez utilisé.)
python
import pyfirmata
import time
import sys
import random
import datetime
# >python servo.py [wait] [loop]
args = sys.argv
wt = 40.0
lp = 15
if len(args) > 2:
wt = float(args[1])
if len(args) == 3:
lp = int(args[2])
# setup servo moter for arduino UNO
board = pyfirmata.Arduino('COM3')
it = pyfirmata.util.Iterator(board)
it.start()
pin9 = board.get_pin('d:9:s')
while True:
loop_n = random.randint(lp, lp + 5)
for i in range(loop_n):
pin9.write(110)
time.sleep(0.25 + random.random() * 0.1)
pin9.write(100)
time.sleep(1.2 + random.random() * 1.0)
time.sleep(wt + random.random() * 5.0 - float(loop_n - lp))
# terminate at 04:50
dt_now = datetime.datetime.now()
if dt_now.hour == 4 and dt_now.minute > 50:
break
Jusqu'à présent, vous avez utilisé avec succès Python pour déplacer un servo au lieu d'un doigt. Après cela, nous commencerons à changer les instructions automatiquement en fonction de la situation de la tablette. Plus précisément, nous prévoyons de capturer l'écran de la tablette, de l'importer sur un PC, d'identifier la situation actuelle grâce au modèle de classification AI appris à l'avance et de créer un programme qui donne des instructions précises. Si vous pouvez le faire jusqu'à présent, il semble que vous puissiez remplacer vos yeux, votre cerveau et vos doigts par des humains. Que ce soit logique ou non est une autre question, mais w
Recommended Posts