Anda di halaman 1dari 9

PERCOBAAN-1

Blink Internal
Menyalakan lampu Led di kaki 13 atau pin13. Led berkedip nyala padam dengan
selang waktu 1 detik atau delay (1000). Nyala demikian sering disebut BLINK.
1. Skema Rangkaian

2. Perangkat Keras

3. Perangkat Lunak
Aktifkan file Arduino.exe. Ketik program di bawah.
int led = 13;
void setup()
{
pinMode(led, OUTPUT);
}
void loop()
{
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
Kirim program ini ke chip Arduino dengan meng-klik menu Upload atau icon tanda panah
dalam lingkaran. Apabila Led di pin13 menyala berkedip, artinya program sudah tertanam
atau masuk di dalam chip.
4.Tugas
a. Buatlah periode kedipan lapu, menyala detik dan padam 1 detik.

b. Ketikan program di bawah, lalu kirim ke chip:


const int ledPin = 13;
int kondisiLed = LOW;
long t_awal = 0;
long interval = 1000;
void setup()
{
pinMode (ledPin, OUTPUT);
}
void loop()
{
unsigned long t_batas = millis();
if (t_batas - t_awal > interval)
{
t_awal = t_batas;
if (kondisiLed == LOW)
kondisiLed = HIGH;
else
kondisiLed = LOW;
digitalWrite(ledPin,kondisiLed);
}
}
PERCOBAAN-2
Blink Eksternal
Menyalakan lampu Led di kaki 2 atau pin2. Led berkedip nyala padam dengan selang waktu
detik atau delay (500).
1.Skema Rangkaian

2. Perangkat Keras
Hubungkan pin2 Arduino dengan salah satu Led di panel, hubungkan juga GND
Arduino dengan GND panel, agar kedua panel matching

Program
int led = 2;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
Kirim program ini ke chip Arduino dengan meng-klik menu Upload atau icon tanda panah
arah ke kanan dalam lingkaran. Apabila Led di panel menyala berkedip, artinya program
sudah tertanam di dalam chip.
1. Tugas
a. Buat lampu led menyala secara perlahan-lahan terang maksimum kemudian redup
perlahan-lahan lalu padam. Demikian setusnya. Ketik programnya
Int led = 2; angka dua sbg bil bulat variabel led
int V1 = 0;
int V2 = 5;
void setup() { setting chip
pinMode(led, OUTPUT); kondisi kaki dua sebagai output
}
void loop() {
analogWrite(led,V1); dikirim tegangan secara digital ke kaki nomor 2 tinggi
V1 = V1 + V2;
if (V1 == 0 || V1 == 255) {
V2 = -V2 ;
}
delay(50);
}
b. Buatlah running led dengan memanfaatkan 6 led di panel, led menyala arah ke kanan
atau ke kiri secara bergantian dengan selang waktu 0,1 sekon.
Buat programnya.
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
void setup() {
pinMode(led1, OUTPUT);

pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
}
void loop() {
digitalWrite(led1, HIGH);
delay(100);
digitalWrite(led1, LOW);
delay(100);
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led2, LOW);
delay(100);
digitalWrite(led3, HIGH); dikirim tegangan digital tegangan tinggi
delay(100);
digitalWrite(led3, LOW);
delay(100);
digitalWrite(led4, HIGH);
delay(100);
digitalWrite(led4, LOW);
delay(100);
digitalWrite(led5, HIGH);
delay(100);
digitalWrite(led5, LOW);
delay(100);
digitalWrite(led6, HIGH);
delay(100);
digitalWrite(led6, LOW);
delay(100);
}
c. Buat juga dengan program di bawah ini
int led[] = {2,3,4,5,6,7}; //teknik array atau ber indek
void setup() {
int n;
for (n=0; n<6; n++){
pinMode (led[n],OUTPUT);
}
}
void loop() {
int n;
int tunda=100;
for (n=0; n<6; n++){
digitalWrite (led[n],HIGH);
delay(tunda);
digitalWrite (led[n],LOW);
}
}
Kesimpulan. Kedua program di atas menghasilkan data sama. Karena menggunakan
teknik pengulangan atau looping yaitu fasilitas for.

d. Buatlah program running led agar arah gerakan runing bolak balik dari led1,led2 ...led6 dan
berganti dari led6,led5...led1 dst.
PERCOBAAN-3
LAMPU TRAFIC LIGHT
Rancanglah teknik penyalaan lampu trafict light seperti lampu dipersimpangan jalan!
1. Skema

