Arduino merupakan sebuah perangkat elektronik yang bersifat open source dan sering digunakan untuk merancang dan membuat perangkat elektronik serta software yang mudah untuk digunakan. Arduino ini dirancang sedemikian rupa untuk mempermudah penggunaan perangkat elektronik di berbagai bidang.
Arduino ini memiliki beberapa komponen penting di dalamnya, seperti pin, mikrokontroler, dan konektor yang nanti akan dibahas lebih dalam selanjutnya. Selain itu, Arduino juga sudah menggunakan bahasa pemrograman Arduino Language yang sedikit mirip dengan bahasa pemrograman C++. Terdapat arduino IDE
2.2 Breadboard
Breadboard merupakan sebuah board atau papan yang berfungsi untuk merancang sebuah rangkaian elektronik sederhana. Breadboard tersebut nantinya akan dilakukan prototipe atau uji coba tanpa harus melakukan solder.
Umumnya breadboard terbuat dari bahan plastik yang juga sudah terdapat berbagai lubang. Lubang tersebut sudah diatur sebelumnya sehingga membentuk pola yang didasarkan pada pola jaringan di dalamnya. Selain itu, breadboard yang bisa ditemukan di pasaran umumnya dibagi menjadi 3 ukuran. Pertama dinamakan sebagai mini breadboard, kedua disebut medium breadboard, dan yang terakhir dinamakan sebagai large breadboard.
2.3 Jumper
Kabel jumper adalah kabel elektrik yang memiliki pin konektor di setiap ujungnya dan memungkinkanmu untuk menghubungkan dua komponen yang melibatkan Arduino tanpa memerlukan solder. Intinya kegunaan kabel jumper ini adalah sebagai konduktor listrik untuk menyambungkan rangkaian listrik. Biasanya kabel jamper digunakan pada breadboard atau alat prototyping lainnya agar lebih mudah untuk mengutak-atik rangkaian.
Jenis jenis kabel jumper yang paling umum adalah sebagai berikut:
- Kabel Jumper Male to Male
Jenis yang pertama adalah kabel jumper male male. Kabel jumper male to male adalah adalah jenis yang sangat yang sangat cocok untuk kamu yang mau membuat rangkaian elektronik di breadboard.
- Kabel Jumper Male to Female
Kabel jumper male female memiliki ujung konektor yang berbeda pada tiap ujungnya, yaitu male dan female.
Biasanya kabel ini digunakan untuk menghubungkan komponen elektronika selain arduino ke breadboard
- Kabel Jumper Female to Female
Jenis kabel jumper yang terakhir adalah kabel female to female. Kabel ini sangat cocok untuk menghubungkan antar komponen yang memiliki header male
2.4 Kabel USB Arduino
Kabel Data Mini USB ini biasa digunakan sebagai kabel untuk transfer data antar dua perangkat dan sebagai kabel untuk pemrograman Arduino yang memiliki soket Mini USB seperti Arduino uno standar.
2.5 LED RED
LED (Light Emitting Diode) adalah Sebuah lampu kecil yang digunakan sebagai penanda atau pointer. Light Emitting Diode adalah salah satu komponen elektronika yang terbuat dari bahan semi konduktor jenis dioda yang mempu mengeluarkan cahaya. Strukturnya juga sama dengan dioda, tetapi pada LED elektron menerjang sambungan P-N (Positif-Negatif). Untuk mendapatkan emisi cahaya pada semikonduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula.
Resistor merupakan komponen penting dan sering dijumpai dalam sirkuit Elektronik. Boleh dikatakan hampir setiap sirkuit Elektronik pasti ada Resistor. Tetapi banyak diantara kita yang bekerja di perusahaan perakitan Elektronik maupun yang menggunakan peralatan Elektronik tersebut tidak mengetahui cara membaca kode warna ataupun kode angka yang ada ditubuh Resistor itu sendiri.
Pada percobaan ini digunakan alat dan bahan seperti arduino uno, kabel jumper, breadboard, kabel usb, 8 buah resistor 220 ohm, 8 buah led merah, laptop, serta arduino IDE. Pada arduino, pin yang digunakan adalah pin 2-9 yang dihubungkan ke masing-masing resistor dan dipasang secara seri dengan LED dan di hubungkan dengan ground dari arduino yang dipasangkan sebaris dengan kaki katoda dari LED. Dikarenakan kaki LED yakni katoda terhubung dengan ground, maka led nanti akan hidup apabila diberi inputan active HIGH Selanjutnya seian terpasang hubungkan arduino dengan menggunakan kabel USB ke laptop yang sudah terinstal aplikasi arduino IDE. Setelah itu, kita akan membuat listing program untuk menjalankan program sesuai dengan kondisi yang didapat. Pada percobaan terdapat 2 kondisi yang berbeda sehingga memiliki listing programnya masing-masing. Berikut ini masing-masing listing programnya dan penjelesannya :
*A. KONDISI 1*
Kondisi awal LED mati lalu hidup dan mati bergantian dari kiri ke kanan, kemudian LED hidup dan mati 2 LED bersamaan dari tengah ke ujung.
int led [ ] = {2, 3, 4, 5, 6, 7, 8, 9};
void setup()
{
for (int i = 0; i < 8; i++)
{
pinMode (led[i], OUTPUT);
}
}
void loop(){
for (int red = 0; red < 8; red++)
{
digitalWrite(led[red], HIGH);
delay(250);
digitalWrite(led[red], LOW);
delay(250);
}
for (int red = 3; red >=0; red--)
{
digitalWrite(led[red], HIGH);
digitalWrite(led[7-red], HIGH);
delay(250);
digitalWrite(led[red], LOW);
digitalWrite(led[7-red], LOW);
delay(250);
}
delay(250);
}
Dari listing program di atas dapat terlihat bahwa kita terlbih dahulu mendeklarasikan pin led yang terhubung dengan pin arduino dengan tipe data integer berupa array dari pin 2-9. Selanjutnya digunakan fungsi void setup() untuk menunjukkan kode didalamnya akan dibaca satu kali. Didalam fungsi ini terdapat perulangan for dengan tipe data integer dengan kondisi i dari 0 sampai <8 dan dincrementkan. Selanjutnya, didalam perulangan for terdapat pinMode untuk mendeklarasikan bahwa pin yang terhubung ke led berfungsi sebagai output. Selanjutnya, digunakan fungsi void loop() untuk mendeklarasikan bahwa kode yang berada didalamnya akan digunakan secara berulang. Didalam fungsi ini terdapat 2 perulangan for untuk kondisiyang berbeda dimana :
- Perulangan for yang pertama
for (int red = 0; red < 8; red++)
{
digitalWrite(led[red], HIGH);
delay(250);
digitalWrite(led[red], LOW);
delay(250);
}
Pada perulangan for ini kita akan menggunakan untuk membuat kondisi Kondisi awal LED mati lalu hidup dan mati bergantian dari kiri ke kanan dimana kita membuat perulangan for dengan tipe data integer dengan kondisi red dari 0 sampai <8 dan dincrementkan(red++). Selanjutnya digunakan
digitalWrite(led[red], HIGH); untuk menandakan bahwa led[red] dalam kondisi HIGH atau led menyala, yang kemudian diberikan delay 250ms terhadap kode selanjutnya dan d
igitalWrite(led[red], LOW); untuk menandakan bahwa led[red] dalam kondisi LOW atau led mati dan diberikan delay 250 ms untuk kode selanjutnya sehingga LED akan hidup dan mati bergantian dari ke kanan. Setelah led mencapai kondisi LED hidup dan juga mati saat LED ke-8, kemudian dilanjutkan ke kondisi perulangan for yang kedua.
- Perulangan for yang kedua
for (int red = 3; red >=0; red--)
{
digitalWrite(led[red], HIGH);
digitalWrite(led[7-red], HIGH);
delay(250);
digitalWrite(led[red], LOW);
digitalWrite(led[7-red], LOW);
delay(250);
}
Pada perulangan for ini kita akan menggunakan untuk membuat kondisi
LED hidup dan mati 2 LED bersamaan dari tengah ke ujung, dimana kita membuat perulangan for dengan tipe data integer dengan kondisi red dari 3 sampai >=0 dan didecrementkan(red--) Selanjutnya digunakan
digitalWrite(led[red], HIGH); untuk menandakan bahwa led[red] dalam kondisi HIGH atau led menyala dan
digitalWrite(led[7-red], HIGH); agar dapat 2 led secara serentak aktif dari tengah. Kemudian kita beri delay selama 250 ms untuk kode selanjutnya, kita juga membuat d
igitalWrite(led[red], LOW); & d
igitalWrite(led[7-red], LOW); agar 2 LED mati secara bersamaan dari tengah setelah sebelumnya hidup dan diberi delay 250ms untuk kode selanjutnya. Setelah LED mencapai kondisi hidup dan mati di ujung kiri dan kanan yakni di 1 & 8 dari susunan LED, maka kondisi akan kembali ke perulangan for yang pertama dimana terdapat jeda 250ms sebelum melakukan perulangan loop selanjutnya.
Setelah selesai membuat listing program maka kita akan menguploadnya dan LED akan hidup sesuai dengan Kondisi awal LED mati lalu hidup dan mati bergantian dari kiri ke kanan, kemudian LED hidup dan mati 2 LED bersamaan dari tengah ke ujung.
*KONDISI 2*
Kondisi awal LED mati lalu hidup dari kiri ke kanan dan LED mati dari kiri ke kanan secara bergantian, kemudian LED hidup dari kanan ke kiri.
int led [ ] = {2, 3, 4, 5, 6, 7, 8, 9};
void setup()
{
for (int i = 0; i < 8; i++)
{
pinMode (led[i], OUTPUT);
}
}
void loop(){
for (int red = 0; red < 8; red++)
{
digitalWrite(led[red], HIGH);
delay(250);
}
for (int red = 0; red < 8; red++)
{
digitalWrite(led[red], LOW);
delay(250);
}
for (int red = 7; red >=0; red--)
{
digitalWrite(led[red], HIGH);
delay(250);
}
delay(250);
}
Dari listing program di atas dapat terlihat bahwa kita terlbih dahulu mendeklarasikan pin led yang terhubung dengan pin arduino dengan tipe data integer berupa array dari pin 2-9. Selanjutnya digunakan fungsi void setup() untuk menunjukkan kode didalamnya akan dibaca satu kali. Didalam fungsi ini terdapat perulangan for dengan tipe data integer dengan kondisi i dari 0 sampai <8 dan dincrementkan. Selanjutnya, didalam perulangan for terdapat pinMode untuk mendeklarasikan bahwa pin yang terhubung ke led berfungsi sebagai output. Selanjutnya, digunakan fungsi void loop() untuk mendeklarasikan bahwa kode yang berada didalamnya akan digunakan secara berulang. Didalam fungsi ini terdapat 3 perulangan for untuk kondisi yang berbeda dimana :
- Perulangan for yang pertama
for (int red = 0; red < 8; red++)
{
digitalWrite(led[red], HIGH);
delay(250);
}
Pada perulangan for ini kita akan menggunakan untuk membuat kondisi LED hidup dari kiri ke kanan dimana kita membuat perulangan for dengan tipe data integer dengan kondisi red dari 0 sampai <8 dan dincrementkan(red++). Selanjutnya digunakan digitalWrite(led[red], HIGH); untuk menandakan bahwa led[red] dalam kondisi HIGH atau led menyala, yang kemudian diberikan delay 250ms terhadap kode selanjutnya
- Perulangan for yang kedua
for (int red = 0; red < 8; red++)
{
digitalWrite(led[red], LOW);
delay(250);
}
Pada perulangan for ini kita akan menggunakan untuk membuat kondisi LED mati dari kiri ke kanan dimana kita membuat perulangan for dengan tipe data integer dengan kondisi red dari 0 sampai <8 dan diincrementkan(red++). Selanjutnya digunakan digitalWrite(led[red], LOW); untuk menandakan bahwa led[red] dalam kondisi LOW atau led mati, yang kemudian diberikan delay 250ms terhadap kode selanjutnya
- Perulangan for yang ketiga
for (int red = 7; red >=0; red--)
{
digitalWrite(led[red], LOW);
delay(250);
}
Pada perulangan for ini kita akan menggunakan untuk membuat kondisi LED hidup dari kiri ke kanan dimana kita membuat perulangan for dengan tipe data integer dengan kondisi red dari 7 sampai >=0 dan dideccrementkan(red--). Selanjutnya digunakan digitalWrite(led[red], HIGH); untuk menandakan bahwa led[red] dalam kondisi HIGH atau led menyala, yang kemudian diberikan delay 250ms terhadap kode selanjutnya
delay(250);
}
Setelah led sudah menyelesaikan kondisi awal LED mati lalu hidup dari kiri ke kanan dan LED mati dari kiri ke kanan secara bergantian, kemudian LED hidup dari kanan ke kiri, maka kita beri delay 250 ms sebelum melakukan perulangan loop selanjutnya. Setelah selesai membuat listing program maka kita akan menguploadnya dan LED akan hidup sesuai dengan Kondisi kondisi awal LED mati lalu hidup dari kiri ke kanan dan LED mati dari kiri ke kanan secara bergantian, kemudian LED hidup dari kanan ke kiri.
1. Bagaimana jika LED di pasang terbalik (kaki anoda terhubung ke ground dan kaki katoda terhubung ke arduino)? dan jelaskan apa yang terjadi dan apa penyebabnya ?
Jawab :
Jika LED di pasang terbalik (kaki anoda terhubung ke ground dan kaki katoda terhubunng ke arduino) maka LED tidak menyala. Hal ini dikarenakan LED tidak mengalir arus dimana ketika LED dipasang terbalik diberi reverse bias, maka tegangan negatif akan membuat ion-ion tarik menarik dimana ion-ion negatif tertarik ke sisi katoda (N-type) yang diberi tegangan postif(ke arduino) dan ion-ion positif tertarik ke sisi anoda(P-type) yang diberi tegangan negatif (ground). Pergerakan ini menyebabkan depletion layernya semakin menebal dan menyebabkan arus tidak dapat mengalir melalui LED dan membuat LED tidak menyala
No comments:
Post a Comment