portas analógicas do arduino

 


 
A controlar as portas digitais do arduino na verdade aprendemos a definir, a porta se ela seria utilizada como sada ou como entrada e aprendemos, a controlar o estado da porta aprendemos, a definir se ela estaria ligada ou desligada, ou, verificar, se, ela est, ligada ou desligada, no Caso de quando, a porta digital est, desligada o mesmo que ter essa porta em zero volta e ter essa porta ligada, o mesmo que ter a porta numa extenso de 5 volts na maioria dos arguidos alguns arguidos que a gente vai ver em outros vdeos ateno da Porta ligada seria 3.3 outros mas falando aqui do arduino uno vamos sempre considerar que a tenso da porta seria 5 volts j, no caso da porta analgica porta na lgica funciona tambm como uma porta digital s que a variao de tenso dessa porta ela, no simplesmente, ou 0 ou 5 ela pode variar de zero at cinco ento qualquer tenso, intermediria, nessa faixa possvel que a gente tenha na porta analgica por isso, no vai servir, para algumas aplicaes um, pouquinho, diferentes, vamos, verificar, agora, ento, um, como, o circuito que a gente vai montar, para Fazer aula de hoje vejam aqui que no arduino ns temos nessas portas, aqui desse outro lado ns temos as portas digitais da porta zero at a porta 13 aquelas que a gente j aprendeu, a utilizar mas acho que a gente vai aprender, a utilizar hoje, so essas Portas, analgicas aqui embaixo que variam da porta zero at a porta sim inclusive, a referncia, a essas portas sempre a gente vai colocar um l na frente ento quando eu falo da porta, a 2 o arduino sabe que eu no estou me referindo a porta digital 2 E sim, a porta analgica 2 bom, o circuito que a gente vai montar ento dessa forma vamos utilizar, o mesmo circuito que a gente utilizou l na aula 5 quando, a gente aprendeu sobre, o operador forte e vamos colocar aqui alm desse circuito que j tnhamos montado Ns vamos acrescentar aqui um resistor que depende da nummi novidade um chamado ldr ns temos aqui, no circuito e se resistor aqui esse registou um ldr que a resistncia dele varia de acordo com, a luminosidade quanto maior, a luminosidade menor ser, a resistncia do meu resistor alm De ligar ento esse resistor entre, o terminal negativo do arduino e aporta a 0 reparem que eu liguei uma perna do resistor, ldr, no negativo ea outra porta eu, a outro outro terminal eu conectei aqui na porta z, essa porta, a 0 que ns vamos utilizar, para Ler, a informao que est sendo controlada pelo l de guerra ou seja vamos ler qual, a tenso que est chegando na porta a 0 mas para que a gente tenha uma preciso nessa leitura importante tambm que essa mesma porta a 0 ela esteja ligada no na da Porta de 5 volts do arduino mas atravs de um resistor ns utilizamos aqui um resistor de um c porque queremos que tenha que uma tenso de 5 volts mas uma corrente muito pequenininho muito pouca corrente apenas para que a porta possa entender que ns temos 5 volts Aqui, a lgica desse circuito, o seguinte se ns retirarmos, o ldr daqui que significa que ns temos aqui uma, resistncia mxima, possvel seja, no passando nenhuma, corrente entre, esses dois terminais to ns nos conectamos, esse, ldr com, resistncia, mxima, vamos, fazer com que a porta aqui esteja Recebendo exatamente 5 volts agora, se ns colocamos, o ldr e com, o controle da luminosidade ns colocamos, ele, numa, tem, uma, resistncia, mnima, como, se, tivssemos inclusive trocando, em, vez de colocar, um leve uma idia, ns, vamos, colocar, aqui, um, fio, ligado, diretamente, dessa, forma ento, esse, Negativo ser contra ir controlar a tenso da porta, a 0 em 10 volts ento se ns colocamos aqui resistncia 0, a porta l, 0 volts se colocamos resistncia mxima, a porta l, 5 volts esto lendo, a ateno nessa porta ns vamos saber qual, a intensidade da luz Que est sendo captada pelo l, dr vamos agora, ao programa como que a gente vai controlar essas portas primeiro as portas que iremos controlar os leds isso, a gente j, viu nos exerccios, anteriores ento, vamos, fazer da mesma, forma ns, vamos, colocar, aqui, uma, varivel, chamada, pinos E vamos dentro dessa mesma varivel colocar nove diferentes, variveis, ou, seja, vamos, ter, aqui, uma, matriz e vamos colocar os valores das portas, em que ns temos os leds, ligados, so essas todas as portas em que os leds, esto ligados e com, essa varivel, ns, vamos, fazer, O seguinte aqui embaixo, no setup ns, vamos colocar, um, frum, vamos, definir, tambm, uma varivel de controle, desse frum vamos colocar aqui uma varivel, chamada em, led e vamos fazer com que o for ele seja iniciado compiled igual a zero; ah vamos repetir, o lao enquanto pnera.