2. Perangkat keras

3.Program
int merah=9;
int kuning=10;
int hijau=11;
void setup() {
pinMode(merah, OUTPUT);
pinMode(kuning, OUTPUT);
pinMode(hijau, OUTPUT);
}

Void loop() {
digitalWrite(merah, HIGH);
delay(1000);
digitalWrite(merah, LOW);
delay(2);
digitalWrite(kuning, HIGH);
delay(100);
digitalWrite(kuning, LOW);
delay(2);
digitalWrite(hijau, HIGH);
delay(1000);
digitalWrite(hijau, LOW);
delay(2);
}
2. Tugas
a. Modifikasi program di atas dengan teknik array dan dengan delay waktu tunda
berbeda-beda seperti tugas c pada Percobaan-2. Misal int tunda1=1000; int
tunda2=2;
b. Buat perangkat keras dan program lampu trafict light seperti gambar di bawah.
Sementara lampu dua arah hijau lampu dua arah lainnya merah denikian
sebaliknya.

PERCOBAAN-4
Menampilkan Teks di Monitor
Tujuan
Memasukan kalimat ke dalam Chip Atmega328, kemudian kalimat itu ditampilkan di
monitor komputer atau Laptop. Tujuan akhir dari percobaan ini adalah menampilkan teks atau
kalimat di monitor ukuran terbatas yang sering disebut LCD monitor.
Teori
Mikrokontroller Atmega328 Arduino bisa menampung char atau kode karakter dari
tombol keyboard. Char ini disusun membentuk kata dan kalimat disimpan di dalam memori
mikrokontroller. Kalimat itu dapat ditampilkan di dalam monitor komputer atau laptop.

Mikrokontroller Atmega328 juga dapat melakukan operasi matematika atau perhitungan


matematika seperti penjumlahan, pengurangan, perkalian, pembagian dan sebagainya.
Langkah-langkah
Hubungkan minkrokontroller Arduino kalian ke komputer atau laptop, pastikan Arduino
sudah terhubung komputer atau laptop dan dikenali melalui com tertentu. Program di bawah
menjumlahkan bilangan bulat (int) x dan bilangan bulat (int) y. Hasil penjumlahan x dan y
dijadikan bilangan bulat z. Persamaan matematika z=x+y artinya z,x dan y disebut sebagai
variabel. Ketik program di bawah. Pastikan program benar, lalu download program kemudian
klick tools serial monitor.
int x=4;
int y=3;
void setup() {
Serial.begin (9600);
}
void loop() {
int z=x+y;
Serial.print("z=");
Serial.print(x);
Serial.print(" + ");
Serial.print(y);
Serial.print("=");
Serial.print(z);
Serial.println(" cm");
delay(100);
}
Tugas
a. Buatlah sebuah program yang menampilkan kalimat Saya bisa memprogram
mikrokontroller dengan bahasa C+
b. Buat program penjumlahan bilangan pecahan (float) x=4.50 di tambah bilangan bulat
(int) y=3 sehingga hasilnya bilangan pecahan (float) z=7.50
c. Buat program 1) z=2*x-y dan 2) z=2*x/y

PERCOBAAN-5
INPUT OUTPUT(I/O)
Tujuan: Penekanan tombol sebagai input dan menyalakan LED sebagai output.
1. Skema Rangkaian

Pada kondisi tombol tidak ditekan di monitor tampil akan nol lampu padam
2. Perangkat keras. Rancanglah project seperti gambar di bawah.

3. Program. Ketikan program di bawah, kemudian download.


const int tombol = 2;
const int ledPin = 3;
int kondisitombol = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(tombol, INPUT);
}
void loop(){
kondisitombol = digitalRead(tombol);
if (kondisitombol == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}
4. Tugas

a. Buat program di bawah, dan tampilkan kondisi tombol di layar, dengan mengclick tools sorot serial monitor
void setup(){
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
pinMode(3, OUTPUT);
}
void loop(){
int kondisitombol = digitalRead(2);
Serial.println(kondisitombol);
if (kondisitombol== HIGH) {
digitalWrite(3, LOW);
}
else {
digitalWrite(3, HIGH);
}
}
b. Perhatikan skema dan perangkat keras di bawah, buatlah programnya. Lampu
akan hanya menyala jika ke-2 tombol ditekan bersamaan. Selain itu lampu padam.

Anda mungkin juga menyukai