Escolar Documentos
Profissional Documentos
Cultura Documentos
Atividade
1:
Sensor de passagem
Nesta prtica vamos utilizar um emissor e um receptor de luz no infra-vermelho para
detectar a passagem de um corpo entre os dois. O emissor usado o TIL32, um LED
que emite luz em 940 nm. O receptor o TIL78, um foto-transistor que opera no
mesmo comprimento de onda. Ver figuras abaixo para um esquema simplificado de
ambos. Foto-transistores so componentes que funcionam como chaves ativadas por
luz. No esquema da figura abaixo, sem nenhuma luz incidente o TIL78 funciona
como uma chave aberta e na sada mediramos uma tenso de 5V. Com uma
quantidade grande de luz incidente, ele funcionaria como um diodo polarizado
diretamente que deixa passar toda a corrente com uma pequena queda de tenso
atravs dele. Nesse caso, a tenso de sada seria igual a essa pequena queda de tenso,
de 0,2 V para o TIL78.
Imagens
reproduzidas
de
http://dqsoft.blogspot.com.br/2013/01/led-e-
fototransistor-infravermelho.html
Hardware necessrio
Placa Arduino
LED emissor TIL32
Foto-transistor TIL78
LED no visvel
2 resistores de 220
1 resistor de 2,7 k
Breadboard
Circuito
No circuito esquematizado abaixo, o TIL32 deve ser posicionado distante vrios
centmetros do TIL78 apontando diretamente para este. O LED deve acender sempre
que algo bloqueie o caminho entre os TIL32 e TIL78.
220
TIL32
LED
5V
D8
220
Arduino
2,7k
TIL78
A0
GND
Cdigo
int led = 8;
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
if(analogRead(A0)>700) {
digitalWrite(led,HIGH);
delay(100);
digitalWrite(led,LOW);
}
delay(4);
}
Atividade 2:
Instantes de passagem
Utilizaremos agora um programa Processing para adquirir a tenso sobre o receptor
da Atividade 1. O programa plota a tenso em funo do tempo, mostrando
claramente os instantes de passagem de objetos entre o emissor e o receptor. Esses
instantes, contados a partir do incio do programa, so ento registrados em um
arquivo texto para anlise futura.
Hardware necessrio
Mesmo da Atividade 1.
Circuito
Mesmo da Atividade 1.
Cdigo
O cdigo Arduino da Atividade 1 modificado para incluir o envio da tenso sobre o
TIL78 pela porta serial. O cdigo Processing o da Atividade 22 da Prtica 1
modificado para plotar o grfico como uma linha contnua ligando os pontos e para
gravar em um arquivo texto, times.txt, todos os instante em que a luz do emissor
TIL32 impedida de atingir o receptor TIL78. O programa para quando qualquer
tecla do teclado pressionada.
Arduino
int led = 8;
void setup() {
Serial.begin(9600);
pinMode(led,OUTPUT);
}
void loop() {
Serial.println((analogRead(A0)));
if(analogRead(A0)>700) {
digitalWrite(led,HIGH);
delay(100);
digitalWrite(led,LOW);
}
delay(4);
}
Processing
import processing.serial.*;
Serial myPort;
int xPos = 1;
float inByte=height;
float inByte2;
PrintWriter output;
void setup() {
size(400,300);
output = createWriter("times.txt");
myPort = new Serial(this,Serial.list()[5],9600);
myPort.bufferUntil('\n');
background(0);
}
void draw(){
stroke(255,255,255);
line(xPos,height - inByte2,xPos,height - inByte);
if((inByte-inByte2)>100){
output.println(millis());
}
Atividade 3:
(baseado em exemplo disponvel em http://www.instructables.com/id/Simple-IR-
proximity-sensor-with-Arduino/?ALLSTEPS )
Sensor de proximidade no infra-vermelho
Utilizaremos os emissores (TIL32) e receptores (TIL78) das prticas anteriores para
implementar um sensor de proximidade. Para isso, um receptor colocado entre 4
emissores (ver seleo na figura abaixo) e isolado oticamente dos mesmos usando fita
preta para isolamento eltrico. Tanto o receptor quanto os emissores apontam para a
mesma direo. Sem nenhum objeto na frente do conjunto, nenhuma luz dos
emissores atinge o receptor. Por outro lado, caso um objeto fique na frente dos
mesmo, luz dos emissores ser refletida pelo objeto e atingir o receptor, baixando
sua tenso e indicando a presena do objeto. Alm disso, quanto mais prximo o
objeto, maior ser a quantidade de luz espalhada para o receptor e menor ser a
tenso de sado do mesmo. Podemos ento conectar um alto-falante ao circuito
soando com uma frequncia que aumenta com a proximidade do objeto. Com isso,
temos ao final um sensor de proximidade para objetos afastados de no mximo cerca
de 25 cm.
Hardware necessrio
Placa Arduino
1 foto-transistor TIL78
4 emissores LED TIL32
resistor de 100 k
Breadboard
Fita eltrica isolante
Alto-falante
Resistor de 100
Circuito
No circuito abaixo, utilizada uma campainha para indicar a proximidade ao
receptor, com ela no precisando de limitao extra de corrente. No entanto, como
usaremos no lugar alto-falantes de 8 , precisamos inserir um resistor de 100 em
srie para limitar a corrente, como em atividades anteriores.
Cdigo
// Simple Proximity Sensor using Infrared
// Description: Measure the distance to an obstacle using infrared light emitted by IR LED and
// read the value with a IR photodiode. The accuracy is not perfect, but works great
// with minor projects.
void setup(){
Serial.begin(9600); // initializing Serial monitor
pinMode(IRemitter,OUTPUT); // IR emitter LED on digital pin 2
digitalWrite(IRemitter,LOW);// setup IR LED as off
pinMode(11,OUTPUT); // buzzer in digital pin 11
}
void loop(){
distance = readIR(5); // calling the function that will read the distance and passing the "accuracy" to it
Serial.println(distance); // writing the read value on Serial monitor
buzzer();
}
Hardware required
Arduino board
Ultrasonic sensor HC-SR04
Breadboard
Circuit
Code
/* /*
1 HC-SR04 Ping distance sensor:
VCC to arduino 5v
2 GND to arduino GND
Echo to Arduino pin 7
3 Trig to Arduino pin 8
*/
4
Circuit
Before wiring the LCD screen to your Arduino we suggest to solder a pin header strip
to the 14 (or 16) pin count connector of the LCD screen, as you can see in the image
above. To wire your LCD screen to your Arduino, connect the following pins:
LCD RS pin to digital pin 12
LCD Enable pin to digital pin 11
LCD D4 pin to digital pin 5
LCD D5 pin to digital pin 4
LCD D6 pin to digital pin 3
LCD D7 pin to digital pin 2
Additionally, wire a 10K pot to +5V and GND, with it's wiper (output) to LCD
screens VO pin (pin3).
image developed using Fritzing. For more circuit examples, see the Fritzing project page
Code
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with
0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}
Atividade 6:
Sensor de distncia independente do computador
Combine as Atividade 4 e 5 para ler o resultado do sensor ultrassnico de distncia
na tela do visor LCD apenas (desabilite o envio da informao para a porta serial).
Conecte ento uma bateria de 9 volts, atravs de uma chave, entrada de potncia
externa da placa Arduino. Com isso, mostre o funcionamento do sensor de distncias
de forma completamente desacoplada do computador.