Modul Mikroprosesor 1-5
Modul Mikroprosesor 1-5
MIKROPROSSESOR
Disusun Oleh :
SIGIT PRAMONO,S.T.,M.T.
A. Sebelum Praktikum
1. Praktikan wajib :
a. Menunjukkan Kartu Peserta Praktikum yang sudah diisi dan
dilengkapi dengan foto berwarna terkini.
b. Menyediakan sendiri alat-alat tulis/gambar yang diperlukan.
c. Menguasai dasar teori dari unit modul praktikum yang akan
dilakukan.
d. Membawa buku panduan praktikum, baik dalam bentuk hardcopy
ataupun softcopy.
e. hadir tepat pada waktunya sesuai dengan jadwal yang telah
ditentukan. Bila keterlambatan melebihi 10 menit maka yang
bersangkutan tidak diperkenankan mengikuti praktikum dan baginya
tidak diberikan praktikum susulan.
2. Praktikan akan briefing pada saat Pre-Test
3. Praktikan diperbolehkan melakukan tukar-jadwal dengan praktikan lain
setelah konfirmasi ke asisten praktikum dan mengisi formulir tukar-jadwal
yang telah disediakan.
B. Selama Praktikum
1. Setiap unit modul sudah disediakan alat, tempat, dan bahan sendiri yang
tidak boleh diubah, diganti, atau ditukar kecuali dengan sepengetahuan
asisten.
2. Praktikan wajib membaca petunjuk langkah kerja dan mencatat hasil kerja
praktikum yang tercantum dalam modul praktikum ataupun sesuai arahan
asisten atau dosen pengampu.
3. Apabila menjumpai kesalahan, kerusakan, atau ketidaksesuaian dengan
langkah kerja praktikum, praktikan harus segera melapor pada asisten.
4. Khusus untuk praktikum yang berhubungan dengan sumber arus atau
tegangan, setelah selesai menyusun rangkaian sesuai langkah kerja,
praktikan harus melapor kepada asisten, dan dilarang menghubungkan
rangkaian dengan sumber tegangan atau arus tanpa seijin asisten.
5. Segala kerusakan yang terjadi karena kelalaian ataupun kesalahan
praktikan akibat tidak mengikuti langkah kerja praktikum ditanggung oleh
praktikan yang bersangkutan dan wajib untuk dilakukan penggantian
paling lambat 1 (satu) minggu setelah terjadinya kerusakan.
6. Praktikan yang berhalangan praktikum, wajib memberitahukan kepada
Dosen Praktikum maksimal 1 hari sebelum praktikum diadakan dengan
menyertakan surat alasan tidak hadir saat praktikum dan bagi yang sakit
menyertakan surat dokter (terkecuali bagi yang mendadak hari disaat
praktikum yang bersangkutan sakit, ada pertimbangan tersendiri). Jika
tidak, maka bagi yang bersangkutan diberikan praktikum susulan.
7. Praktikan tidak diperkenankan bersenda gurau dan atau meninggalkan
ruangan praktikum tanpa seijin asisten atau dosen pengampu, serta
bersikap tidak sopan terhadap para asisten atau dosen pengampu.
8. Praktikan diwajibkan mengembalikan alat-alat yang digunakan dan
dilarang meninggalkan ruangan praktikum sebelum mendapat izin dari
asisten atau pengampu praktikum.
9. Asisten praktikum berwenang memberikan tindakan terhadap Praktikan
yang melanggar aturan, dengan sepengetahuan Dosen Praktikum.
C. Setelah Praktikum
1. Lembar data praktikum wajib mendapatkan persetujuan atau tanda tangan
dari asisten, bila tidak maka data tersebut akan dinyatakan tidak sah.
2. Laporan praktikum dikumpulkan ke asisten sesuai dengan aturan yang
telah ditetapkan sebelumnya.
3. Praktikan akan diberi pos-test oleh Dosen Praktikum dibantu oleh asisten
praktikum.
D. Ketentuan Lain
1. Praktikum susulan diselenggarakan hanya untuk mahasiswa yang
berhalangan hadir pada saat praktikum dikarenakan sakit, menikah, orang
tua/wali atau saudara kandung meninggal, dan dispensasi mengikuti
kegiatan dari kampus.
2. Praktikum susulan akan terselenggara, jika mahasiswa yang bersangkutan
dapat menunjukkan surat keterangan resmi, seperti : Surat Keterangan
Sakit dari dokter dan Surat Dispensasi dari bagian Akademik/
Kemahasiswaan.
3. Penyelenggara praktikum susulan hanya diperbolehkan atas seijin Dosen
Praktikum dan Ka.Ur. Laboratorium.
MODUL PRAKTIKUM
MIKROPROSSESOR
MODUL I
DIGITAL INPUT & DIGITAL OUTPUT
Disusun Oleh :
SIGIT PRAMONO, S.T., M.T.
A. Tujuan Praktikum
1. Mahasiswa mampu memahami pembagian port dan pin pada Board
Arduino Uno R3.
2. Mahasiswa mampu memahami fungsi pin I/O pada Board Arduino Uno
R3 sebagai input dan output.
3. Mahasiswa mampu mengkonfigurasi pin I/O Arduino Uno R3 sebagai
input dan output.
4. Mahasiswa mampu membuat program yang menggunakan pin I/O
Arduino Uno R3.
5. Mahasiswa Mampu menggunakan Arduino IDE untuk memprogram dan
mengupload program ke Board Arduino Uno R3.
C. DASAR TEORI
1. Pengenalan Arduino
Arduino (http://arduino.cc) adalah platform komputasi open source
yang terdiri dari perangkat keras berupa Board Arduino dan perangkat
lunak pemrograman, Arduino IDE. Arduino lahir di Italia pada tahun 2005
dari sebuah proyek thesis Hernando Barragan bernama Wiring
(http://wiring.org.co/). Proyek tersebut berupa sebuah Board rangkaian
elektronik menggunakan Microcontroller ATMEL ATmega644P
diprogram menggunakan perangkat lunak yang dibangun dari bahasa
pemrograman Processing (http://processing.org). Arduino awalnya
dikembangkan oleh Massimo Banzi dan David Cuartielles yang kemudian
menjadi sebuah tim dengan bergabungnya Tom Igoe, Gianluca Martino
dan David Mellis.
Arduino banyak dipilih sebagai proyek pengembangan
Microcontroller karena beberapa alasan berikut ini:
Ekonomis
Board Arduino dapat dirakit sendiri atau dibeli dengan harga di bawah
$50 (termasuk asesorinya).
Lintas Platform
Arduino IDE dapat dijalankan dalam komputer menggunakan sistem
operasi Windows, Linux atau Mac. Sebagian besar perangkat lunak
untuk sistem Microcontroller biasanya hanya berjalan di Windows.
Lingkungan Pemrograman yang Sederhana
Antarmuka Arduino IDE bersifat sederhana, mudah dipahami bagi
pemula di bidang Microcontroller dan fleksibel bagi mereka yang ahli.
Open Source dengan Perangkat yang Dapat Dikembangkan
Arduino IDE dapat ditambahkan berbagai pustaka untuk
menambahkan fitur-fitur tertentu. Skematik dari rangkaian
Microcontroller juga dapat dimodifikasi lebih lanjut untuk berbagai
proyek.
2. Arduino Uno R3
Salah satu jenis Board Arduino yang banyak digunakan adalah
Arduino Uno. Board ini menggunakan Microcontroller ATmega328
sebagai pemroses utama dan ATmega16U untuk komunikasi serial. Catu
daya rangkaian diperoleh dari konektor DC atau kabel USB yang juga
berfungsi sebagai konektor terhadap PC untuk download program ke mikr.
Versi terbaru dari Arduino Uno adalah R3 (Revision 3) dengan tampilan
dan bagian-bagiannya sebagai berikut ini: Hardware arduino memiliki
prosesor Atmel AVR dan software arduino memiliki bahasa pemrograman
Memori yang dimiliki oleh Arduino Uno sebagai berikut : Flash Memory
sebesar 32KB, SRAM sebesar 2KB, dan EEPROM sebesar 1KB. Clock
pada board Uno menggunakan XTAL dengan frekuensi 16 Mhz. Dari segi
daya, Arduino Uno membutuhkan tegangan aktif kisaran 5 volt, sehingga
Uno dapat diaktifkan melalui koneksi USB. Arduino Uno memiliki 28
kaki yang sering digunakan. Untuk Digital I/O terdiri dari 14 kaki, kaki 0
sampai kaki 13, dengan 6 kaki mampu memberikan output PWM (kaki
3,5,6,9,10,dan 11). Masing-masing dari 14 kaki digital di Uno beroperasi
dengan tegangan maksimum 5 volt dan dapat memberikan atau menerima
maksimum 40mA.
Untuk Analog Input terdiri dari 6 kaki, yaitu kaki A0 sampai kaki A5.
Kaki Vin merupakan tempat input tegangan saat menggunakan sumber
daya eksternal selain USB dan adaptor.
3. Spesifikasi Arduino Uno R3
Tabel 1. Spesifikasi Arduino Uno R3
Mikrokontroler ATmega328
OperasiTegangan 5 Volt
Input Tegangan 7-12 Volt
Pin I/O Digital 14
Pin Analog 6
Arus DC tiap pin I/O 50 mA
Arus DC ketika 3.3V 50 mA
Memori flash 32 KB
SRAM 2 KB
EEPROM 1 KB
Kecepatan clock 16 MHz
void setup()
{
pinMode(led, OUTPUT);
}
void loop()
{
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
10. Kemudian klik menu Tools, Lalu pilh tipe board yang sedang di
gunakan yaitu Arduino/Genuino Uno. Setelah itu pastikan pada Port
bahwa Arduino Uno yang kita gunakan terdeteksi dan pilih port
tersebut.
2. Hubungkan kaki positif (anoda) dari LED hijau ke pin 8 dari Arduino.
Hubungkan juga kaki positif (anoda) dari LED merah ke pin 9 dari
Arduino. Semua koneksi menggunakan kabel male-to-male.
3. Pastikan rangkaian sudah sesuai dengan gambar diatas.
4. Buat berkas baru pada Arduino IDE dan Ketik kode program seperti
di bawah ini dan simpan dengan nama berkas flipflop.
//Program Flip-flop
int merah = 9;
int hijau = 8;
int waktu = 1000;
void setup()
{
pinMode(merah, OUTPUT);
pinMode(hijau, OUTPUT);
}
void loop()
{
digitalWrite(merah, HIGH);
digitalWrite(hijau, LOW);
delay(waktu);
digitalWrite(merah, LOW);
digitalWrite(hijau, HIGH);
delay(waktu);
}
5. Hubungkan board Arduino dengan komputer/laptop. Lalu upload
program ke dalam board Arduino.
Percobaan #3: LED Berjalan (Running LED)
1. Siapkan 6 buah LED dan 6 buah resistor 220 Ω. Buatlah rangkaian
seperti gambar berikut :
void setup()
{
for(led = 2; led <= 7; led++)
{
pinMode(led, OUTPUT);
digitalWrite(led, LOW); //Mematikan semua
LED
}
}
void loop()
{
for(led = 2; led <= 7; led++)
{
digitalWrite(led, HIGH);
delay(waktu);
digitalWrite(led, LOW);
}
}
4. Hubungkan board Arduino yang sudah di rangkai dengan
komputer/laptop. Lalu lakukan upload program kedalam Arduino.
C. Digital Input
Percobaan #1: LED Menyala dengan Tombol Saklar (Pushbutton
Switch)
1. Siapkan 1 buah LED, 1 buah resistor 220 Ω, 1 buah resistor 10K Ω dan
1 buah switch button dan buatlah rangkaian seperti gambar berikut ini.
void setup()
{
pinMode(led, OUTPUT);
pinMode(tombol, INPUT);
}
void loop()
{
masukan = digitalRead(tombol);
if(masukan == HIGH)
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
}
4. Hubungkan board Arduino dengan komputer/laptop. Lakukan upload
program kedalam Arduino.
[5] Apakah fungsi dari digitalWrite() dan digitalRead()?
[6] Apakah maksud dari printah berikut ini :
int tombol_led = 6;
int buzzer = 7;
[7] Apakah arti dari delay(1500)?
[8] Apakah arti dari status HIGH dan LOW pada script yang anda
gunakan?
[9] Apa persamaan dari bahasa pemograman C++ dan bahasa
pemograman Arduino?
void setup()
{
pinMode(led, OUTPUT);
pinMode(tombol_led, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(tombol_buzzer, INPUT);
}
void loop()
{
if(digitalRead(tombol_buzzer) == HIGH)
{
digitalWrite(buzzer, HIGH);
}
else
{
digitalWrite(buzzer, LOW);
}
if(digitalRead(tombol_led) == HIGH)
{
status = !status;
delay(200);
}
if(status == true)
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
}
TUGAS
1. Jawablah 11 pertanyaan yang telah di sisipkan diatas!
2. Buatlah Simulasi & Program lampu lalu lintas (traffic light) di sebuah
pertigaan dengan ketentuan :
Output 9 lampu LED
Lampu kuning hidup selama 1 detik
Lampu Hijau1 (X+2)detik
Lampu Hijau2 hidup selama (Y+2) detik
Lampu Hijau3 hidup selama (Z+2) detik
MODUL II
Akses LCD Karakter 16x2 & Analog to Digital
Converter(ADC)
Disusun Oleh :
SIGIT PRAMONO, S.T., M.T.
I. Tujuan Praktikum
1. Mahasiswa mampu memahami cara kerja dari pin analog to digital
converter (ADC) pada Arduino Uno R3.
2. Mampu memahami pegaruh nilai tegangan referensi terhadap hasil
konversi analog to digital converter (ADC)
3. Mahasiswa mampu memahami penggunaan Serial Monitor pada Arduino
IDE.
4. Mahasiswa mampu memahami cara mengakses LCD 16x2 dengan
Arduino Uno R3.
5. Mahasiswa mampu merangkai dan memprogram pin ADC Arduino Uno
R3 sebagai inputan sebuah sensor suhu LM35.
6. Mahasiswa mampu menampilkan hasil pembacaan nilai dari pin ADC
kedalam LCD 16x2.
Ada 2 faktor yang perlu diperhatikan pada proses kerja ADC yaitu
kecepatan sampling dan resolusi. Kecepatan sampling menyatakan
seberapa sering perangkat mampu mengkonversi sinyal analog ke dalam
bentuk sinyal digital dalam selang waktu yang tertentu. Biasa dinyatakan
dalam sample per second (SPS). Sementara Resolusi menyatakan tingkat
ketelitian yang dimilliki. Pada Arduino, resolusi yang dimiliki adalah 10
bit atau rentang nilai digital antara 0 - 1023. Dan pada Arduino tegangan
referensi yang digunakan adalah 5 volt, hal ini berarti ADC pada Arduino
mampu menangani sinyal analog dengan tegangan 0 - 5 volt.
Rumus untuk menghitung nilai ADC adalah sebagai berikut:
3. Pengenalan LM 35
Sensor suhu IC LM 35 merupkan chip IC produksi Natioanal
Semiconductor yang berfungsi untuk mengetahui temperature suatu objek
atau ruangan dalam bentuk besaran elektrik, atau dapat juga di definisikan
sebagai komponen elektronika yang berfungsi untuk mengubah perubahan
temperature yang diterima dalam perubahan besaran elektrik. Sensor suhu
IC LM35 dapat mengubah perubahan temperature menjadi perubahan
tegangan pada bagian outputnya. Sensor suhu IC LM35 membutuhkan
sumber tegangan DC +5 volt dan konsumsi arus DC sebesar 60 µA dalam
beroperasi.
PROSEDURE PRAKTIKUM
Percobaan #1: Mengakses LCD 16x2
1. Langkah pertama pada percobaan Akses LCD 16x2 adalah menyiapkan
alat dan bahan yang di butuhkan yaitu : Arduino Uno R3, Kabel USB
Type A to Type B, Breadboard, LCD 16x2, Potensio 10K, Resistor 220
Ohm dan kabel jumper secukupnya.
2. Kemudian rangkai lah seperti gambar di bawah ini :
3. Hubungkan Kaki LCD seperti ketentuan berikut :
VSS : GND
VDD : 5V
V0 : Pin 2 Potensio.
RS : Pin 12 Arduino
RW : GND
E : Pin 11 Arduino
D4 : Pin 5 Arduino
D5 : Pin 4 Arduino
D6 : Pin 3 Arduino
D7 : Pin 2 Arduino
A : Kaki Resistor 220 Ohm
K : GND
4. Pastikan semua rangkaian sudah seperti pada gambar ketentuan dan
gambar diatas.
5. Buka Arduino IDE dan ketik program seperti di bawah ini, simpan dengan
nama LCD1.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //(rs,
enable, d4, d5, d6, d7)
String materi1 = "ADC", materi2 = "LCD";
int counter = 0;
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop()
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Modul 2 - Mikro");
lcd.setCursor(0, 1);
lcd.print(materi1);
lcd.setCursor(4, 1);
lcd.print(char(38));
lcd.setCursor(6, 1);
lcd.print(materi2);
delay(1500);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Counter : ");
lcd.print(counter);
Serial.println("Modul 2 - Mikro");
Serial.print(materi1);
Serial.print(char(38));
Serial.println(materi2);
Serial.print("Counter : ");
Serial.println(counter);
Serial.println();
counter++;
delay(1000);
}
6. Hubungkan board Arduino ke laptop/komputer.
7. Upload program ke dalam board Arduino.
8. Jika tulisan tidak terlalu jelas, maka potensio pada LCD bisa di putar ke
kanan dan kekiri untuk memperjelas kontras tulisan pada LCD.
[1] Apa maksud dari 16x2 pada spesifikasi LCD yang di pakai saat
praktikum?
[2] apa yang terjadi pada LCD jika pada baris ke 1 kita menuliskan tulisan
“IT TELKOM PURWOKERTO”, dan mengapa bisa terjadi seperti
itu?
[3] Apa maksud dari setCursor dibawah ini :
lcd.setCursor(4, 1);
lcd.print(char(38));
Tabel Percobaan ke 3
LCD Pengukuran Perhitungan
Vref
Vin ADC Temp Vin ADC Temp
5v
[4] Apa yang di maksud sinyal analog dan digital pada pengertian ADC?
[5] Apa perintah yang digunakan untuk membaca nilai ADC pada pin
A4?
[6] Mengapa pembacaan nilai ADC maksimal 1023/1024?
[7] Berapakah nilai tegangan Refrensi default jika kita tidak
menginputkan tegangan Refrensi eksternal?
Percobaan #3: Alarm Suhu Ruangan sederhana dengan Buzzer
1. Pada percobaan ke 4 ini, cukup menambahkan rangkaian buzzer 5v pada
breadboard seperti gambar rangkaian dibawah ini.
2. Tulisakan kode program seperti dibawah ini. Dan simpan dengan nama
ALARM.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define sensorsuhu A5
float suhu_max = 29;
int buzzer = 7;
void setup()
{
lcd.begin(16, 2);
pinMode(buzzer, OUTPUT);
}
void loop()
{ int vref = 5;
int adc = analogRead(sensorsuhu);
float mv = ( adc / 1024.0) * (vref * 1000);
float cel = mv / 10;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("TEMP:");
lcd.print(cel);
lcd.print(char(223));
lcd.print("C");
MODUL III
Komunikasi I2C, Digital Sensor dan Keypad
Disusun Oleh :
SIGIT PRAMONO,S.T.,M.T.
Karakteristik Electrikal
Power supply: DC 3.5 – 5.5V
Konsumsi arus: measurement 0.3mA, standby 60μ A
Periode sampling : lebih dari 2 detik
3. Setelah itu arahkan ke folder tempat menyimpan library tersebut, lalu pilih
library yang ingin di masukan. Dan klik open.
4. Jika berhasil maka akan ada notifikasi “library added to your libraries”
Percobaan #1: Scanning Alamat Pada modul I2C.
1. Siapkan alat dan bahan yang di butuhkan, yaitu LCD 16x2, breadboard,
modul I2C dan jumper female to male secukupnya.
2. Rangkailah seperti gambar di bawah ini.
if (error == 0)
{
Serial.print("I2C terbaca pada alamat 0x");
if (address < 16)
Serial.print("0");
Serial.print(address, HEX);
Serial.println(" !");
nDevices++;
}
}
if (nDevices == 0)
Serial.println("Tidak ada satupun alamat I2C
yang ditemukan\n");
else
Serial.println("selesai\n");
delay(3000);
}
4. Hubungkan board Arduino ke Laptop/komputer. Lalu lakukan upload
program.
5. Setelah berhasil, bukalah Serial monitor untuk melihat hasil pembacaan
alamat I2C.
void loop()
{
int humidity = dht.readHumidity();
float celcius = dht.readTemperature();
lcd.setCursor(0,0);
lcd.print("Hum :");
lcd.print(humidity);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Temp:");
lcd.print(celcius);
lcd.print(char(223));
lcd.print("C");
delay(500);
}
4. Setelah program di simpan. Hubungkan board Arduino ke
laptop/komputer. Lakukan upload program.
5. Setelah upload program berhasil maka LCD akan menampilkan Tempratur
suhu dalam satuan drajat celsius. Dan menampilkan nilai dalam satuan %.
6. Jika tulisa tidak terlihat, bisa di atur tingkat kejelasan text nya dengan
memutar variabel resistor pada modul I2C seperti gambar di bawah ini
menggunakan obeng +.
[4] Apa fungsi dari modul I2C, apa bedanya dengan menggunakan dan
tidak menggunakan modul I2C pada LCD 16x2?
[5] Apa bedanya pada saat kemarin menggunakan LM35 dan sekarang
menggunakan DHT 11?
[6] Kenapa DHT 11 disebut sensor digital? Dan kenapa LM35 disebut
sensor analog?
Percobaan #3: Akses Keypad Matrix 4x4
1. Pada percobaan ke 3 ini, cukup melepaskan rangkaian DHT 11 dan
menambahkan keypad pada arduino, pastikan rangkai sesuai gambar
dibawah ini.
void setup() {
lcd.begin();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Key Is : ");
}
void loop() {
char key = keypad.getKey();
if (key) {
lcd.setCursor(9, 0);
lcd.print(key);
}
}
4. Hubungkan board Arduino ke laptop/komputer. Lalu upload program.
[7] Apa fungsi dari sebuah library?
[8] Kenapa keypad yang digunakan disebut keypad matrix?
[9] Apa maksud dari potongan program berikut :
char key = keypad.getKey();
if (key)
void setup() {
lcd.begin();
lcd.backlight();
reset();
}
void reset()
{ lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sistem Keamanan");
lcd.setCursor(0, 1);
lcd.print("PIN:");
state = 0;
code = 0;
}
void gagal()
{ lcd.setCursor(0, 0);
lcd.print("Password Salah!");
delay(2000);
lcd.clear();
reset();
}
void sukses()
{ a:
lcd.setCursor(0, 0);
lcd.print("Login Sukses..!");
lcd.setCursor(0, 1);
lcd.print("* : Logout");
char key = keypad.getKey();
if (key != '*')
{
goto a;
}
else
{
reset();
}
}
void loop() {
char key = keypad.getKey();
if (key)
{ if (key != '#')
{
lcd.setCursor(state + 5, 1);
if (data_pass[state] == key)
{ code++;
}
else
{
code--;
}
lcd.print("*");
delay(100);
state++;
}
else
{ if (code == 6)
{
lcd.clear();
sukses();
}
else
{
lcd.clear();
gagal();
}
}
}
}
3. Hubungkan board Arduino ke laptop/komputer. Lalu upload program.
4. Untuk variabel yang menentukan batas maksimal suhu, bisa disesuaikan
sesuai kondisi suhu ruangan saat praktikum.
[10] Apa fungsi dari sebuah void/fungsi?
[11] Mengapa pada percobaan ke 4 variabel data_pass menggunakan tipe
data char dan aray?
[12] Mengapa di butuhkan void reset ?
[13] Apa maksud dari potongan program berikut :
goto a;
[14] Mengapa pada saat percobaan ke 3 key yang di tekan berubah2 di
LCD, tidak bergeser ke kanan?
[15]
TUGAS
1. Jawablah 14 pertanyaan yang telah di sisipkan di setiap percobaan!
2. Modifikasilah program pada percobaan ke 4, sehingga memenuhi
ketentuan berikut :
Panjang PIN adalah Digit terakhir dari NIM Praktikan.
Contoh : 17201024 = maka panjang pin adalah 4 digit.
(note : jika digit NIM terakhir = 0 maka, panjangnya adalah 10 digit).
Jika sudah 3 kali gagal, maka ada tulisan “PIN DIBLOKIR”dan user
tidak bisa memasukan pin lagi.
MODUL PRAKTIKUM
MIKROPROSSESOR
MODUL IV
Modul GSM dan Komunikasi Serial
Disusun Oleh :
SIGIT PRAMONO, S.T., M.T.
2. SIM800C.
SIM800 adalah salah satu modem GSM/GPRS yang bekerja di
empat band frekuensi, yakni 850, 900, 1800 dan 1900 MHZ. Sedangkan
GPRs-nya mengadopsi teknologi multi slot class 12/10 dan mendukung
skema coding GPRS CS1-CS4.
3. AT Commands SIM800C
AT Command merupakan kepanjangan dari Attention Command,
dan selalu digunakan untuk memulai pengiriman baris perintah dari
Terminal Equipment (TE) kepada Terminal Adaptor (TA). AT Command
yang diberikan kepada modem GSM/CDMA dilakukan untuk melakukan
sesuatu hal. Setiap versi dari Modul GSM memiliki daftar AT Command
tersendiri yang biasanya di kumpulkan dalam 1 Ebook pdf. Untuk
SIM800C sendiri AT-Command yang di gunakan adalah “SIM800
Series_AT Command Manual_V1.09”
PROSEDURE PRAKTIKUM
Percobaan #1: Mengakses SIM800C
1. Siapkan Board Arduino UNO, Modul SIM800C, SIM CARD serta kabel
jumper Male to Male secukupnya. Pasang Antena dan Masukan SIM
CARD kedalam Modul GSM SIM800C Seperti Gambar di bawah ini :
void power()
{
pinMode(9, OUTPUT);
digitalWrite(9, HIGH);
delay(2500);
digitalWrite(9, LOW);
}
void power()
{
pinMode(9, OUTPUT);
digitalWrite(9, HIGH);
delay(2500);
digitalWrite(9, LOW);
}
2. Setelah itu hubungkan arduino ke komputer/laptop dan lakukan upload
program ke Board Arduino.
3. Setelah berhasil, bukalah Serial monitor.
[8] Apa kegunaan dari karakter "\" pada perintah
SIM800C.println("AT+CMGS=\"082321376118\"\r");
[9] Sebutkan minimal 4 perangkat yang menggunakan Komunikasi
Serial!
[10] Sebutkan minimal 2 perangkat yang menggunakan AT Command
manual!
TUGAS
1. Jawablah pertanyaan yang telah di sisipkan di setiap percobaan di atas.
2. Ubah perintah-perintah manual pada percobaan ke 4 menjadi sebuah
program seperti pada percobaan ke 5.
MODUL V
Komunikasi Ethernet
Disusun Oleh :
SIGIT PRAMONO, S.T., M.T.
Serial.println(perangkat[Ethernet.hardwareStatus()])
;
}
void loop()
{
}
[1] Apa kegunaan dari library <SPI.h>?
6. Hubungkan board Arduino ke Laptop/komputer. Lalu lakukan upload
program.
7. Setelah berhasil, bukalah Serial monitor untuk melihat data jaringan yang
di dapatkan pada DHCP router.
8. Kemudian buka “Command Prompt” atau CMD pada komputer. Lakukan
PING pada IP yang di dapatkan.
void setup()
{ Serial.begin(9600);
Serial.println("Ethernet - Static IP Address");
Ethernet.begin(mac, ip, dns, gateway, subnet);
Serial.print("Local IP Address : ");
Serial.println(Ethernet.localIP());
Serial.print("IP Gateway : ");
Serial.println(Ethernet.gatewayIP());
Serial.print("Subnet Mask : ");
Serial.println(Ethernet.subnetMask());
Serial.print("DNS Server IP : ");
Serial.println(Ethernet.dnsServerIP());
byte macBuffer[6];
Ethernet.MACAddress(macBuffer);
Serial.print("MAC Address : ");
for (byte octet = 0; octet < 6; octet++)
{
Serial.print(macBuffer[octet], HEX);
if (octet < 5) {
Serial.print('-');
}
}
Serial.println();
Serial.print("Status Perangkat : Ethernet");
Serial.println(perangkat[Ethernet.hardwareStatus()
]);
}
void loop()
{
}
[6] Apa yang membedakan printah DHCP dan Static IP pada kode
program?
8. Hubungkan board Arduino ke Laptop/komputer. Lalu lakukan upload
program.
9. Setelah berhasil, bukalah Serial monitor untuk melihat data jaringan yang
telah di atur.
10. Kemudian buka “Command Prompt” atau CMD pada komputer. Lakukan
PING pada IP yang tertulis pada BOX.
2. Pastikan bagian tengah/output dari LM35 terhubung dengan A0, lalu kaki
(+) dengan 5V dan kaki (–) terhubung dengan GND.
3. Buka Arduino IDE. Kemudian ketik program di bawah ini dan ganti MAC
address serta IP address sesuai yang tertulis pada box, lalu simpan dengan
nama web_server_monitoring_suhu.
#include <SPI.h>
#include <Ethernet.h>
byte mac[ ] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE,
0xED};
IPAddress ip(192, 168, 137, 10);
EthernetServer server(80);
void setup()
{
Serial.begin (9600);
Ethernet.begin(mac, ip);
server.begin();
}
void loop( )
{ float suhu = analogRead(A0) / 2.0479;
EthernetClient Ethernet = server.available();
if (Ethernet){
boolean currentLineIsBlank = true;
while (Ethernet.connected ())
{
if (Ethernet.available())
{
char character = Ethernet.read ( );
Serial.write(character);
if (character == '\n' &&
currentLineIsBlank)
{
Ethernet.println ("HTTP/1.1 200 OK");
Ethernet.println ("Content-Type:
text/html");
Ethernet.println ("Connection: close");
Ethernet.println ("Refresh: 3");
Ethernet.println ();
Ethernet.println ("<!DOCTYPE HTML>");
Ethernet.println ("<html>");
Ethernet.print ("<Title>Modul
5</Title>");
Ethernet.print ("<h1>IOT - Monitoring
Suhu</h1>");
Ethernet.print ("<h3>Suhu: ");
Ethernet.print (suhu);
Ethernet.print (" C</h3>");
Ethernet.println ("<br>");
Ethernet.println ("</html>");
break;
}
if ( character == '\n')
{
currentLineIsBlank = true;
}
else if (character != '\r')
{
currentLineIsBlank = false;
}
}
}
delay(1);
Ethernet.stop();
Serial.println("Ethernet disconnected");
}
}
4. Hubungkan board Arduino ke Laptop/komputer. Lalu lakukan upload
program.
5. Kemudian buka WEB Browser pada Laptop dan ketik IP yang tertulis
pada BOX.
}
}
}
}
}
4. Hubungkan board Arduino ke Laptop/komputer. Lalu lakukan upload
program.
5. Kemudian buka WEB Browser pada Laptop dan ketik IP yang tertulis
pada BOX.
6. Buka Serial Monitor.
[12] Apa maksud dari fungsi “readString.indexOf” ?
[13] Mengapa kita dapat memonitoring suhu dan mengontrol LED pada
jaringan yang tidak terhubung dengan internet?
TUGAS
1. Jawablah 13 pertanyaan yang telah di sisipkan di setiap percobaan di atas!
2. Cari penjelasan tentang fungsi dan kegunaan dari 12 fitur yang disediakan
pada Library Ethernet seperti gambar dibawah ini :