Wednesday, April 23, 2014

Dasar Electrical Instrumentasi

Akan timbul pertanyaan Apakah instrument ?. Mengapa pengenalan intrumentasi merupakan hal penting dalam suatu industri ?. Apa yang perlu diketahui tentang instrument dan bagaimana konsep pengukuran ?. Beberapa pertanyaan lain menjadi pemikiran pembaca dan menjadi dasar materi ini.

Intrument adalah suatu alat yang mempunyai fungsi khusus dan tertentu. Misalnya, sebagai alat ukur /sensor, sebagai pengendali / kontrol dan sebagai elemen kontrol akhir serta sebagai safety / ESD.

1.Alat ukur Sebagai Sensor / Tranduse
Perangkat yang digunakan untuk merasakan besaran proses yang akan diukur dan mengubahnya dari suatu besaran ( missal : temperatur ) ke bentuk besaran lainnya ( misal : besaran listrik )

2.Instrument pengendali (Controller)
adalah alat yang digunakan untuk melakukan perhitungan-perhitungan pengontrol berdasarkan perbandingan sinyal umpan balik ( process variable ) dan sinyal referens (set point).

3.Elemen kontrol akhir ( Control Valve )
Perangkat yang digunakan untuk melakukan aksi pengontrol berdasarkan sinyal control.

4. Instrument sebagai safety /ESD                                   
Perangkat yang digunakan untuk melakukan aksi penghentian /pengamanan  suatu proses berdasarkan sinyal trip




Thursday, February 6, 2014

Membuat lampu dimmer led dengan pwm mikrokontroler

Setelah mempelajari tentang pulse width modulation (pwm) dan aplikasinya dengan mengendalikan kecepataan motor dc, kali ini kita akan coba menggunakan metode pulse width modulation (pwm) untuk membuat lampu dimmer. Lampu dimmer adalah lampu yang dapat kita atur tingkat intensitas cahaya yang dipancarkan, dengan lampu dimmer kita dapat mengatur intensitas cahaya, mulai dari redup, normal dan sangat terang. 

Pada tulisan ini, kita akan coba menerapkan output pwm untuk mengatur intensitas cahaya led, sebagai input kita gunakan potensiometer yang akan menjadi input ke channel ADC (Analog to digital converter). Jadi pada dasarnya rangkaian ini memanfaatkan ADC (Analog to digital converter) sebagai input dan PWM (pulse width modulation) sebagai output yang akan terhubung ke led sebagai lampu dimmer.

Berikut langkah - langkah percobaannya:
1. Buatlah rangkaian seperti pada gambar berikut:
Membuat lampu dimmer led dengan pwm mikrokontroler
Rangkaian mikrokontroler

Pada rangkaian sebagai input ADC channel 0 (porta.0) adalah rangkaian pembagi tegangan dengan penggunakan potensiometer (antara 0 volt sampai 5 volt). dan sebagai output, led kita hubungkan ke portd.5 sebagai output pulse width modulation.


Jadi terang dan redupnya led tergantung dari potensiometer, semakin mendekati 5 volt dc tegangan yang masuk ke  channel 0 ADC (porta.0) maka semakin terang nyala led danbegtu juga sebaliknya, semakin mendekati 0 volt dc tegangan yang masuk ke channel 0 ADC (porta.0) maka nyala led akan semakin redup.


2. Buatlah listing program menggunakan compiler bascom AVR seperti dibawah ini: 
 
$regfile = "8535def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Input
Config Portd = Output

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc

Dim Dimmer As Word
Start Adc

Do
Locate 1 , 1
Lcd "Intensitas cahaya"
Locate 2 , 1
Lcd Dimmer

Dimmer = Getadc(0)
Pwm1a = Dimmer
Waitms 50

Loop
End
 
Pada program, awalnya kita konfigurasi ADC dan PWM lalu kita samakan nilai ADC = nilai pwm, maka output pwm tergantung dari input ADC yang ada.
 
3. Compile dan downloadkan program ke mikrokontroler

