Resolvemos fazer um passo a passo do nosso projeto para ficar fácil de todos entenderem, pois bem esse vai ser o nosso primeiro passo a passo e hoje o foco sera a parte física do projeto onde sera apresentado todo o embasamento pratico do circuito sem entrar em muito detalhes teóricos a grande parte teórica ficara para nosso segundo tutorial.
Nosso projeto até o momento constitui de realizar testes de aquisição e manipulação de dados, já que o projeto final tem como finalidade controlar a intensidade luminosa de um ambiente através de uma lampada sendo regulada através de um processo automático que sera realizado pelo nosso Arduíno através da aquisição de dados de um sensor LDR.
Lista de material
- Arduino UNO
- Sensor de luminosidade LDR
- Protoboard para realizar os teste
- Resistores para começar a regular a sensibilidade do LDR
- Led para teste
- Alguns fios para ligação no proto
Segue fotos da montagem pratica:
Segue o programa v 1.0:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sensorPin = A0;
int sensorValue = 0;
int outputValue = 0;
int led = 9;
void setup() {
lcd.begin(16, 2);
pinMode(led, OUTPUT);
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("LDR");
sensorValue = analogRead(sensorPin);
outputValue = map(sensorValue, 0, 350, 0, 100);
lcd.setCursor(6, 0);
lcd.print(sensorValue);
lcd.setCursor(0, 1);
lcd.print(outputValue);
analogWrite(led, sensorValue);
delay(100);
lcd.clear();
}
Código comentado:
Nesse ponto adicionamos a biblioteca do LCD e atribuímos os pinos de comunicação
* LCD RS pino 12
* LCD pino 11
* LCD D4 pino 5
* LCD D5 pino 4
* LCD D6 pino 3
* LCD D7 pino 2
* LCD R/W pino GND
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Adicionamos o pino A0 como entrada do nosso LDR e o pino 9 como saída de PWM para nosso LED e suas variáveis para manipulação de dados.
int sensorPin = A0;
int sensorValue = 0;
int outputValue = 0;
int led = 9;
Pegamos o sinal de entrada pela porta analógica A0 e salvamos na variavel " sensorValue"
sensorValue = analogRead(sensorPin);
outputValue = map(sensorValue, 0, 350, 0, 100);
lcd.setCursor(6, 0);
lcd.print(sensorValue);
Com os dados em sensorValue iremos controlar a intensidade do LED através de PWM
analogWrite(led, sensorValue);
delay(100);
Segue as fotos do nosso circuito:
OBS: Esse é o nosso primeiro teste vários fatores serão melhorados, no próximo passo a passo iremos regular a sensibilidade e fazer a mostragem dos dados em escala de porcentagem.
Nenhum comentário:
Postar um comentário