AULA 5 - Microcontroladores - Engenharia
PLANO DE AULA
CARGA HORÁRIA: 5 h
CARGA HORÁRIA TEÓRICA: 2 h CARGA HORÁRIA PRÁTICA: 3 h
MATERIAIS
Por aluno:
- 1 placa Arduino Uno
- cabo de comunicação/alimentação USB
- 1 computador PC com software Arduino IDE instalado
- 1 proto shield para montagens
- 1 potenciômetro;
- 1 resistor de 200 Ω
- 1 resistor de 10kΩ
- 1 led vermelho;
- 1 sensor de temperatura NTC;
- 1 sensor de temperatura LM35;
- cabos fêmea-macho
METODOLOGIA
- Exposição dialogada dos conteúdos disponíveis, em projetor multimídia.
- Navegação assistida em outros sites e portais, de conteúdos relacionados.
- Montagens práticas e desenvolvimento em computador de aplicativos.
- Testes de verificação e validação.
Portas Analógicas
É possível ler grandezas analógicas com o Arduino, além de valores digitais.
Para isto, existem 6 Portas analógicas para ENTRADA de dados:
- A0 (pino 14),
- A1 (pino 15),
- A2 (pino 16),
- A3 (pino 17),
- A4 (pino 18) e
- A5 (pino 19).
Não é necessário definir-se na função setup( ) se as portas serão usadas como entrada, ou saída.
A função de leitura das portas analógicas é a analogRead( PORTA )
O microcontrolador do Arduino dispõe de um Conversor Analógico-Digital (ADC) de 10 bits, o que significa capacidade de quantificar 1024 patamares de valor: 0 a 1023.
Ou seja, as tensões analógicas de entrada, que devem variar de 0 a 5 V, são quantificadas como:
- 0 - correspondente ao valor de 0 V (GND)
- 1 - correspondente ao valor de 1x(5 V - 0 V)/1024 = 0,0048828125 V
- 2 - correspondente ao valor de 2x(5 V - 0 V)/1024 = 0,009765625 V
- 3 - correspondente ao valor de 3x(5 V - 0 V)/1024 = 0,0146484375 V
- ...
- 1023 - correspondente ao valor de 5 V (VCC)
O programador deve saber como interpretar o número digital da conversão. Desta forma, podem ser lidos os mais variados sensores, desde que eles gerem um sinal de tensão de até 5V (limite permitido).
EXEMPLO 1: lendo dados de um potenciômetro
Para ler os valores diretamente em Volts:
void setup()
{
Serial.begin(9600);
}
void loop()
{
float valt;
int val = analogRead(0);
valt = (val*5.0)/1023;
Serial.println(valt);
}
EXEMPLO 2: lendo dados do potenciômetro para temporizar acionamento de led
Sensores
A leitura de valores analógicos é fundamental, porque a maioria dos sensores e transdutores fornece valor analógico, como saída.
O que é um sensor?
O que é um transdutor?
Circuitos com Sensores e Arduino
EXEMPLO 3: lendo um NTC e utilizando a equação de Steinhart-Hart
Outro projeto:
Termômetro com arduino - usando LM35
EXEMPLO 3: lendo o sensor de temperatura LM35
Código:
void setup()
{
Serial.begin(9600);
}
void loop()
{
float temp=analogRead(0);
float temperatura = 100*temp*(5.0/1023);
delay(100);
Serial.print("Temperatura [oC]: ");
Serial.println(temperatura);
}
EXEMPLO 5: Acionando leds em função da luminosidade do local
Neste exemplo, quando diminui a luminosidade no fotoresistor, o Arduino aciona das lâmpadas de emergência, no caso, leds.
| Uso da comunicação serial | AULA 5 - Leitura e escrita nas portas analógicas | PWM e acionamento motores >> |
|---|