4. Jalankan program, hasil simulasinya seperti gambar dibawah ini:

Membuat lampu dimmer led dengan pwm mikrokontroler
Simulasi led dimmer

Wednesday, February 5, 2014

Cara Mengatur Kecepatan Motor DC dengan Mikrokontroler

Setelah mempelajari tentang pulse width modulation (pwm) pada mikrokontroler, kita akan coba mengaplikasikan penggunaan pwm dalam hal mengatur kecepatan motor dc dengan pwm pada mikrokontroler atmega 8535.

Penggunaan motor dc dalam berbagai macam aplikasi sering kali digunakan, karena mudahnya dalam mengontrol motor dc itu sendiri. Penerapan - peerapan motor dc biasanya pada pembuatan robot line follower, belt conveyor, dan aplikasi - aplikasi yang membutuhkan gerakan.

Dalam hal pengontrolan, kecepatan motor dc dapat kita kendalikan dengan menggunakan mikrokontroler, yaitu menggunakan fasilitas pwm internal yang sudah ada pada mikrokontroler. 

Pulse width modulation sendiri pada dasarnya mengatur waktu on dan off yang diberikan ke motor melalui driver motor ( pin enable pada IC l298).

Berikut langkah - langkah percobaannya:
1. Buatlah rangkaian seperti pada gambar berikut:

Cara Mengatur Kecepatan Motor DC dengan Mikrokontroler
Rangkaian motor dc


2. Buatlah listing program menggunakan compiler bascom AVR seperti dibawah ini:




$regfile = "8535def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Input
Config Portd = Output

Config Timer1 = Pwm , Prescale = 64 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up


Portd = 0
Portb = &HFF

Do
Locate 1 , 1
Lcd "nilai pwm"
Locate 2 , 1
Lcd Pwm1a

If Pinb.0 = 0 Then
Do
Loop Until Pinb.0 = 1
Portd.0 = 1
Portd.1 = 0
Pwm1a = Pwm1a + 10
End If

If Pinb.1 = 0 Then
Do
Loop Until Pinb.1 = 1
Portd.0 = 1
Portd.1 = 0
Pwm1a = Pwm1a - 10
End If

If Pinb.2 = 0 Then
Do
Loop Until Pinb.2 = 1
Portd.0 = 0
Portd.1 = 0
Pwm1a = 0

If Pwm1a > 250 Then
Pwm1a = 0
End If

End If


Loop
End



3. Compile dan downloadkan program ke mikrokontroler

4. Jalankan program, hasil simulasinya seperti gambar dibawah ini:

Cara Mengatur Kecepatan Motor DC dengan Mikrokontroler
Hasil simulasi pwm



Tuesday, February 4, 2014

Bagaimana cara mengatur arah motor dc dengan mikrokontroler

Pada dasarnya mikrokontroler layaknya sebuah processor yang dapat mengolah dan memproses data yang digunakan untuk menggantikan kerja transistor dan relay, keunggulan mikrokontroler ini adalah bisa kita program sesuai dengan yang kita inginkan, sehingga rangkaian elektronikanya tidak terlalu rumit, penggunaan mirkokontroler sendiri bisa kita gunakan untuk aplikasi - aplikasi dari yang sederhana sampai dengan yang rumit. untuk yang sederhana bisa kita manfaatkan dengan memanfaatkan fungsi input / output I/O pada mikrokontroler.

Pada tulisan kali ini akan dijelaskan bagaimana mengontrol atau mengendalikan arah putaran sebuah motor dc dengan menggunakan mikrokontroler. Sebagai input kita gunakan 3 buah push button, jadi ketika push button pertama ditekan maka motor akan berputar searah dengan jarum jam, ketika push button kedua ditekan maka motor akan berputar berlawanan arah jarum jam dan ketika push button ditekan maka motor akan berhenti.

Berikut langkah - langkah percobaannya:

1. Buat rangkaian seperti gambar berikut:

