Eletrônica com Python – Uma Interface HID com Arduino – Parte 3

Humano: Nossos Scripts em Python

Nossa interface HID possui um botão do tipo on-off que tem a mesma função do botão esquerdo do mouse. Navegando no Google Street, quando mantemos pressionado esse botão, podemos girar as imagens com o mouse para os lados, ou para cima e para baixo.

Para conhecer o status de um botão on-off  com Python no pino digital D0 do Arduino ProMicro, precisamos, antes, carregar um sketch (como é chamado um script no Arduino) que tenha acesso direto ao pino 20 do microcontrolador Atmega32U4, onde está o hardware da porta digital desse pino D0.

Tudo o que temos que fazer é conectar no Arduino ProMicro uma chave tipo push-button entre os seus pinos 2 (D0) e 3 (GND), depois nele carregar e executar o sketch abaixo; que deverá ler o estado do pino digital D0 e enviar para a porta serial (USB) um bit ‘1’ se o botão estiver pressionado (fechado), ou enviar um bit ‘0’ se o botão estiver solto (aberto).

# sketch para ler o pino digital D0

# by JAS – maio 2023

const int buttonPin = 0;

void setup() {

  pinMode(buttonPin, INPUT_PULLUP);

  Serial.begin(9600);

}

void loop() {

  int buttonState = digitalRead(buttonPin);

  if (buttonState == LOW) {

    Serial.write(‘1’);

  } else {

    Serial.write(‘0’);

  }

  delay(100);

}

Nesse sketch, o pinodigital 0 é chamado de buttonPin. Dentro da função setup(), esse pino é configurado como entrada e com um resistor de pull-up para forçar seu estado lógico de saída para alto; a porta serial é setada para 9600 bps.

Já na função loop(), o estado de buttonPin é lido e, se seu estado lógico for baixo (botão pressionado), um bit ‘1’ é enviado para a porta serial; senão (botão solto) um bit ‘0’ é enviado. Esse ciclo é repetido a cada 100 milissegundos. Podemos ver isso acontecer clicando no ícone no topo à direita ‘Serial Monitor’ do IDE do Arduino.

Deixe um comentário