Você está na página 1de 1

import msvcrt #biblioteca de entrada automática

from pyfirmata import Arduino, util

uno = Arduino('COM10')
led = [12, 11, 10, 9, 8, 7, 6, 5]
led_virtual = ''

#LOOP PRINCIPAL
while True:
entrada = msvcrt.getch()
asci_cod = ord(entrada)
binario = bin(asci_cod)[2:]
#binario = bin(ord(entrada))[2:] #segunda forma de fazer, reduzida

#ADICIONANDO O BIT DE PARIDADE


if binario.count('1') % 2 == 1:
binario = '1' + binario
else:
binario = '0' + binario

# VERIFICANDO SE O BINÁRIO TEM 8 DÍGITOS


while True:
if len(binario) < 8:
binario = binario + '0'
else:
break

for l in range(8):
if binario[l] == '1':
uno.digital[led[l]].write(1)
else:
uno.digital[led[l]].write(0)

# VERIFICANDO SE O DIGITO 1 E O QUARTO DIGITO DA DIREITA PRA ESQUERDA É 1


if binario[0] == '1' and binario[5] == '1':
uno.digital[13].write(1)
else:
uno.digital[13].write(0)

# MOSTRANDO UM LED VIRTUAL NO CONSOLE


for l in binario:
if l == '1':
led_virtual += '\033[32m#\033[32m'
if l == '0':
led_virtual += '\033[m#\033[m'
print(led_virtual)
led_virtual = ''

Você também pode gostar