TP 2 MODUL 3

 [KEMBALI KE MENU SEBELUMNYA]


Percobaan 8 Tanpa Kondisi 

 Percobaan 8 Aplikasi I/O sederhana untuk Kontrol Air Kolam Ikan

1. Prosedur [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan sesuai kondisi



 
 
Prinsip Kerja :
Pada percobaan 8 tanpa kondisi, komponen utama dari rangakainnya adalah potensio yang terkoneksi dengan sensor pH meter dan sensor suhu sebagai input, dimana pada outputan berupa motor dc dan juga motor pwm yang terhubung dengan arduino bagian slave, dimana arduino uno sebagai mikrokontroler yang digunakan untuk menyimpan dan menjalankan program.

Pada rangkaian, digunakan 2 arduino uno yang masing-masingnya berfungsi sebagai master dan slave. Arduino master dihubungkan ke input, sementara arduino slave dihubungkan ke output.

Pada percobaan 8 tanpa kondisi, dimana ketika suhu > 25 dan pH > 7 maka motor dc akan berputar melawan arah jarum jam serta motor pwm akan membentuk sudut 45 derajat.
dimana ketika suhu < 25 dan pH > 7 maka motor dc tidak hidup dan motor pwm membentuk sudut -90, ketika suhu > 25 dan pH < 7 maka motor dc akan berputar searah dengan jarum jam, serta motor pwm kembali dengan sudut 45 derajat. ketika suhu < 25 dan pH < 7 maka motor dc akan berhenti dan motor pwm membentuk sudut +90. untuk motor dc itu inputan merupakan pin 9 pada arduino dan outputan pin 10 pada arduino.


Flowchart:



Arduino Master



Arduino Slave



Listing Program :
//MASTER 
#include  
SoftwareSerial mySerial(0, 1); // RX, TX 
void setup() { 
Serial.begin(9600);  // Inisialisasi komunikasi serial 
mySerial.begin(9600); // Inisialisasi komunikasi serial untuk komunikasi dengan Arduino Penerima 
} 
void loop() { 
//Baca sensor 
float suhu = bacaSensorSuhu(); 
float pH = bacaSensorpH(); 
// Kirim data suhu & pH ke Arduino Penerima 
mySerial.println(suhu); 
Serial.println(suhu); 
mySerial.println(pH); 
Serial.println(pH); 
delay(500); 
} 
float bacaSensorSuhu() { 
  // Baca sensor suhu 
  int sensorValue = analogRead(A0); 
  float suhu = (sensorValue * 5.0 / 1023) * 100.0; 
  return suhu;} 
  float bacaSensorpH() { 
  // Baca sensor pH 
  int sensorValue = analogRead(A1); 
  float pH = map(sensorValue, 0, 1023, 0, 14); 
  return pH; 
}
 
//SLAVE 
#include  
Servo myservo; 
int motorin = 9; 
int motorout = 10; 
void setup() { 
  Serial.begin(9600);  // Inisialisasi komunikasi serial 
  pinMode(motorin, OUTPUT); 
  pinMode(motorout, OUTPUT); 
  myservo.attach(6); 
} 
 
void loop() { 
  // Menunggu data suhu & pH masuk dari Arduino Pengirim 
  if (Serial.available() > 0) { 
    // Membaca data suhu & pH yang diterima 
    float suhu = Serial.parseFloat(); 
    float pH = Serial.parseFloat(); 
 
    // Lakukan sesuatu berdasarkan data suhu & pH 
    if (suhu > 25 && pH > 7) { 
      digitalWrite(motorin, HIGH); 
      digitalWrite(motorout, LOW); 
      myservo.write (93); 
    } if (suhu < 25 && pH > 7){ 
      digitalWrite(motorin, LOW); 
      digitalWrite(motorout, LOW); 
      myservo.write(3); 
    }if (suhu > 25 && pH < 7){ 
      digitalWrite(motorin, LOW); 
      digitalWrite(motorout, HIGH); 
      myservo.write (117); 
    } 
    if (suhu < 25 && pH < 7){ 
      digitalWrite(motorin, LOW); 
      digitalWrite(motorout, LOW); 
      myservo.write (180); 
    } 
   } 
} 

 

4. Kondisi [Kembali]

Tanpa Kondisi
HTML 
Rangkaian Simulasi  klik disini
Video Simulasi   klik disini
Listing Program klik disini














Tidak ada komentar:

Posting Komentar