MODUL 6 - Pemrograman Menggunakan String Dan Array - Zulfikar
MODUL 6 - Pemrograman Menggunakan String Dan Array - Zulfikar
A. TUJUAN PRAKTIKUM
1. Memahami penggunaan fungsi, string dan array pada Arduino
2.
B. PERALATAN
1. Arduino Uno 1 buah
2. Protoboard 1 buah
3. LED 5mm 1 buah
4. Resistor 220 ohm 6 buah
5. Kabel Jumper
C. DASAR TEORI
1. String
Text string dapat dituliskan ke dalam dua cara yaitu menggunakan tipe data String yang
merupakan bagian dari dasar versi 0019, atau dapat menggunakan sebuah string luar dari sebuah
array tipe char dan null-terminatenya.
Contoh
char Str1[15];
char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};
char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};
char Str4[ ] = "arduino";
char Str5[8] = "arduino";
char Str6[15] = "arduino";
Contoh:
char* myStrings[]={"This is string 1", "This is string 2", "This is string 3",
"This is string 4", "This is string 5","This is string 6"};
void setup(){
Serial.begin(9600);
}
void loop(){
for (int i = 0; i < 6; i++){
Serial.println(myStrings[i]);
delay(500);
}
}
2. Fungsi
2.1. pinMode()
Digunakan untuk mengkonfigurasi pin secara spesifik sebagai sebuah input atau
output.
Syntax
pinMode(pin, mode)
Parameter
pin : set nomor pin mode
mode : Input atau Output
Contoh :
int ledPin = 13; // LED terkoneksi pada digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT); // set digital pin sebagai output
}
void loop()
{
digitalWrite(ledPin, HIGH); // set LED on
delay(1000); // waktu tunggu dalam second
digitalWrite(ledPin, LOW); // set LED off
delay(1000); // waktu tunggu dalam second
}
2.2. digitalWrite()
Menuliskan logika HIGH atau LOW pada pin digital. Jika pin telah dikonfigurasi
sebagai OUTPUT dengan pinMode(), itu berarti arus akan diset dengan nilai 5V (atau
3.3V dalam board) untuk HIGH, 0V (ground) untuk LOW.
Jika pin dikonfigurasi sebagai INPUT, maka penulisan logika HIGH dengan
digitalWrite() akan membutuhkan sebuah resistor pullup internal 20K. penulisan LOW
akan mendisable pullup nya. Pullup resistor cukup untuk menyalakan LED dengan redup,
jadi jika LED bekerja namun samar, makan harus memperbaiki set pin ke output dengan
fungsi pinMode()
Syntax
digitalWrite(pin, value)
Parameters
pin: nomor pin
value: HIGH or LOW
Contoh
int ledPin = 13; // LED connected to digital pin 13
void setup()
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}
void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
2.3. digitalRead()
Membaca nilai dari spesifikasi digital pin yang bernilai HIGH atau LOW
Syntax
digitalRead(pin)
Parameter
pin : nomer dari digital pin yang ingin dibaca (int)
Contoh
int ledPin = 13; // LED terkoneksi pada digital pin 13
int inPin = 7; // pushbutton terkoneksi digital pin 7
int val = 0; // variable to store the read value
void setup()
{
pinMode(ledPin, OUTPUT); // sets digital pin 13 sebagai output
pinMode(inPin, INPUT); // sets digital pin 7 sebagai input
}
void loop()
{
val = digitalRead(inPin); // baca input pin
digitalWrite(ledPin, val); // sets LED untuk nilai pada button
}
mySensVals[0] == 2, mySensVals[1] == 4,
int myArray[10]={9,3,2,4,3,2,7,8,9,11};
// myArray[9] contains 11
// myArray[10] is invalid and contains random information (other memory
address)
Tidak seperi BASIC atau JAVA, dalam compiler C tidak mengecek untuk mengetahi jika
akses array sudah sesuai batas besaran array yang dideklarasikan sebelumnya.
int i;
for (i = 0; i < 5; i = i + 1) {
Serial.println(myPins[i]);
}
Praktikum
void setup()
{
for (int thisPin = 0; thisPin < jumlahPin; thisPin++)
{
pinMode(ledPins[thisPin], OUTPUT);
}
}
void loop()
{
delay(timer);
digitalWrite(ledPins[thisPin], LOW);
}
delay(timer);
digitalWrite(ledPins[thisPin], LOW);
}
}
6. Jika sudah, compile menggunakan tombol “verify”, cek apakah ada kesalahan pengetikan
sketch. Jika masih ada error coba di perbaiki lagi, mungkin ada kesalahan dalam
pengetikan.
7. Upload ke board Arduino menggunakan tombol “Upload” atau melalui File → Upload
Jika Program yang diupload benar dan tidak ada kesalahan dalam pemasangan rangkaian
elektronikanya maka, LED akan menyala secara bergiliran sesuai dengan urutan indexnya.