For menor ou igual, a 18 porque ns temos nove nerds ento vamos varia de 0, at 8 e, a cada execuo do lao ns vamos somar 1 na varivel em led est definido o nosso frum abrimos, o chaves e fechamos, as chaves e aqui ns vamos controlar, O modo dessa desses pinos ento vamos colocar como, pin molde sendo um para cada um dos pinos que ns temos na nossa matriz ou seja cada um dos pinos do led vamos fazer com que essas portas, sejam definidas, como, ao, tipo, ou, seja, portas de sada. So as portas digitais de sada que iro ligar ou desligar os leds, por enquanto s, isso e agora, aqui em, baixo, ns, vamos, fazer, o seguinte vamos, j, preparar porta digital, a 0 reparem como que a gente faz como ela uma, porta, tambm, como, uma porta digital Os controles so os mesmos, ns vamos iniciar, o modo da porta com, o mesmo comando pim molde, vamos colocar aqui, a definio da porta, a 0 reparem que eu no coloquei s um nmero 10 coloquei l na frente que o arduno vai entender que a porta analgica E agora, eu coloco essa porta, no estado de input, perfeito com, isso, eu tenho j as portas controladas o que ns queremos fazer agora, vamos fazer, o seguinte ns queremos ler qual, a tenso que sendo recebida nessa porta e para isso, ns, vamos, criar, aqui, algumas, variveis, Por exemplo vou criar uma varivel do tipo frontera porque eu quero, fazer algumas contas e possivelmente nessas contas, a gente vai ter alguns valores com, decimais, no quero perder, esses, decimais nessas contas ento, eu vou, colocar essa varivel do tipo floating vamos colocar uma, varivel, chamada, valor, Ldr que eu simplesmente vou ler a porta, a 0 e vo guardar, o valor nessa porta dessa forma que reparem que eu venho aqui no loop e vou colocar aqui, no loop, uma, funo, chamada, anlogo, rede dessa forma reparem que eu vou colocar a varivel valor ldr Igual, a no agredir o ide assim dessa forma vou definir que eu estou lendo a porta, a 0 ento pronto com, a funo anloga grid, ns vamos ler, a ateno que est na porta a 0 e vamos guardar este valor aqui dentro da varivel, o valor ele Deve agora, o seguinte vimos que a tenso pode variar de zero at 5, o valor que ns vamos receber nan logo, o vdeo se, a ateno foi, zero vamos receber, o valor 0 mesmo mas se, a inteno for 5 ns vamos receber, o valor 1.

023 ento os Valores da anlise de rede, vo variar de zero at 1.023 ento todos os valores inteiros que estejam nessa faixa podero ser lidos independente da ateno que est sendo aplicada na porta ento se estamos aplicando 0 vamos receber zero se estamos aplicando 5 volts vamos receber, o valor 1.023 recebido ento esse valor que a gente vai fazer com, ele ns vamos, fazer agora, algumas continhas para transformar, esse valor na quantidade de leds que eu quero aprender aqui a idia desse exerccio quanto maior for a luminosidade detectada pelo l, dr ns queremos, que a senda Mais luz quanto menor for a luminosidade mais escuro estiver menor ser, a quantidade de luzes acesas eu j tinha feito anteriormente alguns testes e verifiquem as faixas de acordo com as luminosidades que a gente pode obter nesse ldr especificamente aqui se voc est fazendo, o seu experimento Com, ele 10 um pouco diferentes pode ser que essas faixas variam um pouco de repente, interessante voc, testar, no mais, escuro possvel, no mais, claro, possvel, para entender quais, so as faixas em que pode variar, no caso dos meus testes, o valor mnimo de 85, ento quando, A porta l, 85 significa um mnimo de luminosidade possvel eu deixei ele, no mais escuro possvel e eu tenho tambm que o mximo vamos criar uma varivel chamada mxima, no valor 1020 reparem que a faixa vai de zero at 1.023 mas com, muita luz aqui, no mximo Que eu cheguei foi com, 1.

