Tampilkan postingan dengan label Programable Logic Control (PLC). Tampilkan semua postingan
Tampilkan postingan dengan label Programable Logic Control (PLC). Tampilkan semua postingan

Senin, 27 Januari 2020

Pengunaan Kontak NO dan NC pada PLC Omron [Eps 2]

Episode 2
Ok agan sekalian, mimin mau lanjutin tentang pembahasan Belajar Program PLC Omron Pengunaan Kontak NO dan NC pada CX Programer setelah sebelumnya mimin bahas Cara membuat Project Baru di CX Programer. Untuk pembahasan ini saya memakai PLC Omron CP1E, langsung aja ya buka software nya.

Episode ini saya mau bahas tentang Pengunaan Kontak NO dan NC pada CX Programer, Silahkan buat ladder program seperti berikut :




Penjelasan dan Cara Kerja :

Baris (Rung) 0 :
I:0.00 pada baris 0 adalah input Kontak NO, jika I:0.00 bernilai 1 atau ON maka W:0.00 akan menyala, dan begitu sebaliknya. Jika I:0.00 bernilai 0 atau OFF maka W:0.00 akan mati.

Baris (Rung) 2 :
I:0.01 pada baris 2 adalah input Kontak NC, jika I:0.01 bernilai 1 atau ON maka W:0.01 akan mati, dan sebaliknya jika I:0.01 bernilai 0 atau OFF maka Coil W:0.01 akan menyala.

I:0.00 = Input Device 0
I:0.01 = Input Device 1
W:0.00 = Internal Coil atau Work Area 0
W:0.01 = Internal Coil atau Work area 1


Silahkan mencoba!
Harley Daulay




Minggu, 26 Januari 2020

Membuat Project Baru Pada CX Programer [Eps 1]

Untuk Episode Berikutnya Klik disini
Episode 1

Halo teman, kali ini mimin mau berbagi ilmu tentang Cara Membuat Project Baru Pada CX Programer, Khususnya buat para pemula yang sedang mulai belajar PLC Omron. Nah untuk kali ini mimin pakai PLC Omron type CP1E, OK langsung aja yaaa.....

Langkah pertama hidupkan PC sobat lalu buka software CX Programer, untuk software nya mimin gak bagi softwarenya ya, soalnya ukurannya lumayan Gede,,, haha :) sobat bisa cari di google namanya CX ONE didalamnya sudah termasuk CX Programer dan CX Designer.

Setelah softwarenya dibuka kira kira penampakannya seperti berikut :

langkah selanjutnya adalah menklik "File" pada menu lalu Pilih "New Project" maka akan muncul menu Pop up lagi untuk pilihan PLC nya, Kali ini mimin pake PLC Omron type CP1E  dan penampakannya seperti berikut :

Langkah selanjutnya adalah tekan OK maka halaman Project akan terbuka, kira-kira seperti ini :


kalau sudah di tahap ini tinggal membuat Ladder programnya, nanti mimin bahas di episode berikutnya :)  Episode Berikutnya Klik disini

Mudah Bukan?

Selamat Belajar!
Harley Daulay

Penggunaan Kontak NO dan NC pada PLC LG

MasterK-120s PART 2
OK bro... kali ini mimin mau ngeshare tentang contoh sederhana Program PLC LG MasterK-120s serta penjelasannya. Lansung aja yaa, Langkah pertama silhakan buka softwarenya dan buat sebuah project, mimin anggap untuk Cara Membuat Project di KGLwin  para sobat udah paham, kalau yang belum paham silhahkan kunjungi Cara Membuat Project di KGLwin di link ini.

Silahkan buat Ladder Program seperti berikut ini :



Penjelasan dan Cara Kerja :

P0000 : Input 0
P0001 : Input 1
P0002 : Input 2
M0000 : Internal Coil 0
M0001 : Internal Coil 1
M0003 : Internal Coil 3


Baris 0
Ketika P0000 berubah status menjadi ON maka Internal Coil M0000 Akan menyala, dan Begitu sebaliknya.
- Baris 2 
Ketika P0000 berubah status menjadi ON maka Internal Coil M0001 Akan Mati, Begitu juga sebaliknya.

- Baris 4
Rangkaian ini sering juga disebut dengan rangkaian DOL (Direct Online), cara kerjanya ketika P0001 berubah status menjadi ON maka 
Internal coil M0003 akan menyala, M0003 akan tetap menyala sekalipun P0001 berubah status menjadi OFF karena listrik masih tersambung
pada kontak NO pada M0003. Dan Ketika Input P0002 berubah status menjadi ON maka M0003 akan mati, karena rangkaian akan terputus oleh
kontak NC pada Input P0002.

Bagaimana? Mudah Bukan?

Selamat Belajar!
Harley Daulay

Minggu, 19 Januari 2020

Kontak NO (Normally Open) dan NC (Normally Closed)

Dalam Ilmu Kelistrikan, hal yang paling dasar untuk di ketahui adalah Kontak NO dan NC, apa itu NO dan NC? Mimin kasih contoh yang paling sederhana dan paling umum di temui di sekitar kita, apakah sobat bloger tau atau kenal dengan yang namanya Saklar? Yups.... saklar buat nyalain lampu di rumah sobat, pasti punya kan?

NO (Normally Open)

NO atau Normally Open Jika diartikan secara bahasa berarti Terbuka (Terputus) dalam Posisi Normal, jadi dalam hal ini Perangkat NO atau Normally Open akan selalu terbuka (Terputus) dalam Posisi Normal atau sebelum ada tindakan, Contoh sederhana saja, Lampu di rumah kita di kontrol oleh yang namanya Saklar, dan pada umumnya saklar di rumah rumah Mempunyai kontak NO, ketika saklar di tekan atau di pindah posisikan dari status OFF ke ON maka akan mebuat lampu menyala, artinya kontak NO tadi akan berubah status menjadi ON dan membuat rangkaian jadi Terhubung sehingga lampu jadi menyala.

NC (Normally Close)

