Ir para conteúdo
  • Cadastre-se

Léo Nichele

Membros
  • Posts Por Dia

    0.02
  • Posts

    29
  • Registrado em

  • Última visita

  • Créditos EBR

    50 [ Doar ]

Informação Pessoal

  • Localidade
    curitiba

Últimos Visitantes

388 visualizações

Conquistas de Léo Nichele

Novato

Novato (1/14)

5

Joinhas

  1. Olá amigo, obrigado pela resposta. Hoje consegui terminar depois de sofrer um pouco. Eu precisava da sequencia 1234 mantendo pressionados dando assim senha correta caso contrario sequencia incorreta, tive de colocar times entre os botões pois do terceiro em diante não queria rodar e usei letras para variáveis pois valores como 0 e 1 não deu certo pois quando aperta fisicamente o botão ele gera varios valores. Segue o resultado, ficou feio mais funcionou legal. Valeu! import RPi.GPIO as GPIO import board import digitalio import adafruit_character_lcd.character_lcd as character_lcd import time from time import sleep GPIO.setwarnings(False) lcd_rs = digitalio.DigitalInOut(board.D18) lcd_en = digitalio.DigitalInOut(board.D23) lcd_d7 = digitalio.DigitalInOut(board.D21) lcd_d6 = digitalio.DigitalInOut(board.D20) lcd_d5 = digitalio.DigitalInOut(board.D16) lcd_d4 = digitalio.DigitalInOut(board.D12) lcd_backlight = digitalio.DigitalInOut(board.D13) PIN1 = 4 PIN2 = 15 PIN3 = 5 PIN4 = 6 aux = '' A = 0 B = 1 C = 2 D = 3 # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN1, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão 1 # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN2, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão 2 # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN3, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão 3 # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN4, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão 4 lcd_columns = 16 lcd_rows = 2 lcd = character_lcd.Character_LCD_Mono(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight) while True: if(GPIO.input(PIN1) == GPIO.HIGH and GPIO.input(PIN2) == GPIO.HIGH and GPIO.input(PIN3) == GPIO.HIGH): # Digitar Senha lcd.message ='Digite a\nsenha!' elif(GPIO.input(PIN1) == GPIO.LOW and GPIO.input(PIN2) == GPIO.HIGH and GPIO.input(PIN3) == GPIO.HIGH and GPIO.input(PIN4) == GPIO.HIGH): # botao 1 aux = A print("botão1") lcd.clear() if(GPIO.input(PIN2) == GPIO.LOW and aux == A): # botao 2 aux = B print("botão2") sleep(0.5) if(GPIO.input(PIN3) == GPIO.LOW and aux == B): # botao 3 aux = C print("botão3") sleep(0.5) if(GPIO.input(PIN4) == GPIO.LOW and aux == C): # botao 4 aux = D print("botão4") lcd.message ='Senha\nCorreta!' sleep(5) lcd.clear() elif(GPIO.input(PIN1) == GPIO.HIGH and GPIO.input(PIN2) == GPIO.LOW and GPIO.input(PIN3) == GPIO.HIGH and GPIO.input(PIN4) == GPIO.HIGH): aux = A print("botão1") lcd.clear() if(GPIO.input(PIN2) == GPIO.LOW and aux == A): # botao 2 aux = B print("botão2") sleep(0.5) if(GPIO.input(PIN3) == GPIO.LOW and aux == B): # botao 3 aux = C print("botão3") sleep(0.5) if(GPIO.input(PIN4) == GPIO.LOW and aux == C): # botao 4 aux = D print("botão4") lcd.message ='Senha\nIncorreta!' sleep(5) lcd.clear() elif(GPIO.input(PIN1) == GPIO.HIGH and GPIO.input(PIN2) == GPIO.HIGH and GPIO.input(PIN3) == GPIO.LOW and GPIO.input(PIN4) == GPIO.HIGH): aux = A print("botão1") lcd.clear() if(GPIO.input(PIN2) == GPIO.LOW and aux == A): # botao 2 aux = B print("botão2") sleep(0.5) if(GPIO.input(PIN3) == GPIO.LOW and aux == B): # botao 3 aux = C print("botão3") sleep(0.5) if(GPIO.input(PIN4) == GPIO.LOW and aux == C): # botao 4 aux = D print("botão4") lcd.message ='Senha\nIncorreta!' sleep(5) lcd.clear() elif(GPIO.input(PIN1) == GPIO.HIGH and GPIO.input(PIN2) == GPIO.LOW and GPIO.input(PIN3) == GPIO.LOW and GPIO.input(PIN4) == GPIO.LOW): aux = A print("botão1") lcd.clear() if(GPIO.input(PIN2) == GPIO.LOW and aux == A): # botao 2 aux = B print("botão2") sleep(0.5) if(GPIO.input(PIN3) == GPIO.LOW and aux == B): # botao 3 aux = C print("botão3") sleep(0.5) if(GPIO.input(PIN4) == GPIO.LOW and aux == C): # botao 4 aux = D print("botão4") lcd.message ='Senha\nIncorreta!' sleep(5) lcd.clear() elif(GPIO.input(PIN1) == GPIO.HIGH and GPIO.input(PIN2) == GPIO.HIGH and GPIO.input(PIN3) == GPIO.HIGH and GPIO.input(PIN4) == GPIO.LOW): aux = A print("botão1") lcd.clear() if(GPIO.input(PIN2) == GPIO.LOW and aux == A): # botao 2 aux = B print("botão2") sleep(0.5) if(GPIO.input(PIN3) == GPIO.LOW and aux == B): # botao 3 aux = C print("botão3") sleep(0.5) if(GPIO.input(PIN4) == GPIO.LOW and aux == C): # botao 4 aux = D print("botão4") lcd.message ='Senha\nIncorreta!' sleep(5) lcd.clear()
  2. Mudei o tópico para ficar melhor entendido e direcionar ao pessoal que conhece programação em Python. Fiz vários testes com variáveis e incrementação de soma nas mesmas mas ainda não consegui acertar o codigo. Segue uma nova tentativa. import RPi.GPIO as GPIO import board import digitalio import adafruit_character_lcd.character_lcd as character_lcd import time GPIO.setwarnings(False) lcd_rs = digitalio.DigitalInOut(board.D18) lcd_en = digitalio.DigitalInOut(board.D23) lcd_d7 = digitalio.DigitalInOut(board.D21) lcd_d6 = digitalio.DigitalInOut(board.D20) lcd_d5 = digitalio.DigitalInOut(board.D16) lcd_d4 = digitalio.DigitalInOut(board.D12) lcd_backlight = digitalio.DigitalInOut(board.D13) PIN1 = 4 PIN2 = 15 PIN3 = 17 PIN4 = 27 A = '' B = '' C = '' D = '' E = '' # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN1, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão pedestres # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN2, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão pedestres # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN3, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão pedestres # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN4, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão pedestres lcd_columns = 16 lcd_rows = 2 lcd = character_lcd.Character_LCD_Mono(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight) while True: if (GPIO.input(PIN1) == GPIO.LOW): A = 2 else: A = 1 if(GPIO.input(PIN2) == GPIO.LOW and A == 2): B = 3 else: B = 1 if(GPIO.input(PIN3) == GPIO.LOW and B == 3): C = 4 else: C = 1 if(GPIO.input(PIN4) == GPIO.LOW and C == 4): D = 5 else: D = 1 if(D == 5): lcd.message = "SENHA\nCORRETA " else: lcd.message = "SENHA\nINCORRETA"
  3. Bom dia colegas do fórum! Estou com um projetinho de programar uma senha em python com uma raspberry onde devo apertar 4 botões push button numa sequencia especifica tipo 1234 e se for digitado a sequencia correta aparecerá num display LCD senha correta e caso digite na sequencia incorreta aparecerá senha incorreta. A parte de programação das GPIO e do LCD é traquilo mas estou com dificuldade para amarrar as variaveis na memoria para acertar a sequencia dos botões. Alguém poderia me dar uma idéia? Segue o início do codigo import RPi.GPIO as GPIO import board import digitalio import adafruit_character_lcd.character_lcd as character_lcd import time GPIO.setwarnings(False) lcd_rs = digitalio.DigitalInOut(board.D18) lcd_en = digitalio.DigitalInOut(board.D23) lcd_d7 = digitalio.DigitalInOut(board.D21) lcd_d6 = digitalio.DigitalInOut(board.D20) lcd_d5 = digitalio.DigitalInOut(board.D16) lcd_d4 = digitalio.DigitalInOut(board.D12) lcd_backlight = digitalio.DigitalInOut(board.D13) PIN1 = 4 PIN2 = 15 PIN3 = 17 PIN4 = 27 # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN1, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão 1 # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN2, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão 2 # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN3, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão 3 # Configurando PIN como INPUT e modo PULL_UP interno GPIO.setup(PIN4, GPIO.IN, pull_up_down = GPIO.PUD_UP) #botão 4 lcd_columns = 16 lcd_rows = 2 lcd = character_lcd.Character_LCD_Mono(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight) while True: button1_state = GPIO.input(PIN1) button2_state = GPIO.input(PIN2) button3_state = GPIO.input(PIN3) button4_state = GPIO.input(PIN4) if button1_state == 0: print("senha correta") else Obrigado! Léo
  4. https://vimeo.com/user105705119/review/376317845/0e2d9db55d Pessoal venho aqui agradecer a ajuda de todos que auxiliaram nesta atividade, apesar de ser simples para a maioria para nós que estamos começando e aprendendo é de muito valor, já consegui aprender bastante coisa com vocês, tive alguns contratempos com fios de jumpers quebrados e ci queimado mas deu tudo certo, espero possam me ajudar com os próximos que virão. Podem encerrar o tópico. Um abraço! Léo
  5. Está quase meus amigos rsrsrs. @R2-D2 liguei conforme seu circuito e as entradas de clock com 10k, acende elevador parado e também quando pressiono sobe acende o outro e o parada quase apaga, fica ainda com um pouco de luminosidade, apenas para descer que não está acendendo. Estou com duvida se liguei a OU corretamente, liguei uma entrada no A1 e outra no A2 e a única saída para o led de parada no A3 é isso?
  6. Só ligar no potenciômetro então pra simular o pull down?
  7. No caso para usar como SR eu tenho de mudar todo o circuito? Usando esse do R2-D2 eu mudei apenas a alimentação de clock de vcc para gnd nas chaves. Tenho de entregar hoje e o professor ta zoando que ninguem vai conseguir
  8. Estou tentando ligar com este circuito, mas o jk que tenho é o 7476 que pelo que entendi a entrada do clock é negada então liguei no gnd, mas os leds dos andares não acendem, fiz algo errado?
  9. @zazulak vou tentar com o JK mesmo que ja está comigo, vamos ver. @R2-D2 este circuito está alimentado com 12 ou 5v?
  10. @zazulak Ele comprou o 4013, até coloquei ele naquele circuito que você mandou mas na simulação teve o comportamento que você mencionou pois levou as duas saídas Q pra nivel alto, então não seu muito certo, acabei encontrando dois 7476 que acredito seja o JK, vou montar o cicuito fisico no protoboard para ver. Na verdade ele colocou na descrição apenas como modelar o sistema e montar o circuito, não cheguei a perguntar se precisa do mapa ou não, pode ser que não cobre isso.
  11. Claro que é útil sim, mas meu colega acabou comprando flip flop D ao invés de JK, amanhã quero ver se vou comprar os mesmos e terminar essa atividade, acho que jogando o circuito no logsim ele me da a tabela verdade né? desculpem aí se o tópico ficou extenso, mas fico muito agradecido
  12. @zazulak se eu trocar as JK por D, preciso mudar o circuito? Já que está acionando pelos set e reset. também não consegui ainda corrigir o sw1.
  13. Desculpa ficar tirando seu tempo e obrigado pela ajuda. o link está dando erro, não abre.
  14. O subir funcionou beleza, o led de elevador parado também, mas o L3 não funcionou.

SOBRE O ELETRÔNICABR

EletrônicaBR é o melhor fórum técnico online, temos o maior e mais atualizado acervo de Esquemas, Bios e Firmwares da internet. Através de nosso sistema de créditos, usuários participativos têm acesso totalmente gratuito. Os melhores técnicos do mundo estão aqui!
Técnico sem o EletrônicaBR não é um técnico completo! Leia Mais...
×
×
  • Criar Novo...