olá amigos de ensino bem vindos a mais uma aula do nosso curso de arduino hoje como tínhamos prometido vamos fazer um semáforo dupla ou seja dois semáforos simulando um cruzamento de duas avenidas estão para isso já coloquei aqui no meu circuito osmar furo em cima com led vermelho de gás no peru 3 amarelo 12 dentro de 11 e os semáforos de baixo com um vermelho no pino 4 amarelo 3 e verde no pino 2 aqui eu tenho a seqüência de funcionamento que eu quero pra esses dois semáforos desse cruzamento de avenidas vamos analisar aqui então
inicialmente que eu tenho no início no início eu tenho vejam só o primeiro semáforo vermelho e o segundo semáforo também vermelho então nós vamos logo de cara ligar os dois leds vermelhos em seguida vamos ter uma pausa num intervalo de um segundo quando então as coisas vão mudar vejam aqui que no próximo semáforo não é mais o vermelho está aceso vermelho apagou e acendeu verti enquanto que no semáforo de baixo continua na mesma após três segundos apagão verde pv já não está mais acesa no semáforo de cima acendeu amarela no de baixo não mudou nada
ea espera se mais um segundo depois os semáforos de cima volta para vermelho e de baixo continua em vermelho e espera mais um segundo depois o semáforo de cima continue vermelho não muda nada mas o de baixo apagou o vermelho e acendeu verde liberou o tráfego agora para 2ª avenida espera de três segundos tal vai ficar três segundos inverte em seguida o de cima continua em vermelho não muda nada debaixo apagou verde acendeu amarelo espera-se um segundo com a tentar nossa 7 indica que vai repetir tem um loop que volta onde eu tenho novamente a
condição com 12 semáforos em vermelho então mesmo que aqui no final depois que o semáforo de baixo fica amarelo aguarda-se um segundo e depois ele volta a ficar no vermelho reparem também que há um tempo aqui no início antes do primeiro semáforo ficasse inerte e aqui no meio antes do segundo semestre fica verde em que os dois semáforos ficam ver o que os dois semáforos ficam vermelho e isso é para prevenir o caso um carro ainda esteja cruzam esteja no meio do cruzamento atravessando o cruzamento de repente o semáforo dele ficar vermelho e um do
outro cruzamento já fica verde imediatamente e pode causar alguma colisão o tráfego de um pouquinho lenta então nós vamos deixar os dois semáforos em vermelho por um tempo para evitar essa situação então vamos agora a programação inicialmente então nós vamos aqui colocar o nosso comentário vamos colocar aqui semáforo duplo com seis leds colocar em que o autor ea data do dia de hoje vamos definir aqui os pinos conforme está aqui no proteus vamos dar uma olhadinha aqui primeiro semáforo está no pino 13 12 11 então vamos definir aqui da seguinte forma vamos colocar aqui vermelho
um é o vermelho do primeiro semáforo é o pino 13 define como amarelo que o amarelo do primeiro semáforo como o pneu 1212 e definiu verde e um led do primeiro semáforo como número 11 agora segundo semáforo como tínhamos feito aqui começa no 4 4 3 e 2 o vermelho do semáforo 44 amarelo segundo o verde lembrando a definir não tem como você já sabe definir todos os molde 1 aut para não precisar ficar digitando tudo eu vou copiar e colar aqui a gente só altera o nome dos pinos fica mais fácil amarelo também vai
ser saída bem como o amarelo do stal vermelho vermelho 2 verde um ganho de 2 amarelo amarelo dois são esses os pneus de saída e aqui não vai de looks vamos começar a lógica pelo nosso exercício qual é a condição inicial vamos deixar aqui dessa forma ela conseguiu enxergar tudo ao mesmo tempo tanto a nossa lógica quanto o nosso código são inicialmente que eu tenho que ligar o vermelho do primeiro semáforo eo vermelho do segundo então nós vamos ligar 12 aqui no vermelho um vai para um vermelho 2 também vai para um programação quando ela
fica mais longa uma programação maior é sempre aconselhável você fazendo e testando essa programação seja de complexidade altíssima não mas uma boa prática de programação isso você faz um pouquinho e testa faz mais um pouquinho e testa como os nossos programas até aqui foram mais simples foram menores o programa já está ficando um pouco mais longo eu tenho que gerenciar seis leds a gente vai fazendo e testando porque é um erro e foi aqui foi o último acréscimo para ilustrar isso nós vamos confirmar aqui que eu estou com arduino uma com a placa na com
7 veja que apareceu uma com 11 aqui que provavelmente é meu microfone e nós vamos enviar carregar a placa primeiramente salvar esse é o nosso programa 05 semáforo duplo ele vai compilar criar o binário em código de máquina compilando esquete em seguida carregando para a placa vejam aí os dois vermelhos estão a se voltar a funcionar tanto que vai acontecer depois que ascende os dois vermelhos vamos olhar aqui para o exercício vai se esperar um segundo e depois vai mudar o semáforo de cima onde o vermelho apaga e acende verde vamos colocar aqui um delay
de um segundo milissegundos e agora vamos apagar o vermelho o primeiro vai para a 0 e ligar o verde do primeiro vejam que como não tem de lei entre o desligar o vermelho do primeiro ligar o verde do primeiro ele vai fazer isso praticamente instantaneamente eu não vou conseguir sequer notar que ele primeiro apagou o vermelho e depois acendeu verdes a diferença na casa de nano segundo é imperceptível depois de um segundo vai acontecer isso em seguida temos um delay de três segundos e agora vamos testar a gente vai testar com esse desejo de três
segundos porque se eu tirasse 10 segundos por exemplo vou comentar aqui ó deixa ele como comentários não vai mais executar esse delay o que vai acontecer mandei desligar ou no meio do primeiro e acender o verde do primeiro só que sem esse delay aqui não vai funcionar eu não vou enxergar que o vermelho do primeiro apagou o programa na prática e vocês vão ver que aparentemente ficou vermelho do primeiro e depois de um segundo gol vermelho porque nós estamos vendo que ele está pagando vermelho porém não se esqueça o nosso programa ele está em loop
infinito então assim que ele é pago vermelho e acende o verde ele imediatamente já volta e já liga novamente o vermelho então esse intervalo de tempo que é dele executar isso aqui onde ele apaga o vermelho do primeiro e volta pelo bpi ascende novamente anos segundos é muito rápido eu não consigo enxergar esse intervalo de tempo em que o led vermelho ficou apagado por isso é importante colocar o delay e uma coisa que eu sempre fiz na programação pessoal você tem que entender o que você está fazendo você tem que imaginar o microcontrolador executando esse
código e assim que você aprende quando eu faço as perguntas eu não colocasse de lei que acontece eu sugiro que você paulo de vídeo analisa tenta imaginar um microcontrolador executando linha a linha e ver o que vai acontecer lembrando sempre se não tiver de lei o microcontrolador vai executar aquilo quase na velocidade da luz o deleite da pausa em que a gente consegue enxergar as coisas acontecendo melhor com o delay aí vocês vão ver que eu vou conseguir ver o led vermelho apagado ainda não está do jeito que a gente quer a programação mas já
é um começo o verde ficou aceso claro porque a gente ligou e aqui depois de um segundo e não apagou no tamanho mas isso a gente vai fazer agora passou esses três segundos em rio verde ficou aceso nós vamos pra cá semáforo de baixo não mudou não preciso de nada nós vamos aqui para terceira coluna onde aqui sim o verde apaga eo amarelo o verde do primeiro apaga o amarelo do primeiro no semáforo de baixo não mudou nada então não preciso fazer nada só em directo da lei de um segundo chegamos na metade do caminho
depois de um segundo que aconteceu aqui agora bom vejam que não mudou nada mas não pagou o vermelho o amarelo do primeiro zero apagando amarelo vermelho do primeiro ou segundo e aí depois segundo o semáforo de cima já não mudou a ficar em vermelho direto mudou de baixo onde o vermelho do 2º apagou o vermelho do segundo vermelho 2 a 0 que o verde do segundo em seguida espera se mais três segundos o nosso leque de três mil e depois decidirei o que mudou no semáforo de cima não mudou nada mas debaixo do apagão verde
acendeu amarelo o verde 2 a 0 e o amarelo do im é trauma por fim eu tenho de ler aqui no final eu tenho que colocar em lei de um segundo porque se eu não colocar você já sabe ele vai acender amarelo aqui vai pagar já vai voltar lá sem nada nem tempo de eu ver que isso aqui com segundo a sesu de um segundo detalhe importante quando ele volta pra cá o amarelo já está apagado depois desse um segundo quando ele volta o amarelo a taga eu posso então colocar pra pagar amarelo aqui depois
desse de lei ou aqui ele vai voltar para lá tanto faz vou colocar aqui no final mesmo amarelo 2 vai para zero e aí sim como não tem mais nada ele já vai voltar para cá e já vale o vermelho novamente repetindo toda a lógica claro eu fiz tudo direto aqui mas o ideal é você fazendo passo a passo e sempre testando a sua programação então vamos aqui carregar para a prática e aí vejam só já temos o nosso semáforo do clube funcionando perfeitamente de acordo com a lógica que tínhamos dito semáforo de cima primeiro
e depois libera para a 2ª avenida depois volta para primeira avenida e assim o loop infinito veja só que bacana esse tipo de exercício parece simples a gente só está ascendendo led mas é um tipo de exercício que é legal você praticar você tentar fazer sozinho porque assim que você vai desenvolver sua capacidade de programação é um programa que não usa nada de novo não tem no comando novo nenhuma lógica nova porém você vai precisar se organizava e precisa entender o que você está fazendo a hora certa de ligar a hora certa de desligar então
aconselho que mesmo que você já tenha assistido essa aula e japão gabriel já fez exercícios pega aqui se esse desenho e tenta fazer de novo tenta fazer sozinho sem copiar o meu código sem copiar a minha solução ver se você consegue tenta quebra cabeça é assim que você desenvolve sua capacidade como programador vamos aqui finalmente no menu esquete exportar binário compilado por aqui o arquivo hexadecimal apareça na pasta do nosso projeto e aqui vamos regular o proteus aquilo de programa 05 e só dar play vejam aí os dois vermelhos ligados e macro de cima primeiro
libera depois de baixo então tudo funcionando de acordo com a lógica que nós temos pedido e com os tempos que estão aqui estabelecidos então pratique trem esse tipo de exercício e assim você vai ser no caminho certo um grande programador se você gostou não deixe de deixar eu gostei de deixar o seu comentário em baixo de compartilhar o vídeo com seus amigos nas redes sociais isso ajuda bastante a gente a continuar neste trabalho e eu agradeço a sua participação e um grande abraço até mais real [Música]