0% menganggap dokumen ini bermanfaat (0 suara)
66 tayangan42 halaman

Arduino and Serial Communication 2023

Sistem Tertanam 2023 membahas tentang mikrokontroler, Arduino Uno, komunikasi serial, dan contoh aplikasi. Topik utama meliputi pengenalan Arduino Uno, ESP8266, protokol dan fungsi komunikasi serial, serta latihan-latihan praktik menggunakan komunikasi antar-Arduino dan antara Arduino-komputer."

Diunggah oleh

ilham
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
66 tayangan42 halaman

Arduino and Serial Communication 2023

Sistem Tertanam 2023 membahas tentang mikrokontroler, Arduino Uno, komunikasi serial, dan contoh aplikasi. Topik utama meliputi pengenalan Arduino Uno, ESP8266, protokol dan fungsi komunikasi serial, serta latihan-latihan praktik menggunakan komunikasi antar-Arduino dan antara Arduino-komputer."

Diunggah oleh

ilham
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 42

Sistem Tertanam 2023

Arduino Uno & Serial Communication

Dosen Sistem Tertanam


Outline materi

• Mikrocontroller
• Tour of Arduino Uno V3
• Tour of ESP 8266
• Komunikasi Serial (Protokol dan
Fungsi)
• Contoh dan Latihan
Mikrocontroller
• Microcontroller :
Micro-computer,
controlling
something
• Sometimes called as
“mcu” or
Microcontroller Unit
Tour of Arduino Uno
ATMega328
Arduino Uno as
Development
Board

• Memudahkan proses
development
• Sudah memiliki rangkaian
daya (vcc dan ground)
• Input / Output Pin
• Integrated with IDE
Open source : menyebabkan clone-
board lebih laris daripada original
board
Arduino Uno
as Cross Platform
Development
Board
Bahasa yang sederhana
ARDUINO IDE
• Lahir di italia
• Kemiripan sintaks
dengan C
• Koleksi library third
party
• Multi - OS
A rdui no delay(ms)
Timing
delayMicroseconds
Serial
Communication
Varian
Arduino
Komunikasi Serial TX dan RX
Serial

Komunikasi serial Arduino memungkinkan kita dapat mengontrol Arduino


melalui komputer agar dapat memantau sesuatu yang terjadi padanya.

Komunikasi yang terjadi secara serial hanya membutuhkan 2 wire saja


yaitu RX dan TX. RX biasa disebut sebagai Receive sedangkan TX disebut
sebagai Transmit.

Pin komunikasi serial Arduino terletak pada pin digital 0 (RX) dan 1 (TX),
yang terhubung juga pada USB to Serial
Protokol UART (Universal Async
Receiver Transmitter)
UART (Async)
Komunikasi UART adalah asinkron, tidak ada clock bersama yang
mengatur atau menentukan kecepatan transfer data antara perangkat TX
dan RX.

Dalam komunikasi asinkron UART, kedua perangkat yang terlibat dalam


komunikasi harus disinkronkan dengan mengatur laju baud rate yang
sama.

Komunikasi asinkron mengandalkan elemen-elemen khusus dalam frame


data, yaitu start bit dan stop bit, untuk menyinkronkan komunikasi.
Karakteristik Protokol
UART

• Asynchronous:
• Dua Jalur
• Data Frame
• Parity (Opsional)
• Duplex (Full Duplex dan Half Duplex)
• Flow Control (Opsional)
• Keandalan
• Beragam Aplikasi
Serial Komunikasi
Lanjutan
Bekerja pada
1. Level tegangan logic 5v dan 3.3 V
2. Jika tegangan tidak sesuai (voltage divider)

• Library: SoftwareSerial.h (pin digital untuk


tx dan rx)
• Dalam pengirim dapat mengirimkan
beberapa bit data
Serial
Monitor
• Serial Monitor digunakan
untuk mentransfer data dari
PC ke Arduino board dan
menerima data dari arduino
board.
• Selain dengan tool serial
monitor yg terdapat pada IDE
arduino anda juga bisa
menggunakan tool serial lainya
seperti hyperterminal, putty
dll untuk mengirim dan
menerima data pada PC Anda.
Baud Rate (Bit Per Seconds)

Nilai baud rate dapat diatur