Bagaimana cara mengatur arah motor dc dengan mikrokontroler 

Rangkaian diatas disusun dengan skema:

Input:

push button 1 = pinb.0
push button 2 = pinb.1
push button 3 = pinb.2

Output:
portd.0 = input 1 driver motor (IC l298)
portd.1 = input 2 driver motor (IC l298)

Sebagai driver motor, digunakan IC l298, driver tersebut kita gunakan agar tegangan dari mikrokontroler tidak digunakan sebagai tegangan utama yang mensupply beban dalam hal ini motor dc, jadi untuk menggerakkan motor, supply utamanya kita gunakan dari luar, mikrokontroler hanya sebagai trigger logikanya saja.

Berikut tabel logika driver motor IC l298:



Bagaimana cara mengatur arah motor dc dengan mikrokontroler

Langkah berikutnya, kita buat listing program yang akan kita download ke mikrokontroler menggunakan compiler bascom avr:

$regfile = "8535def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Input
Config Portd = Output

Portd = 0
Portb = &HFF

Do

If Pinb.0 = 0 Then
Portd.0 = 1
Portd.1 = 0
End If

If Pinb.1 = 0 Then
Portd.0 = 0
Portd.1 = 1
End If

If Pinb.2 = 0 Then
Portd.0 = 0
Portd.1 = 0
End If


Loop
End


3. jalankan / simulasikan program:
 
Bagaimana cara mengatur arah motor dc dengan mikrokontroler

semoga bermanfaat

Sunday, February 2, 2014

Pulse Width Modulation (PWM) pada mikrokontroler

Hai sobat control and innovation

Setelah pada tulisan sebelumnya kita membahasa tentang teori mengenai analog to digital converter (ADC) dan aplikasi sederhana mengenai ADC,  Membuat Thermometer digital dengan sensor LM 35 dan Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535, maka pada tulisan kali ini akan kita pelajari mengenai pulse width modulation (PWM).

Pulse witdh modulation (PWM) terkadang juga disebut sebagai pulse duration modulation (PDM) adalah sebuah teknik modulasi yang membandingkan lebar pulsa dalam kondisi high dan low, yang membentuk sebuah durasi pulsa atau lebih dikenal dengan duty cycle, dan teknik PWM ini biasa digunakan untuk mengontrol output atau keluaran beban seperti kecepatan motor, atau juga aktuator valve.


Pulse Width Modulation (PWM) pada mikrokontroler



Mikrokontroler atmega telah menyediakan fitur pulse width modulation (PWM) sebanyak 2 channel yaitu OCR1A dan OCR1B sehingga kita dapat mengontrol dua device menggunakan metode PWM dengan menggunakan mikrokontroler atmega.

Pulse Width Modulation (PWM) pada mikrokontroler

Dan salah satu keuntungan dalam pengontrolan beban menggunakan pulse width modulation (pwm) ini adalah kemungkinan terjadinya loss power pada beban yang dikontrol sangatlah kecil. karena ketika signal dalam kondisi "off", maka arus tidak mengalir, dan ketika signal dalam kondisi "on" maka hampir tidak ada tegangan drop yang tercipta dan metode pengontrolan beban menggunakan pulse width modulation(pwm) ini juga bekerja sangat baik dalam pengolahan sinyal digital.

Tags: PWM, mikrokontroler, ADC, aplikasi, pulse width modulation, analog to digital converter



Saturday, February 1, 2014

Analog to Digital Converter (ADC) pada Mikrokontroler atmega

Hai sobat control and innovation

Pada tulisan Membuat Thermometer digital dengan sensor LM 35 dan Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535 kita telah membuat aplikasi yang menggunakan ADC (Analog to digital converter).

Lalu apa sebenarnya yang dimaksud dengan ADC (analog to digital converter), ADC merupakan suatu cara dalam mengolah data analog menggunakan perangkat digital, jadi data yang awalnya berupa data analog dikonversi oleh ADC menjadi data digital, dan data digital inilah yang nantinya akan diolah oleh mikrokontroler untuk di proses.

