Bom dia Guilherme muito obrigado pela atenção.
Reinstalei o Software no raspberry.
Iniciei o terminal e digitei: SU seguido da senha
em seguida executei o seguinte comando
sudo thonny phyton ide
O software thonny python inicio, abri o arquivo app.py e executei o comando (RUN).
me deparei com esses dois erros, conforme as imagens, poderia por favor me ajudar a solucionar os mesmo estou iniciando meus estudos em python.
#! /usr/bin/python
#-- coding: utf-8 --
import pykeypi as teclado
import sys
if name == ‘main’:
teclado.info()
try:
tecla_pressionada = teclado.keypad()
teclado.print_msg(“Digite a senha de controle de acesso”)
tam_senha = 0
senha_acesso = ''
while tam_senha < 5:
senha_acesso += str(tecla_pressionada.get_key())
tam_senha += 1
print("\rFaltam %d caracteres" % (5-tam_senha))
sys.stdout.flush()
teclado.print_msg("Senha: %s" % (senha_acesso))
except KeyboardInterrupt:
teclado.exit()
teclado.exit()
-- coding: utf-8 --
import sys
import datetime
import os
try:
import RPi.GPIO as GPIO
except ImportError as ie:
print(“Problema ao importar modulo {0}”).format(ie)
sys.exit()
author = “Cleiton Bueno (cleitonrbueno@gmail.com)”
copyright = “Copyright 2014, Cleiton Bueno”
credits = [“Cleiton Bueno”]
license = “MIT”
version = 1.0
def print_msg(msg):
tam = len(msg)+4
print("\n")
print("#"*tam)
print("# %s #" % (msg))
print("#"*tam)
def exit():
GPIO.cleanup()
def info():
print(“Revisao Raspberry PI %d” % (GPIO.RPI_REVISION))
print(“Versao RPi.GPIO %s” % (GPIO.VERSION))
print(“Versao %s” % (version))
class keypad():
# Matriz KeyPad 4x4
__KEYPAD = [
[1, 2, 3, "A"],
[4, 5, 6, "B"],
[7, 8, 9, "C"],
["*", 0, "#", "D"]]
__row = [7, 11, 13, 15]
__column = [12, 16, 18, 22]
__last_key = None
def __init__(self):
# Garantindo que sera executado com permissao de super-usuario
self.check_user()
# Iniciando o modo como BOARD e desabilitando os Warnings do Rpi.GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
# Configuro todos os pinos da coluna como OUT e nivel LOW(0V)
for j in range(len(self.__column)):
GPIO.setup(self.__column[j], GPIO.OUT)
GPIO.output(self.__column[j], GPIO.LOW)
# Configuro todos os pinos da linha como INPUT e Pull-Up
for i in range(len(self.__row)):
GPIO.setup(self.__row[i], GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Configurando as interrupcoes que iram ocorrer em algum dos pinos de linha
GPIO.add_event_detect(__row[0], GPIO.FALLING, callback=self.trataPino, bouncetime=300)
GPIO.add_event_detect(__row[1], GPIO.FALLING, callback=self.trataPino, bouncetime=300)
GPIO.add_event_detect(__row[2], GPIO.FALLING, callback=self.trataPino, bouncetime=300)
GPIO.add_event_detect(__row[3], GPIO.FALLING, callback=self.trataPino, bouncetime=300)
self.valor_linha = -1
self.valor_coluna = -1
def check_user(self):
if os.geteuid() != 0:
print("Voce deve executar o programa como super-usuario!")
print("Exemplo:\nsudo python {0}")
sys.exit()
def get_key(self):
self.valor_linha = -1
self.valor_coluna = -1
while self.valor_coluna == -1 and self.valor_linha == -1:
pass
self.__last_key = self.__KEYPAD[self.valor_linha][self.valor_coluna]
# Retorna o valor da tecla pressionada baseada na linhaxcoluna
return self.__KEYPAD[self.valor_linha][self.valor_coluna]
def last_key(self):
return self.__last_key
def trataPino(self,pino):
self.valor_linha = self.__row.index(pino)
for i in range(len(self.__column)):
GPIO.setup(self.__column[i], GPIO.IN)
if GPIO.input(pino) == GPIO.HIGH:
self.valor_coluna = i
break
self.restaura_gpio()
def restaura_gpio(self):
for i in range(len(self.__column)):
GPIO.setup(self.__column[i], GPIO.OUT)
GPIO.output(self.__column[i], GPIO.LOW)