Baixe o app para aproveitar ainda mais
Prévia do material em texto
ENTRADAS ANALÓGICAS - LDR Experimento 1 - “Theremin” com LDR e potenciômetro Material necessário: · Arduino UNO + cabo USB + computador · Potenciômetro de qualquer valor (ex: 10k, 100k) · Resistor de 1k ohms · LDR · Alto-falante · Protoboard, fios e jumpers O circuito abaixo usa duas entradas analógicas. Uma para obter a leitura de luz, e a outra para obter a posição do potenciômetro que será usada para especificar um intervalo de tempo. A quantidade de luz no LDR irá variar a tensão sobre o resistor de 1k (e consequentemente no pino A0). O mesmo ocorre no pino A1, que obtém seu valor do divisor de tensão formado pelo potenciômetro. A saída PWM varia de 0 a 255, portanto em um circuito perfeitamente calibrado, dividiríamos o valor lido em qualquer uma das entradas analógica por 4 (1024/4 = 256) para usá-lo diretamente na saída. Teste a programação abaixo #define FTE 12 #define LDR A0 #define POT A1 void setup() {} // pinMode é opcional com analogRead void loop() { int luz = analogRead(LDR); int pausa = analogRead(POT); delay(pausa * .25); int tom = luz * luz * luz / 16; // experimente outros valores tone(FTE, tom); } Atividade 1 – Implemente o Serial Monitor para verificar a saída do Sensor LDR void setup() { Serial.begin(9600); //Para aparecer no Serial Monitor } void loop() { Serial.print("Saída do LDR: "); Serial.println(luz); } Atividade 2 – Implemente um sinalizador com LED para indicar a falta de LUZ. Int led = 8; void loop() { if (luz>0 && luz<300){ digitalWrite(led, HIGH); } else{ digitalWrite(led, LOW); } FINAL #define FTE 12 #define LDR A0 #define POT A1 int led = 8; // Para acender o LED quando faltar LUZ void setup() { Serial.begin(9600); //Para aparecer no Serial Monitor pinMode (led, OUTPUT); } void loop() { int luz = analogRead(LDR); Serial.print("Saída do LDR: "); Serial.println(luz); if (luz>0 && luz<300){ digitalWrite(led, HIGH); } else{ digitalWrite(led, LOW); } int pausa = analogRead(POT); delay(pausa * .25); int tom = luz * luz * luz / 16; // experimente outros valores tone(FTE, tom); }
Compartilhar