Modul 3 Communication
1. Rangkai semua komponen sesuai kondisi yang dipilih
2. buat program di aplikasi arduino IDE
3. setelah selesai masukkan program ke arduino di proteus
4. jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai
2. Hardware dan diagram blok
[Kembali]
1. Arduino Uno
2. LED
4. Resistor
Diagram Blok :
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
→ Gambar Rangkaian Sebelum Disimulasikan
→ Gambar Rangkaian Setelah Disimulasikan
PRINSIP KERJA
saat program dijalankan dan masuk ke komponen arduino MASTER. Selanjutnya, program terus berjalan dalam loop utama, pada saat awal jalannya rangkaian maka akan terjadi proses perhitungan jumlah switch yang kondisi on agar bisa menjalankan perintah sesuai kondisi yang ada. Dimana untuk kondisinya berupa saat sejua switch on maka LED 0-2 aktif bersamaan dan apabila 5 switch on maka akan terjadi running pada LED 2-6. Pada bagian loop MASTER untuk kondisi pertama disebut kondisi A dan kondisi kedua disebut kondisi B.
Perintah pada MASTER ini nantinya akan dikirim ke SLAVE dimana nanti SLAVE ini yang terhubung ke output LED. pada baian SLAVE ini akan diatur HIGH-LOW dari LED agar sesuai dengan kondisi A dan B
4. FlowChart [Kembali]
//MASTER
int sw[] = {2,3,4,5,6,7}; // Pin untuk switch
int i, sw_on;
void setup() {
Serial.begin(9600);
for(i=0; i<6; i++){
pinMode(sw[i], INPUT_PULLUP); // Mengatur semua switch sebagai input pull-up
}
}
void penjumlahan(){
sw_on = 0;
for(i=0; i<6; i++){
sw_on += digitalRead(sw[i]);
}
}
void loop() {
penjumlahan();
if (sw_on == 6){ // Jika semua switch aktif
Serial.write('A');
}
else if (sw_on == 5){ // Jika ada 5 switch aktif
Serial.write('B');
}
else{
Serial.write('a');
}
}
//SLAVE
int led[] = {2, 3, 4, 5, 6, 7}; // Pin untuk LED
int i;
void setup() {
Serial.begin(9600);
for (i = 0; i < 6; i++) {
pinMode(led[i], OUTPUT);
}
}
void loop() {
if (Serial.available()) {
char message = Serial.read();
if (message == 'A') { // Jika semua switch aktif
for (i = 0; i < 3; i++) {
digitalWrite(led[i], HIGH); // Mengaktifkan semua LED dari 0-2
}
// Pastikan LED dari 3 sampai 6 mati
for (i = 3; i < 6; i++) {
digitalWrite(led[i], LOW);
}
} else if (message == 'B') { // Jika ada 5 switch aktif
for (i = 2; i < 7; i++) {
digitalWrite(led[i - 1], HIGH); // Mengaktifkan running LED dari 2-6
delay(100);
digitalWrite(led[i - 1], LOW);
// Pastikan LED yang tidak bergerak (LED 2 dan 7) mati
digitalWrite(led[0], LOW);
digitalWrite(led[5], LOW);
}
} else if (message == 'a') { // Jika tidak ada switch aktif
for (i = 0; i < 6; i++) {
digitalWrite(led[i], LOW);
}
}
}
}
b. Flowchart
5. Kondisi [Kembali]Kondisi : Percobaan 1 Kondisi 3
Semua Switch dalam kondisi Pull-up, semua switch mengaktifkan 3 led sementara 5 switch mengaktifkan running led dari led kedua hingga ke enam
6. Video Simulasi [Kembali]
7. Download File
[Kembali]
Download Simulasi Rangkaian Klik disini
Download HTML Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Tidak ada komentar:
Posting Komentar