Just another free Blogger theme

*Klik teks untuk menuju

1. Prosedur [Kembali]

Langkah-langkah percobaan :

1. Siapkan alat dan bahan yaitu dengan komponen utama Arduino Uno, Infrared Sensor, IC I2C, Keypad dan Motor DC

2. Rangkai sesuai gambar percobaan

3. Rancang kerja rangkaian sesuai flowchat

4. Tekan tombol “Play” untuk menjalankan simulasi


2. Hardaware dan Diagram Blok [Kembali]

  • Arduino
  • LCD
  • Motor DC








3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]








 Prinsip Kerja

Pada Rangkaian ini semua switch pull down dimana ketika switch 1,3 hidup maka motor akan berputar ke kiri dan ketika switch 2,4 motor akan berputar ke kanan 
4. Flowchart dan listing Program [Kembali]

Flowchart :





Listing Program :
#include <LedControl.h> // Inisialisasi modul MAX7219 LedControl lc = LedControl(5,6,7,1); // Pin DIN, CLK, LOAD (CS) dihubungkan ke Arduino byte patterns[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // Pola LED untuk ditampilkan // Pengaturan pin untuk dipswitch dan motor const int potensio = A0; const int infrared = 8; const int enable = 4; const int motor1Pin1 = 2; const int motor1Pin2 = 3; void setup() { // Set up dot matrix module lc.shutdown(0, false); // Mengaktifkan modul lc.setIntensity(0, 8); // Mengatur kecerahan (0-15) lc.clearDisplay(0); // Membersihkan tampilan // Mengatur pin-pin sebagai output untuk motor pinMode(enable, OUTPUT); pinMode(infrared, INPUT); pinMode(motor1Pin1, OUTPUT); pinMode(motor1Pin2, OUTPUT); Serial.begin(9600); } void loop() { // Membaca nilai dari lm35 float adc = analogRead(potensio); Serial.println(adc); // Membaca nilai dari infrared int infrarednya = digitalRead(infrared); // Mengendalikan arah motor berdasarkan nilai dipswitch if(infrarednya == HIGH){ digitalWrite(enable, HIGH); if (adc <= 256) { // Maju digitalWrite(motor1Pin1, HIGH); digitalWrite(motor1Pin2, LOW); displayArrowRight(); } else if (adc >= 768) { // Mundur digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, HIGH); displayArrowLeft(); } else { // Berhenti digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, LOW); displayLetterX(); } } else{ digitalWrite(enable, LOW); } } // Fungsi untuk menampilkan panah pada dot matrix void displayArrow(byte pattern) { for (int row = 0; row < 8; row++) { lc.setRow(0, row, pattern); } delay(500); // Mengatur kecepatan animasi lc.clearDisplay(0); delay(500); // Jeda sebelum membaca input lagi } // Menampilkan panah ke kanan void displayArrowRight() { byte arrowRight[8] = { B00011000, B00110000, B01100000, B11111111, B01100000, B00110000, B00011000, B00000000 }; for (int row = 0; row < 8; row++) { lc.setRow(0, row, arrowRight[row]); } } // Menampilkan panah ke kiri void displayArrowLeft() { byte arrowLeft[8] = { B00011000, B00001100, B00000110, B11111111, B00000110, B00001100, B00011000, B00000000 }; for (int row = 0; row < 8; row++) { lc.setRow(0, row, arrowLeft[row]); } } // Menampilkan huruf "X" void displayLetterX() { byte letterX[8] = { B10000001, B01000010, B00100100, B00011000, B00011000, B00100100, B01000010, B10000001 }; for (int row = 0; row < 8; row++) { lc.setRow(0, row, letterX[row]); } }


5. Video Demo [Kembali]




6. Kondisi [Kembali]

    Semua Switch pull-down, switch 1 dan 3 motor ke kiri, switch 2 dan 4 panah ke kanan dan motor  ke kanan


7. Download File [Kembali]
HTML Disini
Simulasi Disini
Video Simulasi Disini
Listing Program Di sini
DataSheet LCD Disini 













0 komentar:

Posting Komentar