Dalam  merancang  perangkat  sistem  kontrol  berbasis  Mikrokontroler, diperlukan suatu interface antara  besaran analog yang dibaca oleh sensor dengan Mikrokontroler, sebab Mikrokontroler hanya  mampu mengolah  data  dalam bentuk  digital sehingga diperlukan perangkat yaitu analog to digital converter (ADC). Agar hasil pembacaan suhu yang terukur dapat mencapai rentang suhu pada obyek prektek, maka perlu diatur tegangan acuan eksternal (Vref). Tegangan acuan  eksternal berfungsi menentukan besarnya resolusi ADC dan dapat diatur  dengan memberikan referensi rangkaian eksternal Vref  pada  modul ATmega. Rangkaian tegangan acuan eksternal yang digunakan adalah sebagai berikut:

Analog to Digital Converter (ADC) pada Mikrokontroler atmega

Vreffpin=2.28Volt



Tegangan  acuan  sebesar  Vreff=2,283  volt  dihasilkan  dengan  memutar  variabel resistor 5Kohm.
Contoh:
Agar hasil pembacaan suhu yang terukur dapat mencapai rentang suhu pada obyek prektek, maka perlu diatur tegangan acuan eksternal (Vref).

Analog to Digital Converter (ADC) pada Mikrokontroler atmega

Besar penguatan rangkaian noninverting adalah:

A = 1+(Rf/Ri) = 1+(R2/R1)
    = 1+(12K/10K) =1+1.2
    = 2,2 (terukur 2,23 kali) 
 
Vout LM35 = Suhu * 10 mV
ADC = (Vout LM35 x Resolusi ADC) / Vref 

Vout adalah tegangan keluaran LM35 dan Vref adalah tegangan acuan yang digunakan  oleh  tegangan  acuan  eksternal  modul  ATmega32.  Jika  menggunakan tegangan acuan 2,283 Volt eksternal maka tingkat keluaran ADC untuk 91,5 derajat Celsius dapat dihitung sebagai berikut: 

ADC = ((91,5 x 10mv) x 2,23 x 1024) / 2,283 = 915,2

Vreff=2,283 volt

Dengan pembagian hasil dengan 10, sehingga didapatkan 91,5, ini adalah nilai temperatur yang tepat yang terukur oleh sensor.
  

Friday, January 31, 2014

Membuat Thermometer digital dengan sensor LM 35

Pada tulisan kali ini, kita akan membahas lebih jauh tentang ADC (Analog to digital converter) dengan mencoba membuat aplikasi thermometer digital berbasis mikrokontroler atmega 8535 dengan menggunakan sensor yang murah meriah yaitu sensor LM 35.

Sensor LM 35 (untuk spesifikasi sensor bisa dilihat di datasheet sensor), merupakan sensor suhu yang cukup baik untuk membaca suhu atau temparatur pada suatu ruangan. sensor ini memiliki keluaran berupa tegangan yang berbanding lurus dengan suhu yang dideteksi semakin besar suhu maka keluaran sensor semakin mendekati tegangan input sensor (5 Volt DC).

Membuat Thermometer digital dengan sensor LM 35

Pertama kita buat rangkaian seperti ini:


Membuat Thermometer digital dengan sensor LM 35




$regfile = "8535def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Output
Config Portd = Input

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Data_adc As Word , Suhu As Word
Start Adc
Cls


Lcd " suhu="

Do
Data_adc = Getadc(0)
Suhu = Data_adc * 5
Suhu = Suhu / 200


Locate 1 , 8
Lcd Suhu ; "celcius"

Waitms 50
Loop
End 


Langkah selanjutnya, jalankan simulasi, akan didapat hasil seperti ini


Membuat Thermometer digital dengan sensor LM 35

Penjelasan rangkaian:
Sebagai input kita gunakan sensor lm 35 yang mempunyai 3 kaki, vcc kita hubungkan ke 5 volt dc, ground kita hubungkan ke ground dan out nya kita jadikan input ke pin A.0 yaitu pin ADC internal pada mirkokontroler atmega 8535 channel 0. dan sebagai output displaynya, lcd kita hubungkan pada port C.

