this code
#include <Stepper.h>
#include <MilliStopper.h>
#include (Stepper.h)
cosnt int stepsPerRevolution = 200; // Seusaikan step motor
// Inisialisasi Pin in1 =8, in2=9, in3=10, in4=11.
stepper myStepper(stepsPerRevolution,8,10,9,11);
cosnt int button1Pin = 3; // Button 1 di Pin 3 (menjemur jemuran)
cosnt int button2Pin = 4; // Button 2 di Pin 4 (menarik jemuran)
cosnt int hujanPin = A0; // Pin analog tempat sensor hujan terhubung
int kondisi = 0; // 0; tidak hujan, 1;hujan
//Jumlah step yang diperlukan untuk 39 putaran
cosnt int stepsFor39Turns + 7800; // 39 putaran 200 step/putaran = 7800 step
void setup() (
Serial.begin(9600); //Memulai serial monitor
pinMode(button1Pin. INPUT_PULLUP); // Menggunakan pullup internal
pinMode(button2Pin. INPUT_PULLUP); // Menggunakan pullup internal
pinMode(hujanPin.INPUT);
myStepper.setSpeed(100); // Mengatur kecepatan atau speed dari motor stepper
Serial.println("Sistem Jemuran Otomatis Siap");
}
void loop(){
int hujan Value = analogread(hujanPin);
Serial.print("Nilai Sensor Hujan;");
Serial.print(hujanValue);
//Logika deteksi kondisi hujan atau cerah
if (hujanValue <= 500 && kondisi ==0) { // Kondisi saat hujan terdeteksi
Serial.ptintln("Deteksi;Hujan");
Serial.ptintln("Menarik Jemuran (39 putaran)...");
myStepper.step(stepsFor39Turns); // Menarik jemuran (39 putaran)
delay(1000);
kondisi = 1; // Menandakan kondisi hujan
} else if (hujanValue >=700 && kondisi == 1 ) { // kondisi saat cerah
Serial.println("Deteksi; Cerah");
Serial.println("Menjemur pakaian (39 putarran)...");
myStepper.step(-stepsFoor39Turns); // Menjemur pakaian (39 putaran)
delay(1000);
kondisi = 0; // Menandakan kondisi cerah
}
// Logika untuk menarik pakaian (button 2)
if (digitalRead(button2Pin) == LOW){
Serial.printIn("Tombol 2 ditekan: Menarik jemuran...");
myStepper.step(-stepsFor39Turns): //Bergerak mundur untuk menjemur jemuran
}
//Logika untuk menjemur pakaian (button 1)
if (digitalRead(button1Pin) == LOW) {
Serial.printIn("Tombol 1 ditekan: Menjemur pakaian...");
myStepper.step(-stepFor39Turns): // Bergerak mundur untuk menjemur jemuran
}
// Jika kedua tombol tidak ditekan. motor akan berhenti
if (digitalRead(button1Pin) == HIGH && digitalRead(button2Pin) == HIGH) {
Serial.printIn("Kedua tombol dilepas: Motor berhenti.");
//Tidak melakukan apapun saat tombol dilepas
}
Serial.printIn("Sistem Stand by");