Anda di halaman 1dari 5

1.

AKTIFITAS 1A
1.1 Jelaskan apa yg terjadi pada simulasi : Setelah push-button ditekan maka lampu akan
menyala, lalu saat ditekan lagi, lampu tidak mati, melainkan tetap menyala.
1.2 Input pull up adalah
1.3 Maksud dari perintah :
a. pinMode(0,INPUT) = maka kita membutuhkan sebuah resistor pull-up/pull-down
diluarnya (eksternal)
b. pinMode(0,INPUT_PULLUP) = kita tidak membutuhkan resistor eksternal lagi, karena
resistor internal yang ada di arduino telah diaktifkan
2. AKTIFITAS 1B
Setelah disimulasikan, tidak ada perbedaan yang terjadi antara aktifitas 1B dengan aktifitas 1A.
3. AKTIFITAS 1C
Setelah disimulasikan, tidak ada perbedaan yang terjadi antara aktifitas 1B dengan aktifitas 1A.
4. AKTIFITAS 2A
Setelah disimulasikan, ketika push-button yang terhubung dengan kaki 0 pin arduino ditekan,
LED menyala; sedangkan saat push-button yang terhubung pada kaki 1 pin arduino ditekan, LED
mati.
5. AKTIFITAS 2B
Setelah disimulasikan, ketika push-button yang terhubung dengan kaki 0 pin arduino ditekan
tanpa dilepas, LED akan nyala-mati dengan selang waktu; sedangkan saat push-button yang
terhubung pada kaki 1 pin arduino ditekan lama, maka LED akan mati.
6. AKTIFITAS 2C
Setelah disimulasikan, ketika push-button yang terhubung dengan kaki 0 pin arduino ditekan
saja, maka LED akan berkedap-kedip; sedangkan saat push-button yang terhubung pada kaki 1
pin arduino ditekan biasa, maka LED akan langsung mati.
7. AKTIFITAS 2D
Setelah disimulasikan, tidak ada perbedaan yg terjadi antara aktifitas 2c dengan aktifitas 2D
8. AKTIFITAS 3B
void setup() {
// put your setup code here, to run once:
pinMode(0,INPUT_PULLUP);
pinMode(1,INPUT_PULLUP);
DDRB=0xFF;
PORTB=0xFF;
}

bool inp1,inp2;
byte stat=0,outB,i=0;
long prevTime,currTime;
void loop() {
// put your main code here, to run repeatedly:
inp1 = !digitalRead(0); //baca input
inp2 = !digitalRead(1); //baca input
currTime=millis();

if(inp1 ) stat=1;
if(inp2 ) stat=0;

if(stat==1)
{
if((currTime-prevTime) >=500)
{
outB=~(0b1000>>i);
i++;
if(i==4) i=0;
prevTime=currTime;
}
}

if(stat==0) outB=0xFF;

PORTB=outB; //kirim output


}

Hasil simulasi :
9. AKTIFITAS 4A

void setup() {
// put your setup code here, to run once:
pinMode(0,INPUT_PULLUP);
pinMode(1,INPUT_PULLUP);
pinMode(2,INPUT_PULLUP);

DDRB=0xFF;
PORTB=0xFF;

}
long prevTime,currTime;
bool inp1,inp2,inp3;
byte stat=0,outB,i=0;
void loop() {
// put your main code here, to run repeatedly:
inp1 = !digitalRead(2); //baca input
inp2 = !digitalRead(0);
inp3 = !digitalRead(1);//baca input
currTime=millis();

if(inp1 ) stat=1;
if(inp2 ) stat=0;
if(inp3) stat=2;
if(stat==1)
{
outB=~(0b0001<<i);
i++;
if(i==4) i=0;
delay (500);

if(stat==0) outB=0xFF;
//kirim output

if(stat==2)
{
outB=~outB;
delay(500);

}
PORTB=outB;
}
10. AKTIFITAS 4B

void setup() {
// put your setup code here, to run once:
pinMode(0,INPUT_PULLUP);
pinMode(1,INPUT_PULLUP);
pinMode(2,INPUT_PULLUP);
DDRB=0xFF;
PORTB=0xFF;
}

bool inp1,inp2,inp3;
byte stat=0,outB,i=0;
long prevTime,currTime;
unsigned int count=0;
void loop() {
// put your main code here, to run repeatedly:
inp1 = !digitalRead(0); //baca input
inp2 = !digitalRead(2); //baca input
inp3 = !digitalRead(1); //baca input
currTime=millis();
if(inp1 ) stat=0;
if(inp2 ) stat=1;
if(inp3 ) stat=2;

if(stat==1)
{
if((currTime-prevTime) >=200)
{
outB=~outB;
prevTime=currTime;
}
}

if(stat==2)
{
if((currTime-prevTime) >=200)
{
outB=~(0b0001<<i);
i++;
if(i==4) i=0;
prevTime=currTime;
}
}
if(stat==0) outB=0xFF;

PORTB=outB; //kirim output


}

Anda mungkin juga menyukai