Laporan Akhir 1 uP dan uC Modul 3




Percobaan 1

Komunikasi UART Menggunakan Arduino

1. Tujuan
 [Kembali]
  
  1. Memahami prinsip kerja PWM pada mikrokontroler
  2. Memahami prinsip kerja ADC pada mikrokontroleR
  3. Memahamai prinsip Interupt pada mikrokontroler
  4. Menggunakan PWM dan ADC pada Arduino
2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino Uno



2. Push Button



3. LED



Diagram Blok :



3. Video Simulasi [Kembali]






4. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian Simulasi :





Prinsip Kerja :
Pada rangkaian ini, tombol terhubung ke pin A0-A3, 12, dan 13 Arduino sebagai input, sedangkan 8 LED terhubung ke pin 2-9 sebagai output. Saat tombol pertama (terhubung ke pin 13) ditekan, LED pertama aktif. Namun, ketika tombol kedua dan seterusnya ditekan, LED berikutnya tidak aktif karena program Arduino membaca input yang sama dengan kondisi awal, menyebabkan LED tidak berubah. LED pertama bisa aktif karena menerima logika LOW saat ditekan, sehingga menyebabkan perbedaan logika antara kondisi awal dan akhir sehingga LED pertama menyala.


4. Flowchart dan Listing Program [Kembali]

Flowchart :

Master


Slave


//MASTER
#define DS1 2
#define DS2 3
#define DS3 4
#define DS4 5
#define DS5 6
#define DS6 7
#define DS7 8
#define DS8 9
void setup()
{
 Serial.begin(9600);
 pinMode(DS1, INPUT);
 pinMode(DS2, INPUT);
 pinMode(DS3, INPUT);
 pinMode(DS4, INPUT);
 pinMode(DS5, INPUT);
 pinMode(DS6, INPUT);
 pinMode(DS7, INPUT);
 pinMode(DS8, INPUT);
}
void loop()
{
 int count = 0;
  for (int pin = DS1; pin <= DS8; pin++) {
    count += digitalRead(pin);
  }
 if (count == 7)
 {
 Serial.write('A');
 }
 else if (count == 4)
 {
 Serial.write('B');
 }
 delay(20);
}

//SLAVE
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
char message;
void setup()
{
 Serial.begin(9600);
 for (int i = 0; i < 8; i++)
 {
 pinMode(led[i], OUTPUT);
 }
}
void loop()
{
 if (Serial.available())
{
 message = Serial.read();
 if (message == 'A')
 {
 digitalWrite(led[0], 1);
 }
 else if (message == 'B')
 {
 digitalWrite(led[3], 1);
 digitalWrite(led[7], 1);
 }
}
delay(20);
 digitalWrite(led[0], 0);
 digitalWrite(led[1], 0);
 digitalWrite(led[2], 0);
 digitalWrite(led[3], 0);
 digitalWrite(led[4], 0);
 digitalWrite(led[5], 0);
 digitalWrite(led[6], 0);
 digitalWrite(led[7], 0);
}

5. Link Download [Kembali]

HTML                                klik disini
Video Percobaan                klik disini
Listing Program                 klik disini
Datasheet Arduino             klik disini
Datasheet Keypad              klik disini
Datasheet Motor Servo      klik disini
















Tidak ada komentar:

Posting Komentar