WELCOME TO MY BLOG

MOTOR DC DENGAN ARDUINO




1. Rangkaian Simulasi [kembali]

Prinsip Kerja:

Rangkaian terdiri dari 3 switch SPDT, IC L293D, motor DC dan
LCD dengan menggunakan mikrokontroller Arduin Mega 2560 dimana switch SPDT
terhubung ke pin digital (16, 17, 18), untuk IC L293D terhubung ke pin digital
(4, 5, 6, 7) dan LCD terhubung ke pin digital (31, 33, 35, 37, 39, 41). Pertama
untuk menjalankan simulasi klik tombol PLAY, kemudian untuk memulai operasi,
maka ditekan tombol RESET. Setelah itu apabila switch satu ( SW 0) berkondisi
HIGH dan dua switch lainnya berkondisi LOW, maka putaran motor akan lambat dan
LCD menampilkan tulisan “motor pelan”, apabila switch dua ( SW 1) berkondisi
HIGH dan dua switch lainnya berkondisi LOW, maka putaran motor akan sedang dan
LCD menampilkan tulisan “motor sedang”, apabila switch tiga ( SW 2) berkondisi
HIGH dan dua switch lainnya berkondisi LOW, maka putaran motor akan cepat dan
LCD menampilkan tulisan “motor cepat”, apabila seluruh switch berkondisi LOW,
maka motor tidak berputar dan LCD menampilkan tulisan “motor mati” dan apabila
keadaan switch berbeda dari keadaan yang ada sebelumnya, maka motor akan mati
dan LCD menampilkan tulisan “tidak ada kondisi”.




2. Listing Program [kembali]

#include
<LiquidCrystal.h>                            //library
untuk LCD
LiquidCrystal lcd (41,39,37,35,33,31);           // menunjukkan pin yang dihubungkan
pada di LCD
int m1 = 7;                                                       //pin
m1 pada L293 dihubungkan ke pin 14 pada Arduino
int m2 = 6;                                                       //pin
m2 pada L293 dihubungkan ke pin 15 pada Arduino
int m3 = 5;                                                       //pin
m3 pada L293 dihubungkan ke pin 16 pada Arduino
int m4 = 4;                                                       //pin
m4 pada L293 dihubungkan ke pin 17 pada Arduino
const int s1 = 16;                                             // switch 1 dihubungkan ke pin 19
pada Arduino
const int s2 = 17; 
                                           // switch 2 dihubungkan ke pin 20
pada Arduino
const int s3 = 18;                                             // switch 3 dihubungkan ke pin 21
pada Arduino
void setup()                                                     // Settingan kondisi yang akan digunakan
{                                         
pinMode(m1,OUTPUT);                                //
menjelaskan bahwa pin m1 sebagai output
pinMode(m2,OUTPUT);                                //
menjelaskan bahwa pin m2 sebagai output
pinMode(m3,OUTPUT);                                //
menjelaskan bahwa pin m3 sebagai output
pinMode(m4,OUTPUT);                                //
menjelaskan bahwa pin m4 sebagai output
pinMode(s1, INPUT);                                     // menjelaskan switch 1 sebagai
input
pinMode(s2, INPUT);                                     // menjelaskan switch 2 sebagai
input
pinMode(s3, INPUT);                                     // menjelaskan switch 3 sebagai
input
digitalWrite(s1, HIGH);                                 //
menjelaskan kondisi awal dari switch 1 berlogika high
digitalWrite(s2, HIGH);                                 //
menjelaskan kondisi awal dari switch 2 berlogika high
digitalWrite(s3, HIGH);                                 //
menjelaskan kondisi awal dari switch 3 berlogika high
lcd.begin(16,2);
}
void
loop()                                                      //
Perulangan dari semua kondisi yang ditetapkan
{
int switch1 = digitalRead (s1);                         // tetapkan switch 1
sebagai input dengan   pembacaan digital
int switch2 = digitalRead (s2);                         // tetapkan switch 1
sebagai input dengan   pembacaan digital
int switch3 = digitalRead (s3);                        // tetapkan switch 1
sebagai input dengan pembacaan digital

 if (switch1 == LOW && switch2 == LOW
&& switch3 == LOW)
 {
  lcd.setCursor (0,0);                                       // posisi kursor lcd
  lcd.print ("Motor Mati");                               // cetak LCD
  lcd.clear();                                                     //
reset LCD
  digitalWrite (m1,LOW);                               // m1 kondisi mati
  digitalWrite (m2,LOW);                               // m1 kondisi mati
  digitalWrite (m3,LOW);                               // m1 kondisi mati
  digitalWrite (m4,LOW);                               // m1 kondisi mati
 }
 else if (switch1 == HIGH && switch2 ==
LOW && switch3 == LOW)
 {
  lcd.setCursor (0,0);                                       // posisi kursor lcd
  lcd.print ("Motor Pelan");                             // cetak pada lcd
  lcd.clear();                                         //
reset LCD
  delay(1);                                            //
delay selama 1 ms
  analogWrite (m1,80);                        // m1
kondisi dengan nilai analog 50 dari 255
  analogWrite (m2,0);                          // m2 kondisi mati
  analogWrite (m3,80);                        // m3 kondisi dengan nilai analog 50 dari 255
  analogWrite (m4,0);                          // m4 kondisi mati
 }
 else if (switch1 == LOW && switch2 ==
HIGH && switch3 == LOW)
 {
  lcd.setCursor (0,0);                           // posisi lcd
  lcd.print ("Motor Sedang");              // cetak tulisan pada LCD
  lcd.clear();                                         //
reset lcd
  delay(1);                                            //
delay selama 1 ms
  analogWrite (m1,150);                      // m1 kondisi dengan nilai analog 150 dari 255
  analogWrite (m2,0);                          // m2 kondisi mati
  analogWrite (m3,150);                      // m3 kondisi dengan nilai analog 150 dari 255
  analogWrite (m4,0);                          // m4 kondisi mati
 }
 else if (switch1 == LOW && switch2 ==
LOW && switch3 == HIGH)
 {
  lcd.setCursor (0,0);                           // posisi lcd
  lcd.print ("Motor Cepat");                 // cetak tulisan pada lcd
  lcd.clear();                                         //
reset lcd
  delay(1);                                            //
delay selama 1 ms
  analogWrite (m1,255);                      // m1 kndisi dengan nilai 200 dari 255
  analogWrite (m2,0);                          // m2 kondisi mati
  analogWrite (m3,255);                      // m3 kondisi denga nilai 200 dari 255
  analogWrite (m4,0);                          // m4 kondisi mati
 }
 else
 {
  lcd.setCursor (0,0);                           // posisi lcd     
  lcd.print ("Tidak Ada Kondisi !!");   // cetak tulisan pada lcd
  lcd.clear();                                         //
reset lcd
  analogWrite (m1,0);                          // m1 kondisi mati
  analogWrite (m2,0);                          // m2 kondisi mati
  analogWrite (m3,0);                          // m3 kondisi mati
  analogWrite (m4,0);                          } } // m4 kondisi mati



3. Link Download [kembali]

File HTML - Download

File Proteus - Download

File Program - Download

0 komentar:

Posting Komentar

www.lowongankerjababysitter.com www.lowongankerjapembanturumahtangga.com www.lowonganperawatlansia.com www.lowonganperawatlansia.com www.yayasanperawatlansia.com www.penyalurpembanturumahtanggaku.com www.bajubatikmodernku.com www.bestdaytradingstrategyy.com www.paketpernikahanmurahjakarta.com www.paketweddingorganizerjakarta.com www.undanganpernikahanunikmurah.com