Professional Documents
Culture Documents
Tujuan Praktek :
a. Mengetahui cara menghubungkan (antarmuka) sensor ke board mikrokontroler Arduino Uno
b. Membuat aplikasi pengontrolan yang menggunakan komponen I/O : sensor dan LED
Alat/Komp onen :
No Perangkat/Komp onen
Jumlah
No Perangkat/Komp onen
Jumlah
PIR
Protoboard
LED
LDR
Resistor 220
LM35
10
Kabel jumper
Secukupnya
Kegiatan Praktek :
a. Rangkai dan ujilah sampai berhasil, aplikasi antarmuka sensor P4.1 sampai P4.4.
b. Rancang, rangkai, dan ujilah satu aplikasi antarmuka yang menggunakan sensor dan LED (DIY P4.5).
c. Buat dan kumpulkan Laporannya.
LightDependentResistor(LDR)LightSensor
LM35TemperatureSensor
PassiveInfraRed(PIR)MotionSensor
SHARPGP2Y0A02IRDistanceSensor
A. BLINKING RATE
A. TEMPERATURE MONITOR
/*
LDR blinking rate sketch
Blink a LED with a rate based on light intensity upon an LDR
*/
/*
LM35 sketch
Prints the temperature to the Serial Monitor
*/
void setup()
{
pinMode(ledPin, OUTPUT); // enable output on the led pin
void setup()
{
Serial.begin(9600);
}
Serial.begin(9600);
}
void loop()
{
int rate = analogRead(ldrPin); // read the analog input
Serial.println(rate);
digitalWrite(ledPin, HIGH); // set the LED on
delay(rate);
// wait duration dependent on light level
digitalWrite(ledPin, LOW); // set the LED off
delay(rate);
}
B. DIMMER
void loop()
{
int tempVal = analogRead(lm35Pin);
Serial.print(tempVal); Serial.print(" > ");
float millivolts = (tempVal / 1024.0) * 5000;
float celsius = millivolts / 10; // sensor output is 10mV / Celsius
Serial.print(celsius);
Serial.print(" degrees Celsius, ");
Serial.print( (celsius * 9)/ 5 + 32 ); // converts to fahrenheit
Serial.println(" degrees Fahrenheit");
delay(1000); // wait for one second
}
B. TEMPERATURE INDICATOR
/*
LDR dimmer sketch
Dim a LED based on light intensity upon an LDR
*/
/*
LM35 sketch
Turn on a LED if temperature is greater than a threshold
*/
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int ldrVal = analogRead(ldrPin);
Serial.println(ldrVal);
delay(200);
ldrVal = constrain(ldrVal, 20,150);
int ledLevel = map(ldrVal,20,150, 255,0);
analogWrite (ledPin, ledLevel);
}
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop()
{
int tempVal = analogRead(lm35Pin);
long celsius = (tempVal * 500L) /1024; // 10 mV per degree celcius
Serial.print(celsius);
Serial.print(" degrees Celsius: ");
if(celsius > threshold)
{
digitalWrite(ledPin, HIGH); // LED on
Serial.println("LED is ON");
}
else
{
digitalWrite(ledPin, LOW);
Serial.println("LED is OFF"); // LED off
}
delay(1000); // wait for one second
}
/*
*/
PIR sketch
Turn on a LED if motion is detected
/*
IR-distance sketch
Display distance of object from Sharp Distance Sensor 2Y0A02
(on Serial Monitor)
*/
const int irPin = 0; // choose the pin for the IR distance sensor
float irVal, cm; //Must be of type float for pow()
void setup() {
Serial.begin(9600);
}
void loop() {
int pirVal = digitalRead(pirPin); // read input value
if (pirVal == HIGH)
// check if the input is HIGH
{
digitalWrite(ledPin, HIGH); // turn LED on if motion is detected
delay(500);
digitalWrite(ledPin, LOW); // turn LED off
}
}
void loop() {
irVal = analogRead(irPin);
//inches = 4192.936 * pow(sensorValue,-0.935) - 3.937;
cm = 10650.08 * pow(irVal,-0.935) - 10;
delay(100);
Serial.print("Distance (cm) : ");
Serial.println(cm);
}
DIY 4.5
.