Ao contrário do Koi, tive logo de início a ideia de o motorizar, só não sabia bem como ou para quê. Provavelmente com Powered Up para me ir habituando ao Pybrick mas não sabia bem que sensor havia de usar para activar o movimento.
No final acabei por nem sequer usar um sensor: uma vez que as Corujas nos filmes do Harry Potter têm a missão de levar o correio, lembrei-me de fazer um programa que verificasse uma mailbox no GMail e batesse as asas cada vez que chegasse um e-mail novo.
A parte de verificar a mailbox foi relativamente fácil, o Sr. Google deu-me pistas suficientes para fazê-lo em python.
Depois foi só juntar o envio de comandos curtos (um caracter apenas: 's' para 'stop', 'l' para 'left' e 'r' para 'right') através do serviço Nordic UART Service para o Pybricks, algo que tinha ja ensaiado há poucas semanas com os carros Technic Powered Up.
Na parte de MOC/MOD propriamente dita quis esconder o motor e o controlador (hub) debaixo da base do Hedwig. Arranjei várias formas de o fazer, umas mais feias que outras, só que comecei a ter problemas com a movimentação das asas - alguma coisa se desalinhou lá dentro e tive de desmontar quase tudo e voltar a montar. Com isto perdi a vontade de continuar com as ideias mecânicas de esconder o motor por baixo e limitei-me a copiar um video de um grohl666 que mostra como montar um motor PF-M na parte traseira do pilar que sustenta o Hedwig.
A ideia, num evento, é colocar um letreiro com o e-mail (e um QRCode) e as pessoas mandam mails ao Corujo para vê-lo bater as asas.
Em breve conto arranjar forma de ligar e desligar o Hub sem ter de desmontar a base (embora vá ter de o fazer sempre que for necessário trocar as pilhas). Pode ser que nessa altura tire o motor do pilar e o traga para dentro da base, para junto do Hub.
O script em python corre no meu portátil e ainda não está suficientemente afinado para publicar, daqui a uns dias conto fazê-lo.
Já o script em micropython que corre no City Hub está praticamente concluio, é este:
Código: Selecionar todos
from pybricks.pupdevices import DCMotor
from pybricks.hubs import CityHub
from pybricks.parameters import Port
hub = CityHub()
mOwl = DCMotor(Port.B)
OWL_SPEED = 40
while True:
i = input("?")
if i == "l":
mOwl.dc(-OWL_SPEED)
elif i == 'r':
mOwl.dc(OWL_SPEED)
elif i == 's':
mOwl.stop()
else:
print("!")