Curso de Arduino #04 - Criando um semáforo, #Define e funções

57.09k views3132 WordsCopy TextShare
CFBCursos
Curso de Arduino #04 - Criando um semáforo, #Define e funções Link deste vídeo: https://youtu.be/1h...
Video Transcript:
a moçada beleza a pessoa bruno voltando ao nosso curso de arduino ele preparava para uma viagem emocionante pelo mundo da tecnologia é claro na onde hoje nós vamos aprender conceitos importantes vamos fazer uma montagem de nós vamos utilizar mais leves e mais resistentes e vai começar a nossa programação declarando mais variáveis ea programação do tradicional o que a gente está acostumar mas o pulo do gato da aula de hoje nós só também sobre a diretiva te fire onde nós vamos substituir as variáveis para a declaração de portas ao invés de utilizar variáveis nós vamos utilizar
definir e eu já vou fechar o card aqui em cima da hora de ser mais mais onde eu falo sobre a diretiva de faro e outro grande detalhe onde hoje é que nós vamos implementar funções dentro do nosso código nós vamos colocar o comportamento alguns comportamentos principais dentro de funções e vão aprender a trabalhar com isso e também dentro do arduino pra você que tem dificuldade com funções não sabe trabalhar também vou deixar o cade aqui que vai direcionar para a aula de funções lá no nosso curso de ser mais mais se você é novo
aqui no nosso canal já se inscreve porque a gente tem um conteúdo muito grande sobre programação sobre informática avançada que você vai encontrar curso de atue no de c++ parte de web desenvolvimento para web parte gráfica com os pms muita coisa interessante é que eu sei que você gosta claro já ajuda também clicando no jovem no vídeo para garantir que você não vai esquecer na redes sociais claro nós estamos nas redes sociais eles estão parecendo e sério gente na lista então agora tá na hora de praticar vão lá para o contador logo depois da vinheta
rodei [Música] então vamos lá para a prática da nossa 4ª aula de arduino vamos aprender coisas importantes aqui na aula de hoje o nosso trabalho ainda está relativamente simples em tinta trabalhando trabalho com leds resistores mas estamos aprendendo conceitos importantes estamos absorvendo está montando o nosso alicerce ele com certeza tá ficando bem estruturado então já estou aqui com um arquivo código básico que o esqueleto né o arquivo já salva que com a aula 4 e hoje nós vamos discutir nós vamos falar sobre variáveis vão falar sobre definir e vamos falar sobre funções esses conteúdos aí
esses tópicos são extremamente importantes pra gente qual vai ser o nosso trabalho na aula de hoje nós vamos aumentar o número de leds que nós vamos controlar portanto nós vamos aumentar o número de portas que nós vamos controlar na onde hoje nós vamos controlar três leds e vamos fazer um semáforo ok nesse trabalho é ver esse trabalho vai ser extremamente importante pra gente praticar esses conceitos e para poder mostrar para vocês esses conceitos de variável definir e funções então vamos lá nós vamos conectar aqui a montagem eu já tenho aqui no no no tier cade
eu já até a montagem na prática nós vamos realizar essa montagem aqui também três leves um ligado na porta 8 outro na porta nova ou na porta 10 todos nas suas devidas portas digitais estou usando resistores aqui um pra cada tem como montar e usar um resistor aqui pra todos tá certo só que é uma página mais simples isso aí pra gente não tem muita importância não é tão usando resistor de 200 homens conforme nós calculamos em e na aula passada não foi isso que vimos que de 200 homens é mais do que o suficiente
tenho a linha do terra aqui do ground ligado aqui também expandido aqui pra linha de cima então tem todos os terminais negativos o ca tudo ou cátodo dos leves ligados aqui no terra beleza e os positivos os alunos ou a todos ligados aqui as suas respectivas portas essa montagem aqui a gente vai fazer na prática mas vamos programar então seja bem vamos gravar aqui ó eu tenho nosso led vermelho na 8 o amarelo na 9 e o verde na 10 tá certo só precisamos por enquanto gravar essas informações nós aprendemos a trabalhar com variáveis então
nós vamos criar uma variável para cada led para cada porta que a gente vai trabalhar ok do tipo inteira já que vai receber um número inteiro eu vou chamar essas variáveis aqui de led vermelho led vermelho que está conectado na porta 8 do arduino vamos copiar e isso daqui eu tenho o led amarelo puxou essa variável de led amarelo que está conectado na aposta 9 e por fim eu tenho led verde que está conectado na posta desde então criei uma variável para cada é para cada porta que eu vou controlar como são todas as portas
de saída aqui com um molde molde terminar aqui o oled e fui meio como altitude e vermelho eu tenho o número da porta ok é o número da porta que está vindo aqui eu vou fazer isso para as três portas então led vermelho led amarelo amarelo e led verde ok as três portas com saída e agora nós precisamos controlar o estado de cada uma essas portas se vai ser ray ou lucro em um primeiro momento o nosso semáforo ele vai estar com é a luz vermelha acesa ou seja vai estar fechado ok e como eu
faço para deixar o vermelho aceso e as outras duas apagadas eu vou usar o digital digital lite ok que a gente já conhece onde eu vou especificar que o led vermelho vai está em ray kroc e vou usar o digital lite também para o led amarelo amarelo para o led verde só que o estado desses dois é é apagado luta muito bem se eu fizer isso daqui o nosso arduino ele vai manter a porta é 18 em ray e vai por sua vez o resultado vai ser que o led vermelho vai ficar aceso aqui definitivamente
porque isso aqui tá dentro do loop então eu quero manter o sinal vermelho aceso por um determinado tempo então vou colocar um delay equipa antes dele para conseguir fazer essa espera esse tempo vai ser de sete segundos ok após esses sete segundos o que vai acontecer o sinal ele vai abrir então eu vou mudar novamente o estado das minhas portas aqui ok copiar e colar até dão espaço aqui onde dessa vez o led que está na porta é 8 ele vai apagar certo o led amarelo vai continuar a pagar que o led verde e vai
ascender a beleza e aqui eu vou dar mais um também que é o tempo do sinal aceso e eu vou colocar de nove segundos esse delay e beleza após os após esse comportamento qual é o a próxima é o próximo comportamento próximas o nosso semáforo e ele tem que acender o amarelo antes de fechar e tem que acender o amarelo então amarelo ele é esse que ele se led amarelo está na porta 9 eu vou deixar o vermelho em lo o amarelo eu vou acender eo verde eu vou apagar toque e o tempo aqui é
menor vou colocar os dois segundos aqui isso aqui já é a definição do nosso semáforo gente compilar aqui passar prova do im vai funcionar só que nós ainda não vamos passar a produzir nós vamos testar isso aqui primeiro não tinha que ficar 'de certo porque nós vamos ainda fazer algumas modificações protótipo final e depois a gente vai fazer a montagem e o hoodie cação no arduino então aqui não tinha quer cade vamos rodar ok passei o código aquilo opinou digitar errado que ficou soterrado aqui né altitude ficou faltando o terek então com certeza que também
ao tipo ç isso eu nem percebi que ficou sem o t beleza arrumado ali vamos compilar e está funcionando ela só ficou vermelho vai pagar vai passar pra poder daquela ficou verde vai esperar os nove segundos certo após os nove segundos e vai pular para esses códigos aqui vai ser deu amarelo acendeu a maré o delay de dois segundos e inicia o loop apaga os dois acende o vermelho da odeleite 7 e assim por diante vai realizando esse comportamento então aí está o comportamento básico do nosso semáforo ital códico é principal da aula de hoje
agora nós vamos às modificações aos itens importantes é que as novidades que nós vamos aprender na aula de hoje nós aprendemos lá no curso de c++ a usar diretiva definir e aqui no arduino eu prefiro usar se definir ao invés de variáveis pra gente se fazer referência a portas porque eu prefiro usar definir porque ele ovar vai fazer com que o nosso código ocupe menos memória no computador quando a gente está usando o computador a quantidade de memória que a gente tem disponível hoje em dia muito grande então a gente não precisa ter uma preocupação
com isso mas na hora do hino quando está trabalhando com robótica com esse tipo de dispositivo a memória é mais limitada os nossos programas são pequenos nosso suor do nosso adorado por enquanto a força tarefa simples mas eu tenho que lembrar que daqui a pouco esse corte porque os nossos códigos vão ficar maiores que se vocês forem desenvolver um bom trabalho mais complexo o código vai ficar cada vez maior e vai ocupar cada vez mais memória então eu já tenho que desde sendo essa preocupação em relação à memória então é nós estamos usando as variáveis
aqui pra fazer a relação à utilização com as portas voltou usando led vermelho amarelo e verde pra falar que é o número da porta que eu tô passando aqui para opinou diego digital right se a gente usar o definem veja bem olha só eu vou tirar o índio aqui e vou colocar o define ele tem uma sintáxi diferente da variável então a definir que ó ele não precisa da atribuição e também não precisa terminar são do ponto e vírgula não vou copiar que o define vou trocar todos esses índices o robô definir porque são todas
essas variáveis essas variáveis que estão sendo usadas para definição de porta qual que é a vantagem de utilização do termo faimi em relação ao indiretamente o uso de memória do dispositivo porque quando a gente usa o define uma diretiva de população na verdade quando nosso programa foi compilado o que que ele vai fazer ele não vai pegar esse valor na memória do arduino se fosse variava variável ele é armazenado na memória e quando a gente chama o método ele é lá na memória e buscar o valor da variável e trazer para o método aqui não
como eu estou usando o define essa constante ele simplesmente substitui esse texto por esse valor ok esse texto por esse valor e esse texto por esse valor então após compilado é exatamente isso daqui ó ao invés de led vermelho no programa na compilação interno programa vai ficar isso aquela geração do do executado ele vai substituir por 8 ou seja ele já colocou o número da porta e não precisa buscar na memória então isso aqui não vai estar armazenado na memória isso aqui vai ser substituído por 9 isso aqui vai ser substituído por 10 é exatamente
o que estou falando aqui ó substituto texto led vermelho por oito substituto texto led amarelo por nove substituto é divertir por 10 e aqui também as mesmas coisas então olha o tanto de é vezes que eu vou evitar que ele acesse a memória na verdade um dia em votar ocupando memória com essas variáveis então essa é uma vantagem muito grande da utilização de definir ao invés de variáveis nós vamos usar variáveis só quando eu preciso realmente armazenam dados de um cálculo que eu preciso é trabalhar com esse valor mais vezes ao ter a usasse esse
valor em outros lugares quando foi realmente um valor variável mas o caso da porta não é o valor variável é o valor fixo que eu vou usar no meu programa inteiro se eu mudo na montagem eu venho aqui e simplesmente faça uma outra referência para o texto é protestou adicionando o define bom então é principalmente para o número de portas nós vamos preferência para utilização de definir itália' sintax ok a outra observação na aula de hoje é quanto ao uso de funções isso aí vai simplificar o nosso código porque veja bem o nosso o corpo
do nosso código principal ficou muito grande suponhamos que em outra parte do meu código ok eu preciso fazer exatamente esse mesmo comportamento tá de fazer essas definições aqui dos leites o que acontece nesse caso eu teria que digitar todo esporte aqui novamente e se eu precisasse dentro do meu programa executar esse trecho aqui cinco vezes por exemplo trará eu tenho que repetir esse conteúdo aqui cinco meses certo não faz sentido a programação está aí pra facilitar não para dificultar então eu posso colocar isso aqui dentro de funções essas rotinas aqui tem as funções eu posso
chamar essa função aqui por exemplo de é vermelho ou sinopse não fechado essa aqui de sinal aberto e essa aqui de atenção ok ou simplesmente vermelho verde amarela tá fica muito mais simples então vamos às funções vamos ver com quem estava com funções dentro do arduino exatamente a mesma coisa é que trabalhar com funções nos c++ está em praticamente ficou muita diferença nem uma então vou criar que funções do corretor no voyage anos vão ter retorno nenhum eu vou chamar essa função até o de vermelho ok também não vai ter parâmetro de entrada vou copiar
problema vou reportar isso aqui e passar para a função vermelho ok vou criar outra função void que vê rede de rede ok vou recordar isso aqui e passar para a função de e disse eu quiser colocá-lo de lei também pode estar só que eu vou deixar de lei fora bom é e aqui amarelo void amarelo beleza vamos ter que cortar recortar e passar aqui para o amarelo eu estou pensando aqui mas é interessante colocar o delay aqui dentro ea gente usa um parâmetro olha só que bacana a gente usa que um parâmetro de entrada por
exemplo uma índia que tem que ser variável é com o chamar de tmp vai ser o tempo que esse é esse sinal é esse se esse led vai ficar aceso eu julgo uso aquino de lei com o parâmetro de mpe boa muito melhor copia que cola também cola e os parâmetros a cliente pmp e 21 pmp e joias funções definidas agora o nosso programa é muito mais simples é que eu quero quero acendeu o sinal vermelho ok quanto tempo a falar 77 segundos se eu não quiser inclusive colocar 7 mil quiser colocar só 7 é
só multiplicar aqui por mil podendo até fazer esse 17 segundos que eu multiplica aqui dentro da função aquele valor ali do tmt vezes mil mesma coisa aqui meses mil então vermelho vai ficar aceso sete segundos depois o verde de ovelha quanto nove segundos né e depois o amarelo por dois segundos olha só como que o corpo do código fica mais simples toda a parte de programação toda a parte mais pesada tá nas funções e se eu precisar chamar isso aqui mais vezes eu não preciso reeditar todo esse conteúdo basta chamar a função inclusive passar o
tempo ali pra ela então o pessoal então estamos aqui conosco arduino 9 que o terra ele já está conectado certo aqui na linha do medo negativo e já expandido a quebrar a linha do negativo da faixa superior então eu tenho aqui os nossos três resistores de 200 homens os nossos três prédios um vermelho amarelo verde e os três jantares que separamos aqui que eu separei aqui pra gente fazer nossa montagem primeiro nós vamos pegar os nossos led vermelho aqui lembrando aqui da configuração krakauer daquela a perna menor é o negativo é o cátodo então vou
vir aqui e vou conectar deixa eu ver que eu vou conectar ele na porta é 5 5 e 7 beleza vamos pegar o amarelinho também o mesmo esquema ou negativo para a esquerda vou conectar na porta que nas portas portas não né nas colunas 10 e 12 e o verdinho aqui a mesma coisa negativo para a esquerda vou conectar que nas colunas chover quem 15.000 boquinha penha dele que é o 15 e 17 beleza jóia agora os resistores resistores de 200 homens que a câmera não focou no fim de focar no que também pequenininho são
resistores de 200 homens onde nós vamos ligar no negativo certo no ground aqui editor cada um dos leds então primeiro aqui na 10 e no ground key segundo resistor encaminha dobra que perninha o segundo aqui tá no 10 65 né esse segundo aqui está no 10 jóia e o terceiro verde dobra perninha que está no 15 negativo de lino 15 e também no grau de na linha que do alt terminais negativos não ground conectados agora vamos às portas de acordo com nosso programa o vermelho o led vermelho na porta 8 então a pena positiva está
no set é que eu vou conectar na porta 8 do arduino beleza o amarelo a perna positiva tá na coluna 12 também a coluna 12 e porta digital número 9 beleza eo verde aqui está na coluna de 17 como 17 e porta digital 10 vou ligar ele está com um programa que dá uma passada né deixou conectar aqui no computador está conectado e vou fazer a passagem do programa está compilando a esquete lá e agora está carregando beleza e jóia está funcionando então é só o led vermelho a função chamou fk aos sete segundos ele
abre abre o sinal fica nove segundos após de lei vai chamar o amarelo fica 2 segundos e voltaram logo chamando o vermelho também amanhã 2 segundos e está aí o nosso programa funciona beleza pessoal montagem simples muito fácil eo importante aprendermos conceitos novos então se você ainda não inscrito no nosso canal se inscreva porque é que nós temos um conteúdo de programação de qualidade não só de arduino a gente fala sobre c++ programação web games parte gráfica nós temos bastante a coisa aqui sobre informática avançada e eu tenho certeza que vai te agradar e para
ajudar o nosso canal e claro que você vai clicar no jóia e seguir a gente nas nossas redes sociais por hoje vou ficando por aqui até a próxima aula tchau tchau
Related Videos
Copyright © 2024. Made with ♥ in London by YTScribe.com