NC atau Normally Close adalah kebalikan dari NO (Normally Open) dan Jika diartikan secara bahasa berarti Tertutup dalam Posisi Normal, jadi dalam hal ini Perangkat NC atau Normally Close akan selalu tertutup (Terhubung) dalam Posisi Normal atau sebelum ada tindakan, Contoh nya dalam sebuah saklar yang mempunyai kontak NC yang mengontrol sebuah lampu, ketika saklar di tekan atau di pindah posisikan dari status OFF ke ON maka akan mebuat lampu mati, artinya kontak NC tadi akan berubah status menjadi OFF dan membuat rangkaian jadi Terputus sehingga membuat lampu jadi padam.

Sekedar tambahan Saja, Kontak NO Dan NC banyak macamnya, yang membedakan hanya pemicunya saja, seperti misalnya Timer, Saklar, Kontaktor, TDR dan Masih banyak lainnya dan untuk penjelasan dari alat tersebut mimin bahas lain waktu :)

Semoga postingan ini bisa menambah ilmu dan pengetahuan sobat semua, dan Mohon Maaf jika bahasanya agak membingungkan, maklum aja mimin bukan Pujangga yang bisa merangkai kata-kata.... Heheh :)

Semangat Belajar !
Harley Daulay

Belajar Dasar Pemrograman PLC LG (Part 1)


Ok sobat blogger, Kali ini mimin mau bahas tuntas tentang Pemrograman PLC khususnya Merk LG dan untuk kali ini mimin menggunakan PLC LG Master K120s, dan tentunya bertahap, karena mimin juga gak bisa on terus di depan PC... Hehe :)

Langsung aja ya...
Hal yang pertama yang mesti kita lakukan adalah mengenal PLC nya terlebih dahulu, sebagai referensi nanti di akhir postingan mimin sertakan link download untuk file Panduan manual atau User Manual dalam bentuk PDF.

Langkah pertama Hidupkan PC sobat, lalu buka software KGLwin, kalo belum punya software nya nanti mimin kasih di akhir postingan, kira kira akan seperti berikut :


lalu pilih Project > New project > Blank Project Lalu tekan OK, Kemudian akan muncul jendela Pop Up untuk memilih jenis PLC,  silhkan pilih sesuai gambar berikut lalu tekan OK.


dan akan tampil seperti berikut :


Nah, Tahap paling dasar dalam pemrograman PLC adalah mengenal fungsi NO (Normally Open) dan NC (Normally Closed) serta Output Coil terlebih dahulu, selanjutnya mari kita tambahkan  perintah dan buat lah diagram ladder seperti berikut ini :


Penjelasan :
P0000 : Input Device
P0020 : Output Device
P0021 : Output Device
P0022 : Output Device

Cara Kerja :
Baris 1 :
Ketika P0000 Terhubung atau Berubah status Jadi ON maka Kontak Coil P0020 akan menyala dan sebaliknya, jika P0000 kondisi OFF atau Terputus maka P0020 akan OFF.

Baris 2 :
Karena P0020 kondisi ON maka kontak NO pada Device P0020 di baris ke 2 akan berubah status jadi ON, sehingga Output Coil P0021 jadi ON, begitu juga sebaliknya  Jika P0020 kondisi OFF maka P0021 akan OFF karena rangkaian terputus oleh kontak NO pada baris 2.

Baris 3 :
Output Coil P0022 akan OFF ketika Otput Coil P0020 Menyala, karena kontak NC P0020 pada baris ke 3 akan Berubah status jadi ON sehingga rangkaian akan terputus ke Output Coil P0022, dan Begitu sebaliknya, P0022 akan menyala ketika P0020 dala kondisi mati.

Nah, Bagaimana Sobat? Gampang kan? Kalau bahasanya membingungkan mohon di maklumi ya,,, Hehe....

Semangat Belajar
Harley Daulay

Rabu, 01 Januari 2020

Menentukan KVAR Pada Kapasitor Bank Sesuai Kebutuhan

Selamat menikmati hari libur sobat blogger, tapi gak ada salahnya sambil buka dan baca-baca blog ini barang kali ada yang bermanfaat bagi sobat blogger. Untuk kali ini penulis akan menyajikan artikel tentang perhitungan nilai kapasitas kapasitor yang harus digunakan untuk memperbaiki faktor daya (Cos Phi) jaringan listrik sesuai dengan besarnya daya beban yang terpasang pada jaringan listrik tersebut. Nah untuk memahaminya silahkan simak dengan seksama uraian berikut ini.


Beban/Pemakai Daya Listrik 
Sebagai contoh berikut ini merupakan besar beban/pemakai daya listrik yang digunakan pada jaringan listrik yang akan diperbaiki faktor daya (cos phi) nya, yaitu berupa 5 buah lampu TL 20 W, 2 buah lampu pijar 100 W dan 2 buah motor listrik 125 W. Beban tersebut digunakan untuk mensimulasikan penghematan daya dengan memantau perubahan arus listrik yang dikonsumsi oleh beban tersebut untuk perbaikan faktor daya (cos phi) pada jaringan listrik setelah adanya beban induktif.


Perhitungan Nilai Kapasitas Kapasitor
Kapasitor adalah komponen yang hanya dapat menyimpan dan memberikan energi yang terbatas yaitu sesuai dengan kapasitasnya, pada dasarnya kapasitor terdiri atas dua keping sejajar yang dipisahkan oleh medium dielektrik. Kapasitor pada sistem daya listrik menimbulkan daya reaktif untuk memperbaiki tegangan dan faktor daya, karenanya memasang/menambah kapasitor pada sistem jaringan listrik akan mengurangi kerugian daya listrik. Dalam kapasitor seri daya reaktif sebanding dengan kuadrat arus beban, sedang pada kapasitor paralel sebanding dengan kuadrat tegangan. Pemasangan komponen kapasitor seri dan paralel pada jaringan distribusi listrik mengakibatkan kerugian (losses) aliran daya reaktif pada jaringan dapat dikurangi sehingga kebutuhan arus menurun dan tegangan mengalami kenaikan sehingga kapasitas sistem jaringan bertambah. Kapasitor seri tidak digunakan secara luas dalam jaringan distribusi, karena adanya berbagai permasalahan resonansi distribusi dalam transformator.


Manfaat penggunaan kapasitor paralel
1. Mengurangi kerugian
2. Memperbaiki kondisi tegangan
3. Memaksimalkan kapasitas pembebanan jaringan


Untuk menghitung besarnya nilai kapasitas kapasitor dapat digunakan rumus : C = Qc / -V². ω


