#include <SoftwareSerial.h>
// Tentukan pin RX dan TX untuk SoftwareSerial
SoftwareSerial mySerial(10, 11); // RX = Pin 10 (RX), TX = Pin 11 (TX)
// Definisikan pin untuk sensor
#define trigPin 2
#define echoPin 3
#define lightSensor A1
#define potentiometer A2
void setup() {
// Serial untuk debugging atau komunikasi dengan komputer (opsional)
Serial.begin(9600);
// SoftwareSerial untuk komunikasi antar Arduino
mySerial.begin(9600);
// Setup untuk sensor ultrasonic
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// Ultrasonic Sensor: Menghitung jarak
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) * 0.0343; // Hitung jarak dalam cm
// Membaca data dari sensor cahaya
int sensorCahaya = analogRead(lightSensor);
// Membaca nilai dari potensiometer
int sensorPotensio = analogRead(potentiometer);
// Kirim data ke Arduino kedua melalui SoftwareSerial
mySerial.print(distance);
mySerial.print(",");
mySerial.print(sensorCahaya);
mySerial.print(",");
mySerial.println(sensorPotensio);
// Debugging: Tampilkan di Serial Monitor Arduino pertama (opsional)
Serial.print("Distance: ");
Serial.print(distance);
Serial.print(" cm, Light Sensor: ");
Serial.print(sensorCahaya);
Serial.print(", Potentiometer: ");
Serial.println(sensorPotensio);
delay(1000); // Kirim data setiap 1 detik
}