MICROCONTROLLER
LABORATORIUM INSTRUMENTASI
Disusun Oleh :
Latihan 1 (https://wokwi.com/projects/387766311010400257)
1. Buatlah eksperimen dengan meggunakan 2 tombol Push Button untuk mengontrol
nyala pada LED di pin 13.- Jika tombol 1 On, LED nyala- Jika tombol 2 On, LED
padam
int led=13;
int pb1=2;
int pb2=3;
void setup(){
pinMode(led,OUTPUT);
pinMode(pb1,INPUT);
pinMode(pb2,INPUT);
}
void loop(){
if(digitalRead(pb1)==HIGH){
digitalWrite(led,HIGH);
}if(digitalRead(pb2)==HIGH) {
digitalWrite(led,LOW);
}
}
Latihan 2 (https://wokwi.com/projects/387769464857919489)
2. Buatlah eksperimen seperti gambar diatas.
- Jika saklar On, LED nyala dari 0-255 dg step 5 kemudian dari 255-0
dengan step yg sama.
- Jika saklar Off LED padam.
void setup() {
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
int switchState = digitalRead(switchPin);
if (switchState == HIGH) {
// Jika saklar On, ubah intensitas LED dari 0 ke 255
dengan step 5
for (int i = 0; i <= 255; i += 5) {
analogWrite(ledPin, i);
delay(50);
}
Latihan 3 (https://wokwi.com/projects/387771246642586625)
Buat program dengan ketentuan sebagai berikut:
- Ketika saklar 1 On, LED menyala dari LED-1 menuju ke LED-4.
- Jika saklar 2 On, maka reset (semua LED padam).
- Jika saklar 1 On lagi, maka nyala LED-1 menuju ke LED-4 dilaksanakan kembali.
void setup() {
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
for (int i = 0; i < numLEDs; ++i) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
int switchState1 = digitalRead(switchPin1);
int switchState2 = digitalRead(switchPin2);
if (switchState2 == HIGH) {
// Jika saklar 2 On, reset (matikan semua LED)
for (int i = 0; i < numLEDs; ++i) {
digitalWrite(ledPins[i], LOW);
}
} else if (switchState1 == HIGH) {
// Jika saklar 1 On, nyalakan LED dari LED-1 menuju LED-4
for (int i = 0; i < numLEDs; ++i) {
digitalWrite(ledPins[i], HIGH);
delay(500); // Delay untuk efek animasi, sesuaikan sesuai
keinginan
digitalWrite(ledPins[i], LOW);
}
}
}
Latihan 4 (https://wokwi.com/projects/387772028128580609)
Buat program untuk kontrol kecepatan nyala LED (rotasi kanan dan kiri)
menggunakan switch input,
- jika Sw2 On, maka delay-nya paling besar/lambat (1000ms) dan bila Sw1 On
delay-nya paling kecil/cepat (100ms)
int delayTime[] = {500, 500, 500, 500}; // Array delay untuk setiap
LED, default 500ms
void setup() {
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
for (int i = 0; i < numLEDs; ++i) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
int switchState1 = digitalRead(switchPin1);
int switchState2 = digitalRead(switchPin2);