Dimana :
C = Kapasitas kapasitor (Farad)
Qc = Daya reaktif kapasitor (Var)
V = Tegangan (Volt)
ω = 2πf


Contoh :
Satu buah TL dengan daya = 20 W, tegangan = 220 V, Faktor daya = 0,35 maka :
P = V.I.Cos θ
I1 = P/V.Cos θ = 20 / 220 x 0,35 = 20 / 77 = 0,2597 A = 259,7 mA


Konsumsi arus listrik yang dibutuhkan secara teori apabila Cos θ sebesar 0,9 adalah :
I2 = P/V.Cos θ = 20 / 220 x 0,9 = 20 / 198 = 0,101 A = 101 mA


Prosentase (%) penghematan konsumsi arus listrik sebesar :
259,7 A – 101 A = 158,7 A = ± 61%


Cara menentukan nilai kapasitas kapasitor :
Cos θ1 = 0,35 à θ1 = Cos-1 x 0,35 = 69,5
Cos θ2 = 0,9 à θ2 = Cos-1 x 0,9 = 25,84


Daya Nyata (P1) = 20 W
Daya Semu (S1) = P / Cos θ1 = 20 / 0,35 = 57,143 VA atau
S1 = V.I = 220 x 0,2597 = 57,143 VA
Daya Reaktif (Q1) = S.Sin θ1
= 57,143 x Sin 69,5
= 53,524 VAR


Daya Nyata (P2) = P1 = 20 W
Daya Semu (S2) = P / Cos θ2 = 20 / 0,9 = 22,22 VA atau
S2 = V.I = 220 x 0,101 = 22,22 VA
Daya Reaktif (Q2) = S.Sin θ2
= 22,22.Sin 25,84
= 9,685 VAR


Daya reaktif yang harus dihilangkan : ΔQ = Q2 – Q1
= 9,685 – 53,524 = - 43,839 VAR


Nilai kapasitas kapasitor yang digunakan untuk mendapatkan sudut (Phi) = 0,9 adalah :
C = Qc / -V².ω = - 43,839 / (- 220² x 314) = 43,839 / 15.197.600 = 2,9 μF à 3 μF


Jadi untuk penghematan konsumsi arus listrik dengan beban diatas setelah dilakukan perhitungan, maka kapasitor yang harus dipasang sebesar 2,9 μF atau dibulatkan menjadi 3 μF.



Gambar 1. Kapasitor yang harus dipasang paralel dengan beban lampu TL 20 W

sumber : http://margionoabdil.blogspot.com/


Sabtu, 23 Januari 2016

Bahas Pemrograman PLC





Bahasa Pemrograman PLC

Berdasarkan Standart Internasional IEC-61131-3, bahasa pemrograman PLC ada 5 macam yaitu :
  1. Ladder Diagram (LD)
  2. Function Block Diagram (FBD)
  3. Sequential Function Chart (SFC)
  4. Structure Text (ST)
  5. Instruction List (IL)
Tidak semua PLC support kelima bahasa pemrograman diatas. Ada yang hanya support LD saja, ada juga yang support LD, FBD,SFC,ST tergantung dari PLC yang kita pakai.

Berikut bahasa pemrograman yang digunakan oleh beberapa merek PLC :
  • Allen bradley PLC-5 & SLC-500  : Ladder Diagram (LD)
  • Allen bradley Logix 5000 family  : Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function Chart (SFC), Structure Text (ST)
  • Omron CX-Programmer V8.1 : Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function Chart (SFC)
  • Schneider : Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function Chart (SFC)
  • Siemens :  Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function Chart (SFC), Instruction List (IL)

Belaja Dan Terus Belajar!

Harley Daoelay


Sumber : https://duniakarya.wordpress.com/

Merk Dan Type PLC




Merek dan Type PLC
Saat ini banyak merek serta type PLC yang dipakai di industri. Masing masing PLC memiliki kelebihan dan kekurangan tersendiri. Tinggal pilih saja bedasarkan kebutuhan serta tebal kantong anda. Berikut beberapa merek serta type PLC yang banyak dipakai di industri :

1.   Allen Bradley

Jenis Type PLC Gambar
Logix-5 Family PLC-5  
Logix-500 Family SLC-500  
  Micrologix  
Logix-5000 Family ControlLogix  
  CompactLogix  
  FlexLogix  


2.   Siemens

Jenis Type PLC Gambar
Micro PLC S7-200  
  S7-1200  
Modular PLC S5-115U  
  S7-300  
  S7-400  
     



3. Omron

Jenis Type PLC Gambar
Micro PLC CPM1A  
  CP1E  
  CP1L  
Basic PLC CJ1M  
  CQM1H  
Modular CJ1H/CJ1G  
  CS1H/CS1G  
     

4.   Schneider

Jenis Type PLC Gambar
Micro PLC Modicon M340  
Machine Control PLC Modicon Premium  
Process Control PLC Modicon Quantum  
Programmable Controller Twido  
Smart Relay Zelio  
     

5.    Mitsubishi

Jenis Type PLC Gambar
Compact PLC MELSEC FX3UC  
  MELSEC FX3G  
  MELSEC FX1N  
  MELSEC FX1S  
Modular PLC Q-Series Q00UJCPU  
Process Control Q12PHCPU  
     


Selain merek dan tipe PLC yang telah disebutkan diatas, masih banyak lahi merek dan tipe PLC lainnya seperti GE Fanuc, NAIS, dsb.


Salam
Harley Daoelay


Sumber : https://duniakarya.wordpress.com

Belajar PLC (Programmable Logic Control) Dasar




 Sebelum Lebih jauh mempelajari PLC (Programmable Logic Control), ada baiknya kita mengenal terlebih dahulu apa itu PLC, Nah untuk Lebih jelasnya saya berikan sedikit penjelasan.

Pengertian PLC
Programmable Logic Controllers (PLC) adalah komputer elektronik yang mudah digunakan (user friendly) yang memiliki fungsi kendali untuk berbagai tipe dan tingkat kesulitan yang beraneka ragam
Definisi Programmable Logic Controller menurut Capiel (1982) adalah : sistem elektronik yang beroperasi secara dijital dan didisain untuk pemakaian di lingkungan industri, dimana sistem ini menggunakan memori yang dapat diprogram untuk penyimpanan secara internal instruksi-instruksi yang mengimplementasikan fungsi-fungsi spesifik seperti logika, urutan, perwaktuan, pencacahan dan operasi aritmatik untuk mengontrol mesin atau proses melalui modul-modul I/O digital maupun analog.
Berdasarkan namanya konsep PLC adalah sebagai berikut :

