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 ]

Tudo que Léo Nichele publicou

  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.
  15. Não sei se o Proteus é confiável para simulações porque nele quando aperto dois botões ele está parando o motor, digo isto também porque antes não tinha alimentação de VCC e os motores ligavam Vou simular aquele primeiro circuito que você mandou, achei que fiquei bom de montar também, só o problema é que preciso mostrar a tabela verdade e mapa do circuito.
  16. Se achar que devo colocar o 555, posso colocar também.
  17. Obrigado pela resposta, o professor está querendo que usemos, JK ou D,SR. Fizemos alguns mas não fica 100% correto. Fiz uma simulação no Proteus mas só funciona sem nenhum VCC mas quando for colocar no protoboard não vai dar boa.rsrsrs
  18. Obrigado pelas respostas, na verdade o assunto refere-se a Flip Flip por isso devo usar os mesmos no circuito, achei que o correto é com um motor e inverter o sentido mas como pediu dois na tarefa nem questionei.
  19. Só pra relembrar, somos iniciantes então nosso conhecimento ainda é pequeno sobre o tema, não reparem se houverem erros básicos e muitas dúvidas sobre o assunto.
  20. Um colega montou o circuito e testei aqui mas não está correto.
  21. @zazulak refiz outra apresentação mas acho vai ter tópicos duplicados lá pois estão pendentes de aprovação.
  22. Eu fiz no tópico apresentação, não sei porque não está aparecendo, estou lendo os tópicos e me acostumando com a interface da página, me oriente caso esteja fazendo algo errado. Exatamente, apenas subir descer e led indicador. Pelo que entendi na descrição deve ter dois motores um pra subir e outro pra descer, até iniciei o diagrama de estados com as 3 saídas mas a logica ficou estranha acho está errada.

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...