Professional Documents
Culture Documents
PEMROGRAMAN
PERSIAPAN LKS SMK TINGKAT NASIONAL
C language using
Atmel Studio 7
Jika ingin merubah lokasi penyimpanan, klik tombol Browse dan pilih lokasi penyimpanan sesuai
keinginan.
4. Pilih Device / IC Controller sesuai dengan tipe yang diinginkan, dalam tutorial ini menggunakan
ATmega 16 sebagai contoh. Klik OK jika sudah selesai.
5. Compile / build program untuk menghasilkan file .hex adalah dengan pilih menu Build
kemudian pilih sub menu Build solution atau tekan F7. Lihat gambar dibawah ini
Contoh penulisan
DDRA=0b11111111; menjadikan PORTA dari bit 0 hingga bit 7 menjadi fungsi
output
DDRA=0b00000000; menjadikan PORTA dari bit 0 hingga bit 7 menjadi fungsi
input
DDRA=0b11110000; menjadikan PORTA dari bit 0 hingga bit 3 menjadi fungsi
input, menjadikan PORTA dari bit 4 hingga bit 7 menjadi fungsi Output,
Keterangan tambahan, jika PORTx digunakan sebagai input akan tetapi fungsi
register yang digunakan adalah sebagai output maka microcontroller tidak akan
merespon masukan input yang diterima di PORTx.
Contoh 2:
void tunda (void){ //sub program tunda
for (a=0; a<1000; a++){ // pengulangan 1000x
tampil(); // pemanggilan tampil
}
}
for: digunakan untuk pengulangan dengan jumlah yang sudah diketahui berapa kali
diulang.
do while: digunakan untuk pengulangan jika dan selama memenuhi syarat tertentu,
namun min 1 kali
do
{
[statement1];
[statement2];
...
}
while ([persyaratan])
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
int main(void)
{
DDRD=0b11111111; //lihat Hal. 7
while (1)
{
PORTD=0b00001111;
}
}
////COPY SAMPAI DISINI///////////
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
int main(void)
{
DDRD=0b11111111; //Lihat Hal.7
while (1)
{
PORTD=0b01010101;
}
}
////COPY SAMPAI DISINI///////////
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
int main(void)
{
DDRD=0xff; //lihat Hal.7
while (1)
{
PORTD=0x55;
}
}
////COPY SAMPAI DISINI//////////////
int main(void)
{
DDRD=0B11111111; //baca Hal.7
PORTD=0B00000000; //LED mati pada saat start
while (1)
{
PORTD=0x01;
_delay_ms(1000); //delay 1000ms atau 1 detik
PORTD=0x00;
_delay_ms(1000);
}
}
////COPY SAMPAI DISINI//////////////
int main(void)
{
DDRD=0B11111111;
PORTD=0B00000000;
while (1)
{
PORTD=0xff;
_delay_ms(1000); //delay 1000ms atau 1 detik
PORTD=0x00;
_delay_ms(1000);
}
}
////COPY SAMPAI DISINI//////////////
int main(void)
{
DDRD=0B11111111;
PORTD=0B00000000;
while (1)
{
PORTD=0b00000000;
_delay_ms(500); //delay 1000ms atau 1 detik
PORTD=0b00000001;
_delay_ms(500);
PORTD=0b00000010;
_delay_ms(500);
PORTD=0b00000100;
_delay_ms(500);
PORTD=0b00001000;
_delay_ms(500);
PORTD=0b00010000;
_delay_ms(500);
PORTD=0b00100000;
_delay_ms(500);
PORTD=0b01000000;
_delay_ms(500);
PORTD=0b10000000;
_delay_ms(500);
}
}
////COPY SAMPAI DISINI//////////////
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
int main(void)
{
DDRC=0B11111111;
DDRB=0B11110000;
while (1)
{
PORTC=0b00000110; //DATA SEVENSEGMEN angka 1
PORTB=0B01111111; //SELECTOR/SCAN SEVEN SEGMENT digit ke 1
}
}
////COPY SAMPAI DISINI//////////////
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
int main(void)
{
DDRC=0B11111111;
DDRB=0B11110000;
while (1)
{
PORTC=0b00000110; //DATA SEVEN SEGMENT angka 1
PORTB=0B10111111; //SELECTOR/SCAN SEVEN SEGMENT digit ke 2
}
}
////COPY SAMPAI DISINI//////////////
int main(void)
{
DDRC=0B11111111;
DDRB=0B11110000;
while (1)
{
PORTB=0B10111111; //SELECTOR/SCAN SEVEN SEGMENT digit ke 2
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
int main(void)
{
DDRC=0B11111111;
DDRB=0B11110000;
while (1)
{
PORTC=0b00000110; //DATA SEVEN SEGMENT 1
PORTB=0B11101111; //SELECTOR/SCAN DIGIT 4
_delay_ms(5);
PORTB=0B11111111; //SELECTOR/SCAN OFF
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
///////////SUB Program////////////////////////////////////
void display (void){
char a;
for (a=0;a<250;a++){
PORTC=segmen[nilai%10]; //formula ambil data satuan
PORTB=0B01111111; //SELECTOR/SCAN DIGIT satuan
_delay_ms(1);
PORTB=0B11111111; //SELECTOR/SCAN OFF
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
///////////SUB Program////////////////////////////////////
void display (void){
char a;
for (a=0;a<250;a++){
PORTC=segmen[nilai%10]; //formula ambil data satuan
PORTB=0B01111111; //SELECTOR/SCAN DIGIT satuan
_delay_ms(1);
PORTB=0B11111111; //SELECTOR/SCAN OFF
int main(void)
{
DDRD=0B11111111; //PORTD sebagai output
DDRB=0B11110000; //PORTB.0 sampai 3 sebagai input
PORTD=0B00000000;
while (1)
{
if bit_is_clear(PINB,0){
PORTD=0b00000001;
}
if bit_is_clear(PINB,1){
PORTD=0b00000000;
}
}
}
////COPY SAMPAI DISINI//////////////
int main(void)
{
DDRD=0B11111111; //PORTD sebagai Output
DDRB=0b11110000; //PORTB.0 sampai 3 sebagai Input
PORTD=0b00000000; //Pada saat start awal, LED dimatikan
while (1)
{
if bit_is_clear(PINB,0){
PORTD=0b00000001; //LED 0
}
if bit_is_clear(PINB,1){
PORTD=0b00000010; //LED 1
}
if bit_is_clear(PINB,2){
PORTD=0b00000100; //LED 2
}
if bit_is_clear(PINB,3){
PORTD=0b00001000; //LED 3
}
}
}
////COPY SAMPAI DISINI//////////////
LED_R
LED_L
U2 a
RV2 RV1 1 BUZ1 b
BZ c
MOTOR_L MOTOR_R d
93.0 R1 R2 e
50%
56%
ADC2 ADC1 330
BUZZER 330 f
g
2
VOUT ADC0
1k 1k D10 D9
3 LM35
S_S70 R4 R5 R6 R7
R24 S_S71 220 220 220 220
10k S_S72
U1 S_S73
9 22
LED7
LED6
LED5
LED4
LED3
LED2
LED1
LED0
RESET PC0/SCL a
23
PC1/SDA b
13 24
XTAL1 PC2/TCK c
12 25
XTAL2 PC3/TMS d
26
PC4/TDO e
40 27
ADC0
39
PA0/ADC0 PC5/TDI
28
f R20 R21 R22 R23
ADC1
38
PA1/ADC1 PC6/TOSC1
29
g 10k 10k 10k 10k R8 R9 R10 R11 R12 R13 R14 R15
ADC2 PA2/ADC2 PC7/TOSC2 h 330 330 330 330 330 330 330 330
37
LED_R PA3/ADC3
36 14
LED_L PA4/ADC4 PD0/RXD LED0 sw3 sw2 sw1 sw0
35 15
BZ PA5/ADC5 PD1/TXD LED1
MOTOR_R
34
PA6/ADC6 PD2/INT0
16
LED2
D8 D7 D6 D5 D4 D3 D2 D1
33 17
MOTOR_L PA7/ADC7 PD3/INT1 LED3
18
PD4/OC1B LED4
1 19
sw0 PB0/T0/XCK PD5/OC1A LED5
2 20
sw1 PB1/T1 PD6/ICP1 LED6
3 21
sw2 PB2/AIN0/INT2 PD7/OC2 LED7
sw3
4
PB3/AIN1/OC0 SW3 SW2 SW1 SW0
5
S_S70 PB4/SS
6
S_S71 PB5/MOSI
7 32
S_S72 PB6/MISO AREF
8 30
S_S73 PB7/SCK AVCC
ATMEGA16
int main(void)
{
DDRC=0B11111111; //PORTC sebagai Output
DDRB=0b11110000; //PORTB.0 sampai 3 sebagai Input
PORTC=0b00000000; //Pada saat start awal, seven segment dimatikan
while (1)
{
if bit_is_clear(PINB,0){
PORTC=0b00111111; //seven segment 0
}
if bit_is_clear(PINB,1){
PORTC=0b00000110; //seven segment 1
}
if bit_is_clear(PINB,2){
PORTC=0b01011011; //seven segment 2
}
if bit_is_clear(PINB,3){
PORTC=0b01001111; //seven segment 3
}
}
}
////COPY SAMPAI DISINI//////////////
int main(void)
{
DDRC=0B11111111; //PORTC sebagai Output
DDRD=0b11111111; //PORTD sebagai Output
DDRB=0b11110000; //PORTB.0 sampai 3 sebagai Input
PORTC=0b00000000; //Pada saat start awal, seven segment dimatikan
PORTD=0b00000000; //Pada saat start awal, LED dimatikan
while (1)
{
if bit_is_clear(PINB,0){
PORTD=0b00000001; //LED 0
PORTC=0b00111111; //seven segment 0
}
if bit_is_clear(PINB,1){
PORTD=0b00000010; //LED 0
PORTC=0b00000110; //seven segment 1
}
if bit_is_clear(PINB,2){
PORTD=0b00000100; //LED 0
PORTC=0b01011011; //seven segment 2
}
if bit_is_clear(PINB,3){
PORTD=0b00001000; //LED 0
PORTC=0b01001111; //seven segment 3
}
}
}
////COPY SAMPAI DISINI//////////////
///////////SUB Program////////////////////////////////////
void display (void){
char a;
for (a=0;a<250;a++){
PORTC=segmen[nilai%10]; //formula ambil data satuan
PORTB=0B01111111; //SELECTOR/SCAN DIGIT satuan
_delay_ms(1);
PORTB=0B11111111; //SELECTOR/SCAN OFF
nilai=0;
while (1){
nilai=adc(1); //adc (1), 1 adalah chanel 1 atau PORTA.1
display(); //memanggil sub program display
}
}
////COPY SAMPAI DISINI//////////////
Email: faridrinanto@gmail.com website: www.inaskills-electronics.com 25
18. ADC caling 0-1023 ke 0-100
////COPY DARI SINI//////////////
#include <avr/io.h>
#define F_CPU 11059200UL //F_CPU = 11.059200Mhz
#include <util/delay.h> //Panggil Header Delay
///////////SUB Program////////////////////////////////////
void display (void){
char a;
for (a=0;a<250;a++){
PORTC=segmen[nilai%10]; //formula ambil data satuan
PORTB=0B01111111; //SELECTOR/SCAN DIGIT satuan
_delay_ms(1);
PORTB=0B11111111; //SELECTOR/SCAN OFF
nilai=0;
while (1){
nilai=(adc(1)/1023.0)*100; //scaling dari 0-1023 ke 0 -100
display(); //memanggil sub program display
}
}
////COPY SAMPAI DISINI//////////////
Email: faridrinanto@gmail.com website: www.inaskills-electronics.com 26
19. ADC Suhu LM35
////COPY DARI SINI//////////////
#include <avr/io.h>
#define F_CPU 11059200UL //F_CPU = 11.059200Mhz
#include <util/delay.h> //Panggil Header Delay
///////////SUB Program////////////////////////////////////
void display (void){
char a;
for (a=0;a<200;a++){
PORTC=segmen[suhu%10]; //formula ambil data satuan
PORTB=0B01111111; //SELECTOR/SCAN DIGIT satuan
_delay_ms(1);
PORTB=0B11111111; //SELECTOR/SCAN OFF
while (1){
suhu=(adc(0)/1023.0)*500; //contoh formula suhu celsius LM35
display(); //memanggil sub program display
}
}
////COPY SAMPAI DISINI//////////////
Insya Allah jika ada kesempatan akan saya Upload versi yang lebih lengkap
Pendidikan Formal
1996-1997 : TK Pertiwi Bulung Kulon, Kecamatan Jekulo, Kabupaten Kudus
1997-2003 : SD Negeri 6 Bulung Kulon, Kecamatan Jekulo, Kabupaten Kudus
2003-2006 : SMP Negeri 1 Jekulo, Kabupaten Kudus, Provinsi Jawa Tengah
2006-2009 : SMK Negeri 2 Pati Teknik Audio Video, Kabupaten. Pati, Provinsi Jawa Tengah
2010-2014 : Diploma IV Jurusan Teknik Otomasi Industri di Politeknik TEDC Bandung
Beasiswa Unggulan 2010
Pengalaman
Tenaga Pengajar (Training) freelance untuk bidang electronic applications dan industrial electronics
kerjasama dengan Yayasan Matsushita Gobel (YMG), PT. Panasonic manufactruring indonesia tahun
2012 2014
Instruktur Asean Skills Competition X Hanoi 2014 Trade Electronics
Expert Electronics World Skills Competition 43 Sao paulo 2015
Prestasi akademik
2008 Juara 2 lomba Robot Linefollower se Jawa Tengah di Universitas Sultan Agung Semarang.
2008 Juara 3 lomba Robot Linefollower se Jawa Tengah dan DIY di Politeknik Negeri Semarang.
2009 Juara 1 lomba LKS SMK (Lomba Keterampilan Siswa) tingkat Provinsi Jawa Tengah.
2009 Juara 1 (Gold Medal) Lomba LKS SMK (Lomba Keterampilan Siswa) tingkat Nasional di
Jakarta.
2011 Peserta lomba Muatan Roket Indonesia (Komurindo) di Universitas Gajah Mada oleh DIKTI.
2012 Juara 1 (Gold Medal) Lomba Asean Skill Competition (ASC) IX bidang Elektronika Industri di
Jakarta.
2012 Best of Nation Asean Skill Competition (ASC) IX di Jakarta.
Email: faridrinanto@gmail.com website: www.inaskills-electronics.com 29
2012 Mahasiswa berprestasi di Politeknik TEDC Bandung.
2013 Peserta lomba PLC Schneider (Programmable Logic Controller) antar mahasiswa tingkat nasional
di Politeknik Negeri Jakarta.
2013 Peserta lomba cipta mobil hemat energi (bahan bakar battery listrik) di ITS kerjasama dengan
DIKTI.
2013 Mahasiswa berprestasi di Politeknik TEDC Bandung.
2014 Perticipant Shell Eco Marathon Asia (Lomba cipta mobil irit se-Asia) di Manila Philippines.
2014 Mahasiswa berprestasi di Politeknik TEDC Bandung.
2014 Finalis lomba Ledder programing PLC Siemens (Programmable Logic Controller) antar mahasiswa
tingkat nasional di Institut Teknologi Bandung.
Pengalaman Organisasi
2008-2009 Perintis dan ketua tim Robot di SMK N 2 Pati Jawa Tengah.
2010-2011 Wakil Ketua Himpunan Mahasiswa Elektro di Politeknik TEDC Bandung.
2012-2013 Devisi diklat Himpunan Mahasiswa Elektro di Politeknik TEDC Bandung.
2013 Manager team cimahi 3 dalam pembuatan mobil hemat energi bahan bakar battery listrik.
2014 Electronics Engineering tim cimahi 2 dalam pembuatan mobil hemat energi bahan bakar Bensin.
Pengalaman Lain
Penyusun Soal LKS (Lomba Kompetensi siswa) SMK bidang elektronika tingkat Tanggerang Selatan
2012.
Penyusun Soal LKS (Lomba Kompetensi siswa) SMK bidang elektronika tingkat DKI Jakarta 2012.
Penyusun Soal LKS (Lomba Kompetensi siswa) SMK bidang elektronika tingkat nasional tahun 2012,
2013, 2014, 2015, 2016
Penyusun Soal seleknas ASC (Asean Skills Copetition) bidang elektronika tahun 2013, 2015.
Juri LKS (Lomba Kompetensi siswa) SMK bidang elektronika tingkat DKI Jakarta tahun 2014, 2015,
2016.
Juri Seleknas ASC (Asean Skills Competition) Bidang Elektronika 2015