1. Programmable, menunjukkan kemampuan dalam hal memori untuk menyimpan program yang telah dibuat yang dengan mudah diubah-ubah fungsi atau kegunaannya.

2. Logic, menunjukkan kemampuan dalam memproses input secara aritmatik dan logic (ALU), yakni melakukan operasi membandingkan, menjumlahkan, mengalikan, membagi, mengurangi, negasi, AND, OR, dan lain sebagainya.

3. Controller, menunjukkan kemampuan dalam mengontrol dan mengatur proses sehingga menghasilkan output yang diinginkan.


PLC ini dirancang untuk menggantikan suatu rangkaian relay sequensial dalam suatu sistem kontrol. Selain dapat diprogram, alat ini juga dapat dikendalikan, dan dioperasikan oleh orang yang tidak memiliki pengetahuan di bidang pengoperasian komputer secara khusus. PLC ini memiliki bahasa pemrograman yang mudah dipahami dan dapat dioperasikan bila program yang telah dibuat dengan menggunakan software yang sesuai dengan jenis PLC yang digunakan sudah dimasukkan.
Fungsi dan kegunaan PLC sangat luas. Dalam prakteknya PLC dapat dibagi secara umum dan secara khusus.

Secara umum fungsi PLC adalah sebagai berikut:

1. Sekuensial Control. PLC memproses input sinyal biner menjadi output yang digunakan untuk keperluan pemrosesan teknik secara berurutan (sekuensial), disini PLC menjaga agar semua step atau langkah dalam proses sekuensial berlangsung dalam urutan yang tepat.

2. Monitoring Plant. PLC secara terus menerus memonitor status suatu sistem (misalnya temperatur, tekanan, tingkat ketinggian) dan mengambil tindakan yang diperlukan sehubungan dengan proses yang dikontrol (misalnya nilai sudah melebihi batas) atau menampilkan pesan tersebut pada operator.

3. Shutdown System
Prinsip kerja sebuah PLC adalah menerima sinyal masukan proses yang dikendalikan lalu melakukan serangkaian instruksi logika terhadap sinyal masukan tersebut sesuai dengan program yang tersimpan dalam memori lalu menghasilkan sinyal keluaran untuk mengendalikan aktuator atau peralatan lainnya.


Peralatan yang Berhubungan dengan PLC

Peralatan Analog
Contoh dari peralatan analog baik input maupun output adalah sebagai berikut :
INPUT
  • Flow transmitters
  • Pressure transmitters
  • Temperature transmitters
  • Position transmitters
  • Level transmitters
OUTPUT
  • Electric motor drives
  • Analog meters
  • Chart data recorders
  • Process controllers
  • Variable speed drives

Peralatan Digital
Contoh dari peralatan digital baik input maupun output adalah sebagai berikut :
INPUT
  • Selector Switch
  • Temperature Switch
  • Flow Switch
  • Level Switch
  • Pushbutton
  • Motor starter contacts
  • Limit Switch
  • Pressure Switch
  • Relay Contact
OUTPUT
  • Annunciator
  • Alarm light
  • Electric fan
  • Indicating light
  • Electric valve
  • Alarm horn
  • Selenoid valve 
  • Motor starters


Nah sekarang udah paham kan,,,? untuk lebih mengerti lagi saya akan bahas lebih detail lagi di postingan berikutnya,,,!
Selamat Belajar dan Bereksperimen!

Harley Daoelay


Sumber : https://duniakarya.wordpress.com/

Minggu, 10 Januari 2016

7Segment Display Dengan ARDUINO PROMINI

 
 
 
 
 
Komponen Yang diutuhkan :



Berikut Schematicnya :
















Dan Berikut Scriptnya :

/*
 6-13-2011
 Spark Fun Electronics 2011
 Nathan Seidle
 
 This code is public domain but you buy me a beer if you use this and we meet someday (Beerware license).
 
 4 digit 7 segment display:
 http://www.sparkfun.com/products/9483
 Datasheet: 
 http://www.sparkfun.com/datasheets/Components/LED/7-Segment/YSD-439AR6B-35.pdf

 This is an example of how to drive a 7 segment LED display from an ATmega without the use of current limiting resistors.
 This technique is very common but requires some knowledge of electronics - you do run the risk of dumping too 
 much current through the segments and burning out parts of the display. If you use the stock code you should be ok, but 
 be careful editing the brightness values.
 
 This code should work with all colors (red, blue, yellow, green) but the brightness will vary from one color to the next
 because the forward voltage drop of each color is different. This code was written and calibrated for the red color.

 This code will work with most Arduinos but you may want to re-route some of the pins.

 7 segments
 4 digits
 1 colon
 =
 12 pins required for full control 
 
 */

int digit1 = 11; //PWM Display pin 1
int digit2 = 10; //PWM Display pin 2
int digit3 = 9; //PWM Display pin 6
int digit4 = 6; //PWM Display pin 8

//Pin mapping from Arduino to the ATmega DIP28 if you need it
//http://www.arduino.cc/en/Hacking/PinMapping
int segA = A1; //Display pin 14
int segB = 3; //Display pin 16
int segC = 4; //Display pin 13
int segD = 5; //Display pin 3
int segE = A0; //Display pin 5
int segF = 7; //Display pin 11
int segG = 8; //Display pin 15

void setup() {                
  pinMode(segA, OUTPUT);
  pinMode(segB, OUTPUT);
  pinMode(segC, OUTPUT);
  pinMode(segD, OUTPUT);
  pinMode(segE, OUTPUT);
  pinMode(segF, OUTPUT);
  pinMode(segG, OUTPUT);

  pinMode(digit1, OUTPUT);
  pinMode(digit2, OUTPUT);
  pinMode(digit3, OUTPUT);
  pinMode(digit4, OUTPUT);
  
  pinMode(13, OUTPUT);
}

void loop() {
  
  //long startTime = millis();

  displayNumber(millis()/1000);

  //while( (millis() - startTime) < 2000) {
  //displayNumber(1217);
  //}
  //delay(1000);  
}

