Professional Documents
Culture Documents
Arduino Exercise 2
Arduino Exercise 2
13519106
Arduino Exercise 2
Exercise 2.1
Circuit link: Link Tinkercad Exercise 2.1
void setup() {
// Initiate serial monitor connection
Serial.begin(9600);
}
void loop() {
readTmp();
readPhoto();
readGas();
delay(1000);
}
void readTmp() {
int reading = analogRead(tmpSensorPin); // Read tmpSensorPin
float voltage = reading * (5000 / 1024.0); // Convert to V
float temperature = voltage / 10; // Convert to C
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" \xB0");
Serial.println("C");
void readPhoto() {
int reading = analogRead(photoSensorPin); // Read tmpSensorPin
Serial.print("Photo: ");
Serial.println(reading);
void readGas() {
int reading = analogRead(gasSensorPin);
Serial.print("Gas: ");
Serial.println(reading);
}
Output:
Exercise 2.2
Circuit link: Link Tinkercad Exercise 2.2
#include <Servo.h>
#include <LiquidCrystal.h>
// Serco setup
int pos = 0;
Servo servo;
//Speaker setup
int frequency = 262;
int piezoSensorPin = 10;
//LCD setup
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
servo.attach(1, 500, 2500); //Atach servo
lcd.begin(16, 2); //Set LED rows and columns
}
void loop()
{
writeServo();
writeSpeaker();
writeLCD();
}
void writeServo() {
for (pos=0; pos<=180; pos++){
servo.write(pos);
delay(10);
}
void writeSpeaker() {
tone(piezoSensorPin, frequency, 1000);
delay(1000);
}
void writeLCD() {
lcd.setCursor(0, 0);
lcd.print("Shifa Salsabiila");
lcd.setCursor(0, 1);
lcd.print("13519106");
for (int i=0 ; i<=16; i ++) {
lcd.scrollDisplayLeft();
delay(400);
}
}
Exercise 2.3
Circuit link: Link Tinkercad Exercise 2.3
#include <Servo.h>
#include <LiquidCrystal.h>
#include <Wire.h>
// Servo setup
int pos = 0;
Servo servo;
//Speaker setup
int frequency = 262;
int piezoSensorPin = 10;
//LCD setup
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
Wire.begin(4); //Initiate i2c bus
Wire.onReceive(receiveEvent);
lcd.begin(16, 2); //Set LED rows and columns
Serial.begin(9600); // Initiate serial monitor connection
}
void loop()
{
delay(100);
void writeServo() {
void writeSpeaker() {
tone(piezoSensorPin, frequency, 500);
}
void writeLCD() {
String row_1_text = "Shifa Salsabiila";
String row_2_text = " 13519106 ";
void clearLCD() {
for (int i=0; i<=16; i++) {
lcd.setCursor(i, 0);
lcd.print(" ");
lcd.setCursor(i, 1);
lcd.print(" ");
}
}
Serial.println();
Ketika batas ambang (threshold) untuk setiap sensor telah dicapai, maka ketiga aktuator
(speaker, LCD, dan continuous servo akan menyala). Ketika terdapat setidaknya salah satu
batas ambang yang tidak terpenuhi, maka ketiga aktuator akan mati.