Curso de Arduino #11 - Como usar a função MAP no Arduino

26.27k views3667 WordsCopy TextShare
CFBCursos
Curso de Arduino #11 - Como usar a função MAP no Arduino Link deste vídeo: https://youtu.be/iYP3Kkg...
Video Transcript:
fala moçada beleza professor bruno voltando como os cursos de artur no a hora de hoje aula 11 nós vamos falar sobre a função médio vamos também continuar o assunto sobre portas analógicas e vamos usar também leds em potenciômetro e tudo isso pra gente entender o funcionamento da função mec e eu tenho certeza que muita gente não conhece a função do mep e muitas vezes é e passa a raiva quebrando a cabeça e tentar fazer cálculos de referência de de relação de de valores de ancara com um golo de saída de relação de uma faixa de
valor maior como faixa de valor menor sendo que a função médico consegue resolver pra gente uma forma muito simples basicamente a função ela recebe cinco parâmetros o primeiro parâmetro é o valor de entrada o valor que vai ser correlacionado com as faixas que nós vamos indicar o segundo e terceiro parâmetros são relacionados a faixa de entrada certo então por exemplo se eu tiver lendo um valor de uma porta analógica com que a faixa mínima e máxima zero a mil e 23 então segundo parâmetros seria 10 o terceiro parâmetro seria 1.023 e os quarto e quinto
parâmetros são relacionados a faixa de saída então se eu estiver pegando uma organela lógico e convertendo pra um pwn por exemplo o valor de saída seria de 0 a 2 55 e bom que a gente relaciona faixa 09 24 com 02 55 fácil 0 de um com 10 de ouro como 24 e um com 25 de ouro se for metade do analógico 512 é metade do p-wrc assim 28 tá então agora faz um cálculo pra isso não entende nada não não precisa porque já tem a função metro que faz isso pra gente então esta gente
lá praticar você não inscrita no canal do beijo mais tempo não se inscreva agora clique no cilindro não perder mais nenhum vídeo aqui do sef de cursos clique no jóia porque é isso que ajuda o casal segue a gente aqui ó nas nossas redes sociais e sabe porquê é um ótimo negócio você se inscrever aqui porque é que nos serve percursos a gente tem aulas de segunda a sexta sempre o conteúdo de informática avançada especialmente desenvolvido para você é e tem aquela história também de que a gente quer conseguir conquistar o mundo não só vão
conseguir se você se inscrever clicar no sine e clicar no jardim da hora chega de introdução vão prática para a gente entender o funcionamento de mac é logo depois da vinheta rodei [Música] [Música] olha eu aqui de novo aqui só para dar um recadinho aula de hoje é uma aula que envolve muita programação aqui não é só que aí cursinho vai montar um circo tinha e eu vou passar como é que funciona coloca la de volta a gente vai funcionar não dão já vou avisando uma um pouco extensa e envolve bastante programaçã dito escola transição
e vão para a aula bom pessoal então vamos lá vamos a nossa prática aqui o 1º circuito que nós iremos montar no ar do im é e circuito aqui e ele é bastante simples a gente começar a entender como funciona a função mec certo eu tenho um potenciômetro poeta ligado aqui na na lógica céu aqui na entrada na loja 0 eu tenho led aqui na pwm 3 a idéia aqui é jirau potenciômetro e ele totalmente para a esquerda led apagado totalmente para a direita oled aceso potenciômetro no meio o led aceso e 6 intensidade então
o potencial dele vai controlar a intensidade do led rock bom então esse é o nosso primeiro circuito esse aqui são os outros circuitos que nós vamos fazer depois desse aqui então aqui no arduino aqui no software do ano vamos começar a nossa programação e pra esse circuito é muito simples ok eu só tenho um é jack ligado na pwm 3 e tem um potencial metro ligado na analógica 0 e sephton beleza ok molde load do led certo e do potencial o metro input bote ok tipo de pneu definido agora que vão para o lupino lupi
nós vamos fazer leitura do potenciômetro lembra que ele está ligado uma porta analógica e aporta na loja ela retorna ela tem uma leitura que vai de zero colocar um comentário aqui ó a na lógica ou sem acento mesmo tá de zero a mil e 23 certo ea pwm pela bíblia digital que simula a porta na lógica então a peta pwm ela varia de 0 a 1 255 então são 256 variações o que nós temos que fazer nós vamos fazer essa relação ok de 70 mil e 23 com esses 10 a 25 50 é esse zé
relacionar com esse zero não tem problema nenhum agora valor máximo 23 tem que relacionar com 255 ea metade aqui que 512 tem que relacionar com a metade aqui que é 128 tá certo então como fazer isso a função mep resolve esse problema de uma maneira extremamente simples antes que você se questionem nesse caso obviamente que tem como a gente trabalhar fazer dessa maneira sem utilizar o maps e já que a pwm equivale a um quarto de eleitor um quarto do valor da porta na lógica então primeiro vamos fazer sem o maps e depois vamos introduzir
a função map então o que eu tenho que fazer eu tenho que é mudar o valor da porta digital do led então a na loja analogue r eu vou fazer a mudança na porta do led e uma longa noite ele necessita de dois parâmetros que é aposta que ele vai trabalhar certo e o valor que ele vai escrever nessa porta no caso que é um led que eu quero trabalhar eu vou quebrar a linha que só para ficar mais fácil vocês entenderem porque aqui eu vou usar o cálculo qual é o valor do cálculo ali
ele vai ser a leitura da porta do potencial metro dividido por quatro então muito simples aplicação análogos o hit sweet da porta do potenciômetro ok / 4 então esse é o falou que eu vou passar aqui para o led no analogue right é o valor que o nab noite vai escrever na porta led que aporta 3 rock então olha que coisa simples para que tenha alguma coisa tem tenha mais é que dilma abriu abril fechou fechou esta quinta sobrando certo jóia então esse código aqui gera um resultado pra gente certo como o que eu faço
com o mep como eu resolvo esse problema como mep já já a gente vai passar isso aqui lá pra linha e nós vamos ver isso funcionar tá mas antes vamos colocar aqui o mep nome que carinha com a função mep como ela funciona da seguinte maneira o mep e ela precisa de cinco parâmetros o primeiro parâmetro vamos colocar aqui à sintáxi do mec sintáxi de uma forma que fique bastante simples você entender o primeiro parâmetro ele é o valor de leitura vamos colocar aqui leitura que é o valor que vai ser lido e passado como
referência para dentro do mep certo o segundo valor ele representa o início da minha faixa de entrada então n é entrada valor enival entrada e o terceiro parâmetro é o máximo valor máximo do valor máximo de entrada entrada certo esse é o terceiro parâmetro o quarto parâmetro é o valor é desde 'me dê inicial vou colocar mim tá me e max o próximo para 84 parâmetro é o valor mínimo o valor mínimo de saída da faixa de saída do último parâmetro é o valor máximo da faixa de saída máximo valor de saída então o que
que ele faz com que ele trabalha aqui veja bem separar isso aqui pra ficar muito simples da gente entende ele faz a leitura que vai ser o valor lido aqui do nosso potencial e me ok só que eu quero é que para fazer a equivalência dos valores de 0 24 com 10 a 25 5 então aqui são os valores de entrada quanto eu posso ler de entrada uma porta na lógica de zero a mil e 23 enquanto que eu posso ter valor de saída numa porta pela blue n de 0 a 2 55 então ele
pega essa faixa de valores e correlaciona com essa faixa de valores certo e vai ser a saída da função mep vai ser um valor que está nessa faixa que de saída é certo que está ligado relacionado ao longo da faixa de entrada então a gente consegue substituir facilmente aqui esse cálculo pela função web a quinta simples mas nós vamos usar um pouco mais complicado no próximo exemplo então vamos lá a alog analogue croslite quero escrever onde na porta do led certo agora veio o mec o mec qual é o primeiro parâmetro é a leitura a
leitura vem do potencial metro então tá aqui ó potenciômetro certo no segundo parâmetro a faixa mínima de entrada é uma porta analógica então ela varia de 0 a 1 e 23 aqui os outros dois parâmetros são os valores de saída saída na pwm que varia de zero a 2 55 olha que facilidade a utilização da função mep eu vou deixar a primeira que em comentários porque nós vamos usar o mep para poder fazer o teste lá no nosso circuito a pessoa olha só vamos fazer a compilação fazer a carga que pro arruda o hino e
o pádel um evento assim tá faltando o parêntesis aqui ok beleza de sua vez tem mais uma coisa errada não tem nada tão agora vamos fazer a carne aqui do programa está compilado carregando programa carregado aqui no arduino então vamos passar o olho aqui na nossa montagem ver o que a gente tem todo o look que vai vai nos auxiliar até então a montagem do potenciômetro exatamente a mesma dá uma passada eu tenho aquele que ligados à urna aliás a única diferença é que no ano passado estava aqui nas cinco e agora eu liguei e
que na zero tá certo essa é a diferença mas a montagem aqui dodô negativo do que positivo é a mesma eu tenho com ética com o cátodo aqui ligado no negativo na linha do negativo que eu fiz a expansão a extensão aqui e oled ligado na minha pwm trade aquino rua do hino então o código já está funcionando nós vamos tirar o potencial metro e olha só o led ele já varia a luminosidade à medida que a gente gira o potencial o metrô na câmera tem uma certa falha aí não vai conseguir detectar toda a
faixa luminosa chega um ponto em que eu não consigo diferenciar vendo mas a gente consegue notar que eu giro para a esquerda a luminosidade muda diminuiu giro para a direita a luminosidade aumenta me dá uma dica que se eu fizesse com a luz apagada talvez a câmara consiga detectar melhor luminosidade números da do leite eu tenho muita certeza não mas vamos fazer esse teste aqui eu vou pagá los olha só tá com a luz apagada aqui só à luz do monitor do computador dos computadores aqui que estão tão incidindo aqui e vamos ver se melhora
também no led apagado e não está aceso não e também vermelha 5 causou pelo menos a luminosidade de cilad aqui certo então vamos lá vamos aumentando aqui devagarinho e vou colocar no máximo olha só chegou no máximo à ok eu tô vendo aqui na câmera parece que agora vai ficar melhor sim em que agora eu estou diminuindo aqui beleza chegou no mínimo apagou led luzes acesas novamente então então agora nós vamos voltar pro arduino e fazer um circuito um pouco mais complicado aqui pra gente entender de vez a função mep vão pro computador [Aplausos] pessoal
aqui no computador eu não vou testar com esse é vou comentar e testar com esse código que não que o resultado é exatamente o mesmo tá só colocar o foco da aula é mac é eu digo aqui que funciona certo exatamente esse código aqui funciona da mesma forma que esse daqui agora vamos lá vamos trabalhar com o nosso próximo circuito aqui que vai ser esse aqui o circuito número 2 como ele vai funcionar notem que agora eu tenho seis leds certo e aqui nós podemos montar de duas maneiras existe essa montagem aqui onde eu uso
um resistor só então notem que que o ground o terra dos leds não tá vendo da extensão aqui não ele está vendo desse ground aqui ele passa pelo resistor e distribui para todos os leds a vantagem eu uso um resistor só a desvantagem que eu vou ter que usar mais e jantares aqui tá certo ok então tem essa outra montagem aqui que o resultado exatamente o mesmo só que aqui eu uso um resistor para cada led a vantagem é que eu uso existentes ao invés de jantares fica mais com essa montagem aqui na própria boca
de porque o meu eu não tenho aquele já pequenininho só tem já ter grande de filho tá de fio grande rio comprido então eu tenho que fazer a extensão positiva que nem precisa mas eu tenho que fazer a extensão do negativo porque os leds usam os potentes e os resistores no ground e a idéia aqui agora vai ser seguinte o tensiômetro na esquerda todos os leds apagados potenciômetro na direita todos os leds acisos potenciômetro na metade somente metade dos leds estará seus então à medida que um giro oled ele vai ascendendo os levam à medida
que gerou potenciômetro ele vai sendo os leds à medida que eu volto potencial pesqueiro ele vai apagando os leds vão trabalhar com esse código aqui então aqui no arduino vamos voltar que agora a nossa montagem do código é um pouquinho diferente e eu vou aproveitar pra gente praticar funções vetores e mep tudo nesse código aqui se a gente não tá ok circuito e vou colocar o circuito aí na tela olha só agora eu tenho seis leds que estão ligados na porta 2 até a porta 7 certo eu vou distribuir esses leds em um vetor então
ao invés de colocar um define para cada led eu vou criar um vetor que eu vou chamar de leds e através de inicialização uniforme eu vou colocar aqui as portas dos leds o primeiro led está na porta 2 o outro na porta 3 4 5 6 e 7 são 123456 isso seis leds ele da porta 2 aposta sente o botão um potenciômetro vou deixar num definir certo porque ele nunca vai sair da a 0 então deixando aquele mandato itamar ele e vou criar uma variável que eu vou chamar de valor aqui também global agora preciso
inicializar o modo de porta de todos define se ele já não define o modo da porta de todos esses leds todos eles vão ser ao tipo ç como o que eu posso fazer isso eu posso usar em meu favor o vetor leds então eu posso colocar aqui o primeiro led primeiro item na posição 10 que é o led 2 fui eu faço porta por porta ou eu uso um fórum muito mais interessante então int aqui e iniciando com iniciando em 0 enquanto o ifo menor que 6 e mais mais beleza olha que maravilha aqui eu
uso o que disse no meu vetor então arduino gente é pra quem gosta de programa eu não gosto de programar então você está trabalhando de 70 no curso errado o arduino ele é pra quem gosta de ver o resultado da programação ali no hardware funcionando tanto que a gente vai fazer robôs nossas coisas interessantes aqui no nosso curso certo e essas aulas são fundamentais para a gente beleza ok vão criar uma função contorno void eu vou chamar a ascender essa função vai indicar qual o led ela vai acender então vai receber um parâmetro ok que
eu vou chamar de x e ali eu vou indicar qual o led eu quero a sentir agora olha que em pouco interessante que essa função vai funcionar vou fazer um forro ali para falar assim por exemplo eu vou eu quero acender o led 6 está na verdade não é o número do led desse esse número aqui né é o número do vetor certo então um dois três quatro cinco gols e deu está na posição 5 o que nós vamos criar nessa função ele vai ascender do início até o 5 e o contrário ele vai apagar
dos 5 até o fim esse é o trabalho da função acender e como que a gente faz isso vamos criar um clube forte e vou criar uma outra variável aquilo local com o escopo local em ascender que a variável e e vamos a um novo foco pra gente indicar quais leds eu quero acender então enquanto e enquanto não é para iniciando em 0 enquanto isso for menor 6 esses seis aqui pode ser inclusive uma conta na verdade na verdade é que não sei não aqui é o valor do x que eu passar como parâmetro entre
não pode ser constante na enquanto x o menor que 6 e mais mais se eu passo aqui que eu quero é 3 então do zero até o 30 até o 3 ele vai fazer o que ele vai acender tão digital digital right na porta é leds que é as portas estão aqui no vetor leds né relacionado à e no índice e de zero até o índice vai receber ae essas portas aqui vão estar acesas eo restante eu quero garantir que estarão apagadas então eu faço fora que vai percorrer do valor passado como parâmetro certo enquanto
aqui o valor máximo eu vou colocar configurarem lu então o contrário por exemplo de novo coloquei aqui 3 rock se e eu o wii vai receber 3 enquanto for menor do que 6 e então de três certos até os seis que é o último ele vai receber no então aqui ele vai apagar o que esses leds talvez já é esse que começa do início que vai até x esse aqui começa do x e vai até o final beleza jóia do início até o xl ascendi do x até o final ele apaga então nossa função de
acender está pronta agora nós temos que usar aqui no loop e pra isso que nós usamos a variável fao na verdade nem tem necessidade da variável porque vamos fazer o código com a variável depois nós vamos tirar variável está aceso e da maneira que vocês preferirem então val vai receber a leitura do potencial o momento então análogos grid o ide aquino ficou tensiômetro jóia e agora eu passo aqui oval para a função assim deles então vamos chamar que eu não pagar tudo isso aqui né aqui ó ascender a ascender eu vou passar é oval mas
mas não é simplesmente oval eu tenho que usar o val dentro da função mep então vou colocar a função meta que fora depois a gente coloca lá no acender então maps quanto é o valor de referência de entrada de leitura na função ao certo qual é o valor mínimo lembrando que a entrada analógica com 10 qual é o valor máximo da entrada analógica 1.023 saída saída olha só aqui não confundam não é pwm não é de 0 a 2 55 não não a saída é relacionada à qual led ele vai acender é qual o valor
eu quero passar para a função acender inter e varia de 0 a 6 certo 01 23 45 não é gatti né de 0 a 5 ó que não tá aqui beleza só um detalhe aqui pré 6 mesmo é 6 mesmo aqui no começo do zero não tá é que é são seis elementos isso é errado o último led não ia ascendência a gente deixasse lá com josé se eu quiser que o piolet já começa a ser gente manda aqui pra 1 mas eu vou deixar que ela começará a pagar então vou deixar 0 - beleza
então a quinta a nossa função mec que vai retornar um valor de 0 a 6 que está correlacionado com a entrada do potenciômetro na porta na lógica pego o meu mep e coloco onde coloco dentro da função acender então retorno da função mep vai vim aqui para a são acender vamos para o arduino pra gente fazer a montagem do novo circuito e testar esse código aqui vamos lá nós temos que montar o circuito então vão produzindo tão software carregado o programa foi carregado aqui na placa arduino olha a loucura que ficou essa montagem aqui eu
usei os resistores aqui tá vendo todos conectados nos negativos dos leds e os jantares aqui conectando os positivos do led e cada uma das suas respectivas portas ali a montagem do potencial eu não mudei então o que vai acontecer à medida que eu vou girando aqui ele vai ascendendo os leds vamos ver o ver o 123 há outro detalhe não tinha led da mesma curta 1 456 leds e chegou ao fim do curso do potencial agora vamos voltando aqui para a esquerda ele vai apagando ali direito ele acende esquerda ele apaga pessoal então tá aí
a comprovação da função mep funcionando e o teste da função mep funcionando aí vou ficando por aqui se você não é escrito que a força esteja com você você clique no se inscrever e clique no sine para receber notificações dos nossos vídeos clicando jóia também porque é isso que ajuda o nosso canal vou ficando por aqui até a próxima ao la a de tchernobil
Copyright © 2025. Made with ♥ in London by YTScribe.com