//Given a number, we display 10:22
//After running through the 4 numbers, the display is left turned off

//Display brightness
//Each digit is on for a certain amount of microseconds
//Then it is off until we have reached a total of 20ms for the function call
//Let's assume each digit is on for 1000us
//If each digit is on for 1ms, there are 4 digits, so the display is off for 16ms.
//That's a ratio of 1ms to 16ms or 6.25% on time (PWM).
//Let's define a variable called brightness that varies from:
//5000 blindingly bright (15.7mA current draw per digit)
//2000 shockingly bright (11.4mA current draw per digit)
//1000 pretty bright (5.9mA)
//500 normal (3mA)
//200 dim but readable (1.4mA)
//50 dim but readable (0.56mA)
//5 dim but readable (0.31mA)
//1 dim but readable in dark (0.28mA)

void displayNumber(int toDisplay) {
#define DISPLAY_BRIGHTNESS  500

#define DIGIT_ON  HIGH
#define DIGIT_OFF  LOW

  long beginTime = millis();

  for(int digit = 4 ; digit > 0 ; digit--) {

    //Turn on a digit for a short amount of time
    switch(digit) {
    case 1:
      digitalWrite(digit1, DIGIT_ON);
      break;
    case 2:
      digitalWrite(digit2, DIGIT_ON);
      break;
    case 3:
      digitalWrite(digit3, DIGIT_ON);
      break;
    case 4:
      digitalWrite(digit4, DIGIT_ON);
      break;
    }

    //Turn on the right segments for this digit
    lightNumber(toDisplay % 10);
    toDisplay /= 10;

    delayMicroseconds(DISPLAY_BRIGHTNESS); //Display this digit for a fraction of a second (between 1us and 5000us, 500 is pretty good)

    //Turn off all segments
    lightNumber(10); 

    //Turn off all digits
    digitalWrite(digit1, DIGIT_OFF);
    digitalWrite(digit2, DIGIT_OFF);
    digitalWrite(digit3, DIGIT_OFF);
    digitalWrite(digit4, DIGIT_OFF);
  }

  while( (millis() - beginTime) < 10) ; //Wait for 20ms to pass before we paint the display again
}

//Given a number, turns on those segments
//If number == 10, then turn off number
void lightNumber(int numberToDisplay) {

#define SEGMENT_ON  LOW
#define SEGMENT_OFF HIGH

  switch (numberToDisplay){

  case 0:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_ON);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_OFF);
    break;

  case 1:
    digitalWrite(segA, SEGMENT_OFF);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_OFF);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_OFF);
    break;

  case 2:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_OFF);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_ON);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 3:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 4:
    digitalWrite(segA, SEGMENT_OFF);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_OFF);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 5:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_OFF);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 6:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_OFF);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_ON);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 7:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_OFF);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_OFF);
    break;

  case 8:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_ON);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 9:
    digitalWrite(segA, SEGMENT_ON);
    digitalWrite(segB, SEGMENT_ON);
    digitalWrite(segC, SEGMENT_ON);
    digitalWrite(segD, SEGMENT_ON);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_ON);
    digitalWrite(segG, SEGMENT_ON);
    break;

  case 10:
    digitalWrite(segA, SEGMENT_OFF);
    digitalWrite(segB, SEGMENT_OFF);
    digitalWrite(segC, SEGMENT_OFF);
    digitalWrite(segD, SEGMENT_OFF);
    digitalWrite(segE, SEGMENT_OFF);
    digitalWrite(segF, SEGMENT_OFF);
    digitalWrite(segG, SEGMENT_OFF);
    break;
  }
}

Selamat Bereksperimen!
Harley Daoelay


Sumber : http://diffusionht.blogspot.co.id/2012/04/arduino-4-digit-7-segment-display.html









Jam Digital LCD 2x16 Dengan ARDUINO

Sebenernya sudah lama pengen ngapdet materi ginian. Alhamdulillah sekarang diberi kesempatan menyapa teman semua dengan satu materi aplikasi Arduino : “Membuat Jam Digital  LCD 2x16”.
Sebagai pewaktunya kita ambil RTC (Real Time Clock) tipe DS1307 keluaran Dallas. Datasheet bisa nanya mbah gugel dimana nyimpennya.
Ok, kita rangkai Arduinonya :


Rangkaian Jam Digital Arduino
Oya, untuk koneksi pin SDA dan SCL di Arduino bisa tengok keterangan berikut :
pin SDA dan SCL Arduino

pin SDA dan SCL Arduino
Programnya nggak banyak juga :

#if defined(ARDUINO) && ARDUINO >= 100
#include “Arduino.h”
#else
#include “WProgram.h”
#endif
#include <Wire.h>
#include <DS1307.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup()
{
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.print(”  Jam Digital   “);
  lcd.setCursor(0,1);
  lcd.print(” ARDUINO UNO R3″);
  delay(2000);
  lcd.clear();  
  RTC.stop();
  RTC.set(DS1307_SEC,1);        //set the seconds
  RTC.set(DS1307_MIN,23);     //set the minutes
  RTC.set(DS1307_HR,12);       //set the hours
  RTC.set(DS1307_DOW,4);       //set the day of the week
  RTC.set(DS1307_DATE,1);       //set the date
  RTC.set(DS1307_MTH,3);        //set the month
  RTC.set(DS1307_YR,14);         //set the year
  RTC.start();
}
void loop()
{
  lcd.clear();
  lcd.print(RTC.get(DS1307_HR,true));
  lcd.print(“:”);
  lcd.print(RTC.get(DS1307_MIN,false));
  lcd.print(“:”);
  lcd.print(RTC.get(DS1307_SEC,false));
  lcd.setCursor(0,1);
  lcd.print(RTC.get(DS1307_DATE,false));
  lcd.print(“/”);
  lcd.print(RTC.get(DS1307_MTH,false));
  lcd.print(“/”);
  lcd.print(RTC.get(DS1307_YR,false));
  delay(1000);
}

Tampilan di LCD berupa jam dan tanggal.

Selamat bereksperimen !
Harley Daoelay


Sumber : http://inkubator-teknologi.com/membuat-jam-digital-dengan-arduino/

Bahsa Dasar C ARDUINO






Pendahuluan
Untuk  installasi   software  dan board arduino bisa baca disini  atau disumbernya langsung disini.
Semua bahasa perograman  terdiri dari
  1. ekspresi,
  2. statemen,
  3. blok statemen
  4. blok fungsi