Selamat mencoba

Thursday, January 30, 2014

Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535


Hai sobat control and innovation

Setelah pada post / artikel sebelumnya kita mencoba membuat Menghidupkan led dengan push button menggunakan mikrokontroler atmega 8535 dan Membuat rangkaian dan program led berjalan dengan mikrokontroler atmega 8535, yang dimana keduanya memanfaatkan I/O (input/output) digital dari mikrokontroler, nah pada artikel kali ini akan coba dijelaskan bagaimana memanfaatkan analog input pada mikrokontroler atmega 8535 dengan membuat voltmeter digital memanfaatkan analog to digital converter (ADC) internal pada mikrokontroler atmega 8535.

Analog to digital converter (ADC) merupakan fitur yang telah disediakan oleh mikrkontroler atmega 8535 sehingga kita memerlukan Integrated circuit (IC) tambahan layaknya ketika kita menggunakan mikrokontroler keluarga MCS-51. ADC berfungsi untuk mengkonversi nilai analog menjadi nilai digital sehingga bisa data yang tadinya analog bisa kita oleh untuk nantinya bisa kita ubah kebali menjadi data digital untuk berbagai macam keperluan, aplikasi  dari ADC ini biasanya digunakan untuk sensor – sensor yang output datanya analog seperti suhu, kelembaban, dan sebagainya.

Fitur ADC internal pada mikrokontroler atmega 8535 adalah sebagai berikut:

adc mikrokontroler


Lalu kita akan mencoba membuat sebuah aplikasi dengan memanfaatkan fitur ADC internal pada mikrokontroler atmega yaitu membuat aplikasi voltmeter digital.

Buat rangkaian seperti ini, kalau ingin simulasi bisa buat di proteus:

Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535
Lalu kita buat listing programnya menggunakan bascom avr:

$regfile = "8535def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Output
Config Portd = Input

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim W As Word , Volt As Word
Start Adc
Cls


Locate 1 , 1
Lcd "v = "
Do
W = Getadc(0)
Volt = W * 5
Locate 1 , 5
Lcd Volt ; " mV"


Loop
End






Penjelasan rangkaian:
Rangkaian diatas sebagai inputnya kita gunakan ADC channel 0 yaitu pada pin A.0 yang akan mendapatkan input dari potensiometer, dan output berupa LCD yang terhubung pada port C.

Penjelasan Program:

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Perintah diatas merupakan konfigurasi yang kita gunakan prescaler dapat kita ganti/sesuaikan dengan berapa crystal yang kita gunakan, pada program diatas kita gunakan auto, dan tegangan referensinya 5 volt (artinya Avcc pada mikrokontroler kita hubungkan ke 5 volt).

Setelah meyakinkan rangkaian dan program telah sesuai dengan diatas, maka jalankan program

Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535


Selamat mencoba...


Monday, January 27, 2014

Menghidupkan led dengan push button menggunakan mikrokontroler atmega 8535


Hai sobat control and innovation
Membuat berbagai macam aplikasi dan manipulasi program menggunakan mikrokontroler merupakan sesuatu yang mengasyikkan tentunya. dan salah satu mikrokontroler yang cukup populer digunakan saat ini adalah mikrokontroler atmega 8535 dan compiler nya bascom avr (basic compiler avr). dan untuk belajar mikrokontroler dewasa ini dapat dengan praktek menggunakan hardware / perangkat keras mikrokontroler secara langsung atau dengan simulator mirkokontroler yaitu proteus.
Pada percobaan kali ini kita akan mencoba untuk membuat rangkaian dan program Menghidupkan led dengan push button menggunakan mikrokontroler atmega 85355 dan program menggunakan bahasa basic dengan compiler bascom avr.

