elemes/examples/content/hello_serial_arduino.md

139 lines
2.9 KiB
Markdown

---LESSON_INFO---
Pelajaran Arduino: Komunikasi Serial Monitor dan debugging.
**Learning Objectives:**
- Memahami fungsi `Serial.begin()` dan baud rate
- Menggunakan `Serial.println()` dan `Serial.print()` untuk mengirim data
- Membedakan `println` (dengan newline) dan `print` (tanpa newline)
- Menggunakan `millis()` untuk tracking waktu
**Prerequisites:**
- Hello, World!
---END_LESSON_INFO---
# Hello Serial — Komunikasi Serial Arduino
Serial Monitor adalah **alat debugging utama** saat bekerja dengan Arduino.
Dengan Serial Monitor, kamu bisa mengirim teks dari Arduino ke komputer
untuk memantau apa yang sedang terjadi dalam program.
## Apa itu Komunikasi Serial?
Arduino berkomunikasi dengan komputer melalui **port serial** (USB).
Data dikirim bit-per-bit dengan kecepatan tertentu yang disebut **baud rate**.
```
Arduino ──USB──► Komputer (Serial Monitor)
TX/RX
```
## Fungsi Serial Dasar
### 1. `Serial.begin(baud_rate)`
Memulai komunikasi serial. Harus dipanggil di `setup()`:
```
Serial.begin(9600); // Baud rate 9600 (paling umum)
```
### 2. `Serial.println(data)`
Mengirim data + **newline** (`\n`) di akhir:
```
Serial.println("Hello"); // output: Hello↵
Serial.println("World"); // output: World↵
```
### 3. `Serial.print(data)`
Mengirim data **tanpa newline**:
```
Serial.print("Suhu: "); // output: Suhu:
Serial.println("25 C"); // output: 25 C↵
```
Hasil gabungan: `Suhu: 25 C`
### 4. `millis()`
Mengembalikan jumlah milidetik sejak Arduino dinyalakan:
```
unsigned long waktu = millis();
Serial.print("Waktu: ");
Serial.print(waktu / 1000);
Serial.println(" detik");
```
## Contoh Program
```
void setup() {
Serial.begin(9600);
Serial.println("Arduino Ready!");
Serial.println("Serial Monitor aktif");
}
void loop() {
Serial.print("Uptime: ");
Serial.print(millis() / 1000);
Serial.println(" detik");
delay(2000);
}
```
---EXERCISE---
### Tantangan
**Tulis program Arduino** yang melakukan hal berikut saat dinyalakan (`setup`):
1. Mulai komunikasi serial dengan baud rate `9600`
2. Cetak teks `Hello Arduino` (dengan newline)
3. Cetak teks `Serial Ready` (dengan newline)
Kemudian di `loop()`:
4. Cetak `Tick` setiap 1 detik
Setelah selesai menulis kode, tekan **Compile & Run** dan tunggu beberapa detik agar Serial output muncul.
> **Tips:** Lesson ini tidak memerlukan wiring — cukup tulis kode saja!
---
---INITIAL_CODE_ARDUINO---
// Hello Serial - Belajar Serial Monitor
// Kirim pesan ke Serial Monitor
void setup() {
// 1. Mulai serial dengan baud rate 9600
// 2. Cetak "Hello Arduino"
// 3. Cetak "Serial Ready"
}
void loop() {
// 4. Cetak "Tick" setiap 1 detik
}
---END_INITIAL_CODE_ARDUINO---
---VELXIO_CIRCUIT---
{
"board": "arduino:avr:uno",
"components": [],
"wires": []
}
---END_VELXIO_CIRCUIT---
---EXPECTED_SERIAL_OUTPUT---
Hello Arduino
Serial Ready
Tick
---END_EXPECTED_SERIAL_OUTPUT---
---KEY_TEXT---
Serial.begin
Serial.println
delay
---END_KEY_TEXT---