Ekspresi  adalah kombinasi operand dan operator  contoh  2+3 ,  X > Y   dst…    2,3,X dan Y adalah operand  sedangkan  + dan > adalah operator .
Statemen adalah  instruksi lengkap dalam bahasa C diakhiri dgn tanda  ;  (titik koma)   contoh :  A= 2+3;
Statemen dan ekspresi C arduino  indentik dengan ANSI-C , Struktur Program C Arduino  minimal terdiri dari dua fungsi yaitu setup() dan loop().
arduinosketch  
Fungsi setup() dijalankan pertama  kali  setiap board  arduino dihidupkan  sedangkan fungsi loop() dijalankan terus menerus selama board arduino hidup.  Pada program  standar C ANSI  fungsi yg pertama dijalankan adalah fungsi main()  pada C arduino  adalah fungsi setup().
berikut ini struktur minimal C Arduino :
//setup digunakan untuk inisialisasi variable, mode pin dll
void setup() 
{
statement
} 

void loop()
 { 
statement
}
contoh program
// Pin 13  dihubungkan ke  LED pada kebanyakan  Arduino board.
// pin 13 diberi nama led:
int led = 13;
//  setup routine dijalankan sekali saat  arduino direset :
void setup() {
// inisialisasi  pin  digital  13  sbg  output.
pinMode(led, OUTPUT);
}
// loop  melakukan elsekusi berulang:
void loop() {
digitalWrite(led, HIGH); //LED on
delay(1000);
digitalWrite(led, LOW); // LED off
delay(1000);
}
VARIABLE DAN KONSTANTA
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. variable disimpan di RAM
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah setelah program di compile. Konstanta disimpan di memory program.
VARIABLE SCOPE
Variable dan  konstanta  global  dapat diakses di seluruh bagian program.
Variable  dan konstanta lokal  hanya dapat diakses didalam fungsi tempat dideklarasikannya.
Type Data 
Arduino C mendukung sebagian besar tipe data ANSI C dengan beberapa pengecualian. Variabel adalah sebuah atau beberapa  lokasi  memori yang  diberi nama. Ketika anda mendefinisikan variabel Anda juga harus memberitahu compiler jenis data variable tsb.
Tipe data dari variabel penting karena untuk menentukan berapa banyak byte
memori yg disediakan untuk variabel itu, dan jenis data yang dapat disimpan dalam variabel.  typedata
CONTROL STATEMENT
  • While Loop
while (expression) //selama expresi bernilai true laksanakan perulangan blok statemen dibawahnya.
{
statement1;
statement2;
…..
}
atau jika satement hanya 1 baris statement tdk perlu di berikurung { }
while(expression)
statement;
  • Do/While Loop
do //jalankan statement dibawah ( minimal 1 kali perulangan dilaksanakan) ,
{
statement1;
statement2;

}
while (expression); // jika ekspresi true , jalankan kembali perulangan.
atau jika satement hanya 1 baris
do
statement;
while (expression);
  • For Loop
for (expr1; expr2; expr3) //laksanakan perulangan sebanyak expr2 dimulai dari expr1.
{
statement1;
statement2;

}
atau jika satement hanya 1 baris
for(expr1; expr2; expr3)
statement;
  • If/Else
if (expression) //jika ekspresi bernilai true laksanakan blok statemen dibawahnya
{
statement1;
statement2;

}
atau jika satement hanya 1 baris
if(expression)
statement;
  • SWITCH/CASE
switch (expression)
{
case const1:     // jika expression = const1 eksekusi staement2 dibawahnya
statement1;
statement2;
case const2: // jika expression = const2 eksekusi statemenibawahnya
statement3;
statement4;
case constX: // jika espression=constX eksekusi statemen dibawahnya
statement5;
statement6;
default:
statement7;     // jika ekspression tdk  sama dgn const1,cons2, dan constX
statement8;
}
  • BREAK, CONTINUE,AND GOTO
