Wiki ADA

Projetos em Engenharia de Computação

Ferramentas do usuário

Ferramentas do site


programacao-arduino:analogread

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
programacao-arduino:analogread [2018/12/27 18:04]
marialuisa
programacao-arduino:analogread [2020/11/26 09:04] (atual)
bandeira
Linha 1: Linha 1:
-======AnalogRead e AnalogWrite=======+========AnalogRead e AnalogWrite========= 
 + 
 +=====Introdução===== 
 + 
 +As funções analogRead() e analogWrite() são funções análogas a digitalRead() e digitalWrite(),​ mas com valores analógicos. São utilizadas para ler e enviar, respectivamente,​ valores de tensão não-binários (diferentes de HIGH ou LOW) entre 0 e 1023, sendo que 0 representa 0V e 1023, 5V. 
  
-As funções analogRead() e analogWrite() são funções análogas a digitalRead () e digitalWrite(),​ mas com valores analógicos. São utilizadas para ler e enviar, respectivamente,​ valores de tensão não-binários (HIGH ou LOW) entre 0 e 1023, sendo que 0 representa 0V e 1023, 5V.  
 Ambas podem ser utilizadas nas portas analógicas da placa, assim como nas portas [[programacao-arduino:​ pwm|PWM]], entretanto, nesse caso, em um intervalo de 0 a 255. Ambas podem ser utilizadas nas portas analógicas da placa, assim como nas portas [[programacao-arduino:​ pwm|PWM]], entretanto, nesse caso, em um intervalo de 0 a 255.
  
 +=====Exemplo=====
  
 <code C> <code C>
Linha 18: Linha 22:
 int portOutPWM = 11; int portOutPWM = 11;
  
-int value, PWMvalue; //​Variáveis auxiliares+int value, PWMvalue; //​Variáveis auxiliares.
  
 void setup() { void setup() {
-  pinMode(portIn,​ INPUT); //​Declaração da porta analógica A0 como entrada +  pinMode(portIn,​ INPUT); //​Declaração da porta analógica A0 como entrada. 
-  pinMode(portOut,​ OUTPUT); //Declara a porta analógica A1 como saída +  pinMode(portOut,​ OUTPUT); //Declara a porta analógica A1 como saída. 
-  pinMode(portOutPWM,​ OUTPUT); //Declara a porta digital PWM 11 como saída+  pinMode(portOutPWM,​ OUTPUT); //Declara a porta digital PWM 11 como saída.
 } }
  
 void loop() { void loop() {
-  value = analogRead(0);​ //Leitura da tensão na porta A0 +  value = analogRead(0);​ //Leitura da tensão na porta A0. 
-  analogWrite(1,​ value); //Escrita na porta A1 do valor obtido anteriormente+  analogWrite(1,​ value); //Escrita na porta A1 do valor obtido anteriormente.
   ​   ​
-  //​Conversão do valor lido do intervalo de 0-1023 para 0-255 para ser utilizado na porta PWM+  //​Conversão do valor lido do intervalo de 0-1023 para 0-255 para ser utilizado na porta PWM.
   PWMvalue = (value*255)/​1023; ​   PWMvalue = (value*255)/​1023; ​
-  analogWrite(11,​ PWMvalue); //Escrita do valor correpondente na porta PWM+  analogWrite(11,​ PWMvalue); //Escrita do valor correpondente na porta PWM.
 } }
 </​code>​ </​code>​
 +
 +=====Principais Situações de Uso======
 +A função analogRead() é utilizada para obter leituras não-binárias,​ normalmente de sensores (de luminosidade,​ de umidade, de temperatura,​ etc), potenciômetros e similares. ​
 +
 +Da mesma maneira, analogWrite() é utilizada para enviar valores de tensão intermediários,​ entre 0 e 5V, em aplicações que controlam a luminosidade de LED's, a velocidade de motores, a geração de sinais analógicos e sinais de áudio, entre outros.
 +
 +=====Desafios=====
 +  - Utilzar um potenciômetro para controlar a luminosidade de um LED.
 +  - Realizar a leitura dos seguintes sensores, mostrando a leitura no monitor serial:
 +    - Luminosidade;​
 +    - Umidade;
 +    - Temperatura;​
 +    - Ultrassônico
 +    - Infravermelho;​
 +  - Controlar motores, variando sua velocidade e sentido de giro.
 +
 +====Missões====
 +  - Controlar a velocidade e sentido de giro um motor utilizando dois sensores de luminosidade,​ seguindo as condições:​
 +    - O motor gira no sentido do sensor que receber maior luminosidade;​
 +    - A velocidade do motor começa baixa, e vai aumentando gradativamente.
 +  - Controlar a velocidade de um motor utilizando a leitura de um sensor ultrassônico de modo que quanto menor a distância lida, menor a velocidade, e vice-versa.
programacao-arduino/analogread.1545941040.txt.gz · Última modificação: 2018/12/27 18:04 por marialuisa