020 ento definimos mnimo e mximo como sendo, a faixa em que vamos controlar sabemos que muito dificilmente vamos encontrar valores fora, dessa faixa uma outra varivel que tambm podemos criar aqui finalmente, a luminosidade que queremos que varia de 0 at 9 porque Porque ns temos nove leds ento se for muito escuro queremos que seja zero nenhum de aceso se for muito claro queremos que seja 9 todos os leds, acesso ento novidade ser uma varivel que vai armazenar de zero at 9 de acordo com, o valor de r que A gente vai obter, vamos agora, ento h, um clculo que ns vamos fazer para que a gente aps: ler o valor ele, dr ns vamos converter, esse, valor de r, para essa faixa de zero at 10 ento vamos fazer, o seguinte vamos colocar, no minnozzi, idade, ser Igual e aqui eu vou fazer uma pontinha de o que eu tiver no valor da dor ldr, o mnimo da minha faixa isso daqui eu vou dividir por, o mximo da minha faixa, o mnimo da minha faixa como. Se, eu obtivesse aqui o percentual em quantos por cento, eu estou de acordo com, a faixa total bom obtendo esse percentual ento eu vou agora, multiplicar tudo isso, por 10 porque porque eu quero variar de zero at 10 esto de acordo com, aquele percentual, vezes 10. Eu vou obter o desejado bom agora, ns vamos inverter, a luminosidade porqu porque quanto maior, luminosidade eu estiver, no ele, dr o menor ser, a tenso que estou recebendo ateno inversamente proporcional do que a luminosidade ento.

Se, eu estou recebendo ateno e quero traduzir isso em luminosidade ns vamos fazer, o seguinte vamos inverter, o valor se estamos recebendo de uma, faixa de zero at 10, no caso por, enquanto 10 est significando, o mais escuro possvel, ou seja, o maior, ateno porm, a menor Luminosidade e 10 est significando mais claro possvel menor tenso maior, luminosidade a gente quer inverter isso dessa forma muito, simples vamos colocar luminosidade igual, a ela mesma luminosidade 10 e multiplicar isso por menos um pronto, em, ver, temos, os valores steel, tem, uma pensam que me d Na faixa 10 no mximo ns, vamos, inverter, isso, esse, macho prximo, ser, zero se for 9 passa, a ser um se for oito praas e 2 e assim por diante bom resolvida, a luminosidade agora o que ns vamos fazer ns vamos acender, a quantidade de leds de Acordo com, essa luminosidade que varia de 0 at nove e, a j bem simples vamos utilizar aqui, o comando frum vamos colocar que ele vai variar para todos, os leves, inclusive vamos at copiar e se for aqui de cima, fica mais, fcil, vamos, variar, em, todos, os Leds que ns temos aqui do zero at o 9 depois para cada vez que a gente passa por esse lao ns vamos colocar aqui uma verificao, sim um pin led que estamos tratando neste momento desse lao ele for menor do que a luminosidade, no inverting que no Menu da cidade ento se ele for menor do que era.

Menor de idade ns vamos fazer, o seguinte vamos acender, o led digital lite. Do pinus em led desta forma e vamos, colocar ele, como, raio, ok, reparem, aqui, ento que vamos acender o led que est. No pino nmero do lao que estamos tratando ento por exemplo se eu estou passando pela primeira vez, no frum, o pnera ser igual, a zero ento eu vou l, no na posio, 10 de pinus que seria l, em cima, o valor 12 ento l, no pino 12. Eu vou fazer com que ele esteja ligado que o primeiro led verde, aqui feito isso, ns s, vamos ter, aqui, um, elze, se, no for o menor ento; se; no for menor ns, vamos fazer, a mesma coisa, o digital right porm, eu vou, desligar o led e Por ltimo s, para no ficar uma, execuo, muito, rpida, vamos, colocar, aqui, onde, lei de meios segundo, 500 milissegundos e pronto, ns, j, estamos, aqui com, o programa, apollo pronto, para ser, carregado, o principal dessa, aula, exatamente aqui, a funo anloga grid que est lendo um valor Da porta analgica bom vamos agora, conectar, o arduino e vamos, carregar esse programa, no arduino e pronto, ele j, carregou aqui, no arduino ento, vejam ele ligou, a todas as luzes verdes as amarelas esse agente variar, a luminosidade agora do mdr por exemplo estou tampando, a luz Aqui que ficou mais escuro ns temos menos luz ou seja, ficamos, l com, apenas com, dois, leds, verdes, acesos, menos, luz, mais luz, se, eu pegar aqui por exemplo, uma, lanterna, tem, aqui, uma, lanterna, ei para que a gente coloque mais luminosidade aquino ldr ento vejam que Aumentaram as luzes com, mais luz, no ltda, bom, ento, nessa, aula ns aprendemos, a utilizar, a porta na lgica e tambm aprendemos sobre, o ldr que esse resistor dependente de luz s, por curiosidade, a sigla ldr exatamente um resistor dependente de luz em ingls, light dependente registrou Bom isso pessoal mais uma, vez, muito, obrigado, faa, os exerccios, a nica forma de vocs, aprenderem terem dvidas deixem comentrios em vdeo com, dvidas que vai ser um prazer enorme ajudar, vocs eu quero realmente que vocs aprendam e que faam programas muito legais um grande abrao e.

 
 