break, continue, & goto statements digunakan untuk merubah alur eksekusi untuk statement pengulangan for, while, do/while, and switch .
Break
break statement digunakan untuk keluar dari pengulangan for, while, do/while, atau switch . break keluar dari blok pengulangan dimana dia berada saja.
Continue
continue akan menyebabkan program memulai iterasi berikutnya dari statemen pengulangan while,
do/while, atau for loop. continue sama seperti break pengulangan akan berhenti pada point yg dituju (di skip), bedanya continue akan memulai loop lagi, dari atas, sedangkan break memaksa keluar dari loop / pengulangan .
setup()
{
}
loop()
{
int i;
for(i; i<7; i++)
{
if(i==3)
continue;
printf(%d, i )
}
}
OPERATOR DAN EXPRESSI
Operator Penugasan ( “=” )
Setelah variabel telah dideklarasikan, operasi dapat dilakukan pada variable menggunakan operator penugasan (=). Sebuah nilai yang diberikan untuk variabel dapat berupa sebuah konstanta, variabel, atau ekspresi. Sebuah ekspresi dalam bahasa C adalah kombinasi dari operan (pengidentifikasi) dan operator. operaor penugasan antara lain sebagai berikut:
Variable = nilai ,
contoh    nilai_max = 10;
Operator Arithmetic :
Perkalian *
Pembagian /
Modulo %
Penjumlahan +
Pengurangan atau Negasi –
Operator Logika
AND &&
OR ||
Operator relasional
sama dengan ==
tdk sama dengan !=
lebih kecil <
lebih kecil atau sama dengan <=
lebih besar >
lebih besar atau sama dengan >=
increment
++variable atau variable++ artinya variable=variable+1 ,
misal ++X atau X++ artinya X = X+1
perbedaaanya adalah untuk ++X , tambahkan dulu nilai X dgn 1 baru di proses baris kode tsb, sedangkan X++ , proses dulu baris code baru tambahkan nilai X dgn 1
deccrement
–variable atau variable– artinya variable=variable-1 ,
misal –Y atau Y– artinya Y = X-1
perbedaaanya adalah untuk –Y , kurangi dulu nilai Y dgn 1 baru di proses baris kode tsb, sedangkan Y– , proses dulu baris code tsb baru kurangi nilai Y dgn 1
Compound
compound digunakan hanya untuk menyingkat baris expresi saja contoh nya sbb
a += 3; artinya a = a + 3
b -= 3; artinya b = b – 3
c *= 3; artinya c = c * 3
d /= a; artinya d = d / a
a |= 3; artinya a = a OR 3
b &= 3; artinya b = b AND 3
c ^= 3; artinya c = c ^ 3
PORTD &= 3; artinya PORTD = PORTD & 3
kondisonal Expressi
if(expression_A)
expression_B;
else
expression_C;
baris kode diatas bisa digantikan oleh kondisional expressi:
expression_A ? expression_B : expression_C;
contoh : (A > 10) ? x = 5 : x =22;
kondisional expresi diatas artinya sama dengan :
IF(A>10)
{
x=5;
}
Else
{
x= 22
}
..
FUNGSI
yang dimaksud fungsi adalah sebuah blok statement yg melaksanakan tugas tertentu dan bisa
dipakai lebih dari 1 kali di dlm program.
program bahasa C terdiri dari fungsi fungsi dan sebuah program c minimal terdiri dari 1 fungsi .
fungsi setup() dijalankan pertama kali saat program dijalankan.
fungsi terdiri dari dua bagian utama yaitu kepala fungsi dan blok fungsi
berikut ini bentuk umum sebuah fungsi adalah :
type name_fungsi (type paramameter)
{
statement
}
kepala fungsi terdiri dari type return value, nama fungsi , types dan nama parameter(jika ada) .
Statement di block fungsi menyatakan apa yg fungsi harus lakukan.
jika return value atau parameter tdk ada maka typennya ditulis void seperti dibawah ini
void namefungsi (void)
{
statement
}
Structures, Union, dan Data Storage
Digital Input
void pinMode (int pin, int mode)
memerintahkan Arduino apakah pin akan diset sbg digital input atau output. Mode dapat berupa Input atau OUTPUT.
int digitalRead (int pin)
Membaca nilai dari pin digital. Nilai yg didapat dapat berupa 1 atau 0.
void digitalWrite (int pin, int value)
Menulis nilai ke pin digital. Nilai yg ditulis dapat berupa 1 atau 0.
Analog Input
int analogRead (int pin)
Membaca nilai dari pin analog. Nilai yg didapat adalah antara 0 dan 1023.
void analogWrite (int pin, int value)
Menulis nilai analog ke pin. nilai yg ditulis antara 0 dan 255.
Serial communication
Networking
waktu dan tanggal
I2C
SPI
Wireless
LCD Display
Referensi
Beginning Arduino Programming
C Programming for Arduino
Arduino Cook Book

Selamat Belajar!
Harley Daoelay

Sumber : https://pccontrol.wordpress.com/dasar-c-arduino/

Belajar Dasar ARDUINO

Bahasa pemrograman Arduino mirip bahasa C yang digunakan pada AVR. Akan tetapi lebih sederhana, dan lebih mudah untuk dipelajari. Ada yang bilang juga bahwa bahasa pemrograman Arduino adalah bahasa processing.

Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa pemrograman Arduino ;) hehe











Nah pada kelas ini saya ingin mengajak kamu untuk belajar Bahasa Pemrograman Dasarnya. Penting sekali, supaya saat dipembahasan selanjutnya saya kasih kamu contoh program. Kamu sudah bisa memahami dan tidak bingung, karena kamu sudah tahu dasarnya. Ok!

Baiklah kita akan mulai dari:

void setup() {
// semua kode yang disini akan dibaca sekali oleh Arduino
}

void loop() {
//semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh Arduino
}

Semua kode program yang ada dalam void setup akan dibaca sekali oleh Arduino. Biasanya isinya berupa kode perintah untuk menentukan fungsi pada sebuah pin. Contoh kodenya seperti:

pinMode(13, OUTPUT);               // menentukan pin 13 sebagai OUTPUT
pinMode(3, INPUT);                   // menentukan pin 3 sebagai INPUT

Adapun untuk komunikasi antara Arduino dengan komputer, menggunakan:

Serial.begin(9600);                      // untuk komunikasi Arduino dengan komputer

Semua kode program yang ada di void loop akan dibaca setelah void setup dan akan dibaca terus menerus oleh Arduino. Isinya berupa kode-kode perintah kepada pin INPUT dan OUTPUT pada Arduino. Contoh kodenya seperti:

digitalWrite(13, HIGH);              //untuk memberikan 5V (nyala)  kepada pin 13.
digitalWrite(13, LOW);              //untuk memberikan 0V (mati) kepada pin 13.
analogWrite(3, 225);                //untuk memberikan nilai 225 (setara dengan 5V) kepada pin 3.

Adapun untuk menampilkan nilai pada sebuah sensor di Serial Monitor, bisa menggunaka:

Serial.print(namasensor); //menampilkan nilai sensor yang disimpan di variabel nama sensor

Untuk menampilkan teks, bis menggunakan:

Serial.print("Selamat Datang"); //menampilkan teks Selamat Datang pada Serial Monitor

Dan untuk membuka Serial Monitor sendiri pada Arduino, bisa dengan memilih menu Tools kemudian pilih Serial Monitor. Atau dengan menekan kombinasi CTRL+SHIFT+M di keyboard. Atau bisa juga dengan meng-klik ikon Kaca Pembesar di Arduino, seperti gambar dibawah ini:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 MARI BAHAS LEBIH DETAIL LAGI!
 
CATATAN PADA PROGRAM
Kamu bisa membuat catatan pada program dan tidak akan dibaca oleh Arduino, dengan cara mengetikan // kemudian mengetikan catatannya, seperti:

void loop() {

  // catatan pada baris ini tidak akan dibaca oleh program
}

Tapi pemakaian tanda // hanya berfungsi untuk catatan satu baris saja, jika kamu ingin membuat catatan yang panjang yaitu berupa paragraf. Maka pertama kamu ketikan /* lalu ketikan catatan kamu, dan jika sudah selesai tutup dengan kode */ . Contohnya seperti:

void loop() {

  /* apapun yang kamu mau ketikan disini tidak
     akan dibaca oleh program
     sepanjang apapun kamu mengetiknya
   */


}

KURUNG KURAWAL {}
Digunakan untuk menentukan awal dan akhir dari program. Karena seperti bahasa pemrograman pada umumnya, Arduino membaca mulai dari atas hingga kebawah.