Baud rate mengindikasikan
dengan menggunakan standar
seberapa cepat data dikirim
kecepatan yang disediakan,
melalui komunikasi serial.
diantaranya 1.200, 2.400,
Baud rate biasanya diberi
4.800, 9600, 19.200, 38.400,
satuan bit-per-second (bps)
57.600, dan 115.200 bps.
Packet/ Frame
Data
• Perangkat pengirim
mengubah byte data
menjadi bit terlebih dahulu
sebelum
perangkat UART bisa
mengirim data.
• Setelah mengubah data
menjadi bit,
perangkat UART membagi
bit tersebut menjadi paket
untuk ditransmisikan.
Metode Komunikasi UART
• Pengiriman huruf “K” dengan frame 8 data
bit, even parity, dan 1 stop bit.
• Format pengiriman data dengan metode
UART terdiri dari idle, Start bit, data bit,
parity, dan stop bit kemudian idle.
• Format pengiriman data ini dikenal dengan
nama Frame.
• Posisi idle pada komunikasi serial memiliki
nilai 1.
• Start bit diindikasikan dengan adanya transisi
dari keadaan idle, yaitu dari 1 ke 0
• Stop bit adalah transisi balik ke
keadaan idle (dari 0 ke 1).
• Misalkan data dikirim dengan kecepatan
9600 bit/detik, maka setiap bitnya
memerlukan waktu selama 1/9600 = 104
mikrodetik/bit.
Antarmuka
UART Arduino
• Arduino Uno yang hanya
memiliki satu
antarmuka UART yang
ditemukan pada pin 0 (RX0)
dan pin 1 (TX0).
• Selain sebagai pin UART, pin
Arduino 0 dan 1 juga
digunakan untuk
berkomunikasi dengan Arduino
IDE melalui USB.
Fungsi Serial
• Serial.begin(nilai baudrate)
Serial.begin digunakan untuk menentukan kecepatan
dan penerimaan data melalui port serial. Kecepatan
yang umumnya digunakan adalah 9600 bit per detik
(9600 bps-115.200).
• Serial.available()
Serial.available berguna untuk menghasilkan jumlah
byte di port serial yang belum terbaca. Jika port serial
datanya sedang kosong, fungsi ini bakal ngehasilin
nol atau datanya tidak bisa terbaca lagi.
• Serial.end()
Serial.end digunakan untuk menghentikan program
yang akan diperintah oleh komunikasi serial.
Fungsi Serial Lanjutan..
• Serial.read()
Serial.read berguna untuk membaca satu byte data yang terdapat di port serial.
Setelah pemanggilan Serial.read(), jumlah data di port serial berkurang satu.
• Serial.print(data)
Serial.print digunakan untuk mengirimkan data ke port serial. Jika datanya kita
masukkan ke port serial, maka yang dikirim akan menyesuaikan format tersebut.
Serial.print(65); //hasil nilai tertampil 65

Serial.print(65,DEC); //(format desimal atau


basis 10) hasil nilai tertampil 65
Konversi Serial.print(65, HEX); //(format hexadesimal

Serial atau basis 16) hasil nilai tertampil 41

Serial.print(65, OCT); //(format oktal atau


basis 8) hasil nilai tertampil 101

Serial.print(65, BIN); //(format biner atau


basis 2) hasil nilai tertampil 1000001
Contoh
Transfer dan
Receiver
Data
Contoh
Transfer
dan
Receiver
Data
Serial Communication
Latihan 1
Menyalakan lampu dari Arduino 1
dengan button pada Arduino 2
Jawaban
Latihan 2
Jawaban
Arduino Uno
dan ESP
8266
ESP 8266
Arduino Uno
Arduino
Mega dan
Uno
Program
Serial
Arduino
Mega2560
Program
Serial
Arduino
Uno
Tugas 1 (Kelompok) ->
Minggu 7
1. Cari tahu ragam jenis arduino lainnya
selain Uno, ESP Family
2. identifikasi spesifikasinya, termasuk
harganya.
3. Apa kelebihan dan kekurangannya
Tugas 2 (kelompok) -> Minggu 7
• Buatlah program Arduino yang memberikan state lewat serial
monitor, berapa banyak jumlah button yang ditekan
Tugas 3
Kelompok
Buatlah program yang dapat melakukan komunikasi
Antara inputan dengan microcontroller
Dimana kalaa pengguna input angka 1, LED akan
Berkedip 1 x
Input 2x, kedip 2x
Dst..
Tugas 4 (kelompok)
• Analisis contoh serial komunikasi untuk menyalakan lampu dengan
perintah led_nyala dan led_mati.
• If, while, serial_available, fungsi delay.

Anda mungkin juga menyukai