Program ini akan menghidupkan led berdasarkan tombol push button mana yang ditekan, jika push button 1 ditekan maka led 1 akan hidup, jika tombol push button 2 yang ditekan maka led 2 akan hidup, dan begitu seterusnya.
Pertama, kita buat rangkaian menggunakan proteus seperti dibawah ini, satu buah mikrokontroler atmega 8535, 8 buah led dan 8 buah push button.
Kedua, kita buat listing program menggunakan bascom avr:


$regfile = "8535def.dat"
$crystal = 1000000

Config Portb = Output
Config Portd = Input
Portd = &HFF
Do

Portb = Pind


Loop
End




Ketiga, jalankan program dan hasilnya seperti gambar dibawah ini:

Menghidupkan led dengan push button menggunakan mikrokontroler atmega 8535
 
Penjelasan rangkaian:
Tiap - tiap led dihubungkan pada portB pada mikrokontroler, dan kesemua led dihubungkan ke vcc, jadi rangkaian diatas berupa common anoda, yang berarti port - port mikrokontroler bertindak sebagai ground agar led berjalan dan tiap - tiap push button dihubungkan ke portD mikrokontroler dan sisi lainnya dibuhungkan ke ground, artinya rangkaian push buttonnya berupa common katoda yang berarti jika push button ditekan maka port mikrokontroler atmega 8535 yang terhubung di push button berlogika 0.
Penjelasan program:
Karena rangkaian led  berupa common anoda maka led akan hidup ketika port output bernilai 0, program utama diatas adalah Portb = Pind, maka lampu akan hidup menyusuaikan logika yang ada pada input push button yang terhubung pada portD.
Selamat berkarya sobat control and inovation

Membuat rangkaian dan program led berjalan dengan mikrokontroler atmega 8535

Hai sobat control and inovation

Membuat berbagai macam aplikasi dan manipulasi program menggunakan mikrokontroler merupakan sesuatu yang mengasyikkan tentunya. dan salah satu mikrokontroler yang cukup populer digunakan saat ini adalah mikrokontroler atmega 8535 dan compiler nya bascom avr (basic compiler avr). dan untuk belajar mikrokontroler dewasa ini dapat dengan praktek menggunakan hardware / perangkat keras mikrokontroler secara langsung atau dengan simulator mirkokontroler yaitu proteus.
Pada percobaan kali ini kita akan mencoba untuk membuat rangkaian dan program running led atau led berjalan dengan menggunakan mikrokontroler atmega 8535 dan program menggunakan bahasa basic dengan compiler bascom avr.

Program ini akan menjalankan 8 buah led secara bergantian, dan akan berulang secara terus menerus mulai dari led pertama sampai dengan led ke delapan.

Pertama, kita buat rangkaian menggunakan proteus seperti dibawah ini, satu buah mikrokontroler atmega 8535 dan 8 buah led.




Kedua, kita buat listing program menggunakan bascom avr:


$regfile = "8535def.dat"
$crystal = 1000000

Config Portb = Output
Config Portd = Input

Do
Portb = &B11111110
Waitms 50
Portb = &B11111101
Waitms 50
Portb = &B11111011
Waitms 50
Portb = &B11110111
Waitms 50
Portb = &B11101111
Waitms 50
Portb = &B11011111
Waitms 50
Portb = &B10111111
Waitms 50
Portb = &B01111111
Waitms 50


Loop
End



Ketiga, jalankan program dan hasilnya seperti gambar dibawah ini:


Penjelasan rangkaian:
Tiap - tiap led dihubungkan pada portB pada mikrokontroler, dan kesemua led dihubungkan ke vcc, jadi rangkaian diatas berupa common anoda, yang berarti port - port mikrokontroler bertindak sebagai ground agar led berjalan.

Penjelasan program:
Karena rangkaian led  berupa common anoda maka led akan hidup ketika port output bernilai 0,dan pada program di beri jedah selama 50 mili detik (waitms 50) lalu port d yang bernilai 0 digeser dan terus menerus berulang.

Selamat berkarya sobat control and inovation