void loop()
{
....program
....program
....program
}

TITIK KOMA ;
Setiap baris kode pada Arduino harus diakhiri dengan tanda ;

void setup(){
pinMode(13, OUTPUT);
}

void loop(){
digitalWrite(13, HIGH);
}

VARIABLES
Variabel adalah kode program yang digunakan untuk menyimpan suatu nilai pada sebuah nama. Yang biasa digunakan diantaranya adalah Integer, Long, Boolean, Float, Character.

int (integer)
Variabel yang paling sering digunakan dan dapat menyimpan data sebesar 2 bytes (16 bits).

long (long)
Biasa digunakan jika nilai datanya lebih besar dari integer. Menggunakan 4 bytes (32 bits).

boolean (boolean)
Variabel yang hanya menyimpan nila TRUE dan FALSE saja. Hanya menggunakan 1 bit saja ;)

float(float)
Digunakan untuk floating point pada nilai decimal. Memory yang digunakan 4 bytes (32 bits).

char(character)
Menyimpan character berdasarkan ASCII kode (contoh: 'A'=65). Menggunakan 1 byte (8 bits).

OPERATOR MATEMATIKA
Digunakan untuk memanipulasi nilai dengan perhitungan matematika sederhana seperti: penjumlahan, pengurangan, sama dengan, dan sebagainya.

=      (sama dengan) (contoh  x=10*2 (x sekarang jadi 20))
%    (persentase) (contoh 12%10 (hasilnya yaitu 2))
+      (penambahan)
-       (pengurangan)
*       (perkalian)
/        (pembagian)

OPERATOR PERBANDINGAN
Digunakan untuk melakukan perbandingan secara logika.

== (sama dengan) contoh: 15 == 10 FALSE atau 15 == 15 TRUE
!=  (tidak sama dengan) contoh: 15 != 10 TRUE atau 15 != 15 FALSE
<   (lebih kecil dari) contoh: 15 < 10 FALSE  atau 12 < 14 TRUE
>   (lebih besar dari) contoh: 15 > 19 TRUE atau 15 > 10 FALSE

STRUKTUR PENGENDALI
Program yang digunakan untuk menentukan sebuah kondisi, dan jika kondisinya sudah terpenuhi maka akan melaksanakan perintah yang sudah ditentukan. Dan saat tidak memenuhi kondisinya juga ada perintah yang dilaksanakan oleh Arduino.


if(kondisi A)
{
  Kode Perintah A
}
else if(kondisi B)
{
  Kode Perintah B
}
else
{
  Kode Perintah C
}

Pertama Arduino akan lihat Kondisi A. Jika terpenuhi, maka akan melaksanakan Kode Perintah A.
Tapi jika TIDAK, Arduino akan lihat Kondisi B. Jika terpenuhi, maka akan melaksanakan Kode Perintah B.
Tapi jika TIDAK juga, maka Arduino akan melaksanakan Kode Perintah C.

for(int i = 0; i < #repeats; i++)
{
  Kode Perintah
}

Kode diatas digunakan saat kita ingin mengulangi kode atau nilai dalam beberapa kali. Penjelasan detailnya nanti akan dibahas ketika mencoba membuat projek, biar lebih mudah dipahami, OK. ;)

KODE DIGITAL
Digunakan untuk pemrograman yang menggunakan Pin Digital pada Arduino.

pinMode( pin, mode);

Kode diatas digunakan untuk seting mode pin. Pin adalah nomer pin yang akan digunakan, kalo kamu pake Arduino Uno, pin Digitalnya dari 0-13. dan mode sendiri bisa berupa INPUT atau OUTPUT.

Contoh:

pinMode(13, OUTPUT);    // artinya pin 13 digunakan sebagai OUTPUT
pinMode(7, INPUT);         // artinya pin 7 digunakan sebagai INPUT

Dan seperti yang sudah saya bilang untuk kode pinMode itu ada didalam void setup.

digitalRead(pin);

Kode diatas digunakan pin INPUT, untuk membaca nilai sensor yang ada pada pin. Dan nilainya hanya terbatas pada 1 (TRUE), atau 0 (FALSE).

Contoh:
digitalRead(13);     // artinya kode akan membaca nilai sensor pada pin 13

Kode digitalRead kita masukan dalam void loop.

digitalWrite(pin, nilai);

Kode diatas digunakan untuk pin OUTPUT yang sudah kita seting apakah akan diberikan HIGH (+5V), atau LOW (Ground).

Contoh:

digitalWrite(13, HIGH);    // artinya pin 13 kita diberi tegangan +5V
digitalWrite(13, LOW);    // artinya pin 13 kita diberi tegangan 0 / Ground

Dan untuk kode digitalWrite tentu saja kita masukan dalam void loop.

analogWrite(pin, nilai);

Meskipun Arduino adalah perangkat digital, tapi kita masih bisa menggunakan fungsi Analognya pada pin Digital Arduino. Tapi hanya beberap pin saja, yang biasa kita sebut PWM (Pulse With Modulation). Pada Arduino Uno memiliki 6 pin PWM, yaitu: 3,5,6,9, 10, dan 11.

Dengan begini nilai yang dihasilkan menjadi bervariasi dari 0-225, itu setara dengan 0-5V.

Contoh:

analogWrite(3, 150);    // artinya pin 3 diberikan nilai sebesar 150

Dan untuk kode analogWrite juga kita masukan dalam void loop.

KODE ANALOG 
Kode analog ini digunakan ketika ingin menggunakan pin Analog pada Arduino. Untuk Arduino Uno pin Analog dari A0-A5. Dan karena ini pin Analog maka hanya bisa kita gunakan sebagai INPUT saja. Dan juga tidak perlu menulis pinMode pada void setup.

analogRead(pin);

Kode diatas digunakan untuk membaca nilai pada sensor Analog. Yaitu antara 0-1024.

Contoh:

analogRead(A0);     // artinya kode akan membaca nilai sensor pada pin AO.

CATATAN: Kode dalam Arduino adalah Case Sensitive. Maksudnya penggunaan huruf kecil atau huruf besar sangat berpengaruh.

Selamat Belajar!
Harley Daoelay




Sumber : http://www.kelasrobot.com/2015/09/belajar-pemograman-dasar-arduino.html