portas analógicas do arduino Video

 

 

 

 

 

 

portas analógicas do arduino news

 

 

     

     

     

     

     

    portas analógicas do arduino Social

     

     

     

     

    official.arduino
    2019-10-25T18:08:03+0000

    Last weekend we announced that we’re working on a new development environment with advanced features. Let’s take a deeper look at what is in store for the Arduino Pro IDE!
    safe image.php?d=AQB3t842udQGDBtr&w=720&h=720&url=https%3A%2F%2Fblog.arduino.cc%2Fwp content%2Fuploads%2F2019%2F10%2FPRO IDE BlogpostFeatured - portas analógicas do arduino
    official.arduino
    2019-10-25T15:12:36+0000

    “Let us change the world by making technology accessible to everyone and put it into the hands of every student and educator.”
    safe image.php?d=AQCy9PEcAbMgaw1B&w=720&h=720&url=fbstaging%3A%2F%2Fgraph.facebook - portas analógicas do arduino

     

     

    (Visited 15 times, 1 visits today)

    About The Author

    You might be interested in

    Comment (30)

    1. Nada tá acendendo no meu e já verifiquei o código varias vezes, quando desconecto do gnd para o resistor LDR, todas as luzes acendem. O que eu faço?

      1. @Brincando com Ideias pior que não foi. Mas usei uns jumpers e usei uma outra forma de conexão que um kra falou aqui nos comentários e funcionou.

    2. Gostei muito do seu vídeo, você poderia me ajudar com uma dúvida de como controlar o led usado o monitor.serial no lugar do LDR ?

    3. Boa tarde !! o meu nao funcionou.
      int pinos[9] = {3,4,5,6,7,8,9};
      int numeroled;

      float valorldr = 0;
      float minimo = 85;
      float maximo = 1020;
      float luminosidade = 0;
      int pinled=0;
      void setup() {
      // put your setup code here, to run once:

      for (pinled=0;pinled<=6;pinled=pinled+1){ pinMode(pinos[pinled], OUTPUT); } pinMode(A0,INPUT); } void loop() { // put your main code here, to run repeatedly: valorldr = analogRead(A0); luminosidade = ((valorldr - minimo)/(maximo - minimo))*10; luminosidade = (luminosidade - 10)* -1; for (pinled=0;pinled<=6; pinled = pinled+1){ if (pinled < luminosidade){ digitalWrite(pinos[pinled], HIGH); }else{ digitalWrite(pinos[pinled], HIGH); } } delay (500); }

    4. bom dia Professor poderia me dar uma ajuda, comprei uma plaquinha no ml que pega um pwm e transforma em 0-10, porem , mesmo estando em zero, ainda surge uma pequena tensão na saída, menos de 1 v, só que estou usando esse sinal em um inversor de frequência, com isso , meu motor gira, bem vagarosamente, mas fica girando em 1htz ate meu programa começar a controla-lo , tem algo que posso fazer para para-lo totalmente sei la por algum resistor de pulldown, algo do tipo

      1. @Brincando com Ideias obrigado pela resposta realmente seria um método bom e sem muita complicação, mas usei o mesmo quesito do LDR … Coloquei um resistor de 1k entre o terminal GND e A1 do inversor mantendo ele em 0 até receber algo do Arduino , muito obrigado pelos ensimentos

    5. Ola professor, eu estou querendo fazer um projeto que consiste em o arduino ler a informaçaode uma boia de combustivel e realizar algumas funçoes. O problema que a boia manda o sinal da resistencia via terra. A entrada analogica consegue ler a resistencia via um fio terra?

    6. Olá gostaria de uma informação sobre as portas digitais 0(RX) e 1(TX) do arduino uno, sempre quando faço uma definição para esta porta e utilizo ela numa programação ela sempre fica passando corrente, não consigo por exemplo fazer que um led fique desligado quando conectado nestas duas portas, tanto 0 quanto 1.
      Poderia me auxiliar?

      1. Fabio estas portas estão ligadas tanto no ATMEGA328P quando no chip de conversão USB < -> Serial. Se houver comunicação Serial os Leds irão piscar pois estão no circuito de comunicação

      2. @Brincando com Ideias Então neste caso não tem como eu programar estas portas como as demais portas digitais 2,3,4…

    7. Como posso criar uma rampa, pra não ficar linear. Tipo começa devagar e acelera, e pra parar vai parando de vagar, como crio essa linha de código?

    8. Olá Flavio poderia da um exemplo utilizando Registradores, desde já obrigado pelo apoio:

      PORTC maps to Arduino analog pins 0 to 5. Pins 6 & 7 are only accessible on the Arduino Mini

      DDRC – The Port C Data Direction Register – read/write
      PORTC – The Port C Data Register – read/write
      PINC – The Port C Input Pins Register – read only

    9. preciso alimentar 50 mini motor de 3V, e gostaria de saber como faço para definir apenas 3V para esses motores, ja que no arduino só tem 3.3V

      1. Olá amigo! O indicado é que utilize alimentação externa e driver para controlar esses motores

        Abraços da equipe do canal Brincando com ideias!

    10. deu certo assim

      nt led[7] = {2,3,4,5,6,7,8};
      int y;
      int x;
      float z;
      void setup()
      {
      Serial.begin(9600);
      int fur;
      for ( fur = 0; fur < = 6 ; fur = fur + 1){ pinMode (led, OUTPUT); } pinMode (A1, INPUT); } void loop() { z = analogRead(A1); Serial.println(z); if (z < 467) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); } if (z >= 467 && z < = 578) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH); } if (z >= 576 && z < = 689) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(6,HIGH); } if (z >= 689 && z < = 800) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); } if (z >= 800 && z < = 855) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); } if (z >= 855 && z < = 999) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); } if (z > 1000) {

      digitalWrite(2,HIGH);

      }
      delay(500);

      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(8,LOW);
      }

    11. Olá professor Flavio mais uma vez parabéns, pelas aulas, não tem como ser melhor explicado, para que possamos entender. O meu projeto para comutação de 3 tensões diferentes na fonte assimétrica, funciona assim: numa fonte de tensão e corrente ajustável, quero ajustar: 1,2v 3,3v e 5v. para isso pretendo usar 3 portas Analógicas, cada uma delas terá uma resistência fixa, a mesma que encontraríamos num resistor variável para cada tensão, depois de ajustar o potenciômetro linear, para cada tensão, (Teremos então 3 valores diferentes de resistência) só que depois de achar os valores das resistências ôhmica, pretendo substituir por valores fixos. Dessa forma toda vez que eu chavear individualmente as portas 1, 2, 3 terei as tensões: 1,2 3,3 e 5v. Só que essas 3 tensões estarão em um circuito aberto, ou seja, sem carga, quando eu aplicar ao circuito especifico, a tensão irá cair, a pergunta que faço ao professor: Tem como criar um código para corrigir essa tensão automaticamente, para com a carga normal (sem curto circuito), ela continue sendo o mesmo valor programado? (Exemplo 3,3v sem carga “igual com carga”) Se sim com certeza o meu projeto será perfeito, e vou me apaixonar ainda mais pelas técnicas digitais, porque a mais de 30 anos desenvolvo meus projetos, todos analógicos. Grande abraço professor. Aguardo sua resposta.

      1. Oi Mario. Muito obrigado. No momento não dispomos dos serviços de consultoria ou suporte aos vídeos do canal, porém, temos mais de 440 vídeos gratuitos que podem ajuda-lo com seu projeto. Aproveitamos a oportunidade para sugerir o https://cursodearduino .net onde você aprenderá toda a programação que precisa conhecer para finalizar seu projeto. Ainda conta com o suporte aos alunos para tirar suas dúvidas com relação ao conteúdo das aulas.Abraço da Equipe Canal Brincando com Ideias.

    LEAVE YOUR COMMENT

    Your email address will not be published. Required fields are marked *