SiamCafe.net Blog
Technology

เขียนโปรแกรม arduino ในโทรศัพท์

เขยนโปรแกรม arduino ในโทรศพท
เขียนโปรแกรม arduino ในโทรศัพท์ | SiamCafe Blog
2025-10-30· อ. บอม — SiamCafe.net· 11,829 คำ

Arduino บนมือถือ

เขียนโปรแกรม Arduino ในโทรศัพท์ ArduinoDroid Blynk Bluetooth WiFi USB OTG ESP32 IoT Smart Home มือถือ

แอปPlatformConnectionราคาเหมาะกับ
ArduinoDroidAndroidUSB OTGฟรี (มี Pro)เขียน Code + Upload
Arduino Web EditorWeb (ทุก OS)USB (ผ่าน Agent)ฟรีเขียน Code Online
BlynkAndroid/iOSWiFi/Bluetoothฟรี + PlusIoT Dashboard
RemoteXYAndroid/iOSBT/WiFi/USBฟรี + ProUI Control
MIT App InventorWeb + AndroidBluetoothฟรีCustom App
Serial BT TerminalAndroidBluetoothฟรีDebug Serial

Arduino Code Examples

# === Arduino LED Control via Bluetooth ===

# // Arduino Code - LED Control via Bluetooth
# #include <SoftwareSerial.h>
#
# SoftwareSerial bluetooth(10, 11); // RX, TX
# const int ledPin = 13;
#
# void setup() {
#   Serial.begin(9600);
#   bluetooth.begin(9600);
#   pinMode(ledPin, OUTPUT);
#   Serial.println("Bluetooth LED Control Ready");
# }
#
# void loop() {
#   if (bluetooth.available()) {
#     char cmd = bluetooth.read();
#     if (cmd == '1') {
#       digitalWrite(ledPin, HIGH);
#       bluetooth.println("LED ON");
#       Serial.println("LED ON");
#     } else if (cmd == '0') {
#       digitalWrite(ledPin, LOW);
#       bluetooth.println("LED OFF");
#       Serial.println("LED OFF");
#     }
#   }
# }

from dataclasses import dataclass

@dataclass
class ArduinoProject:
    name: str
    components: str
    connection: str
    difficulty: str
    code_lines: int

projects = [
    ArduinoProject("LED Bluetooth Control",
        "Arduino Uno, HC-05, LED, Resistor 220Ω",
        "Bluetooth (HC-05)",
        "ง่าย (เริ่มต้น)",
        30),
    ArduinoProject("Temperature Monitor",
        "Arduino Uno, DHT22, HC-05 หรือ ESP8266",
        "Bluetooth หรือ WiFi",
        "ง่าย-ปานกลาง",
        50),
    ArduinoProject("Smart Relay Control",
        "Arduino Uno, Relay 4ch, ESP8266, Power Supply",
        "WiFi (Blynk App)",
        "ปานกลาง",
        80),
    ArduinoProject("Motor Speed Control",
        "Arduino Uno, L298N Motor Driver, DC Motor, HC-05",
        "Bluetooth",
        "ปานกลาง",
        60),
    ArduinoProject("Plant Watering System",
        "Arduino Uno, Soil Moisture Sensor, Relay, Pump, ESP32",
        "WiFi (Blynk Dashboard)",
        "ปานกลาง-ยาก",
        120),
    ArduinoProject("Security PIR Alert",
        "Arduino Uno, PIR Sensor, Buzzer, ESP8266",
        "WiFi (Line Notify)",
        "ปานกลาง",
        70),
]

print("=== Arduino Projects ===")
for p in projects:
    print(f"\n  [{p.name}] Difficulty: {p.difficulty}")
    print(f"    Components: {p.components}")
    print(f"    Connection: {p.connection}")
    print(f"    Code: ~{p.code_lines} lines")

Bluetooth & WiFi Setup

# === ESP32 WiFi + Blynk Setup ===

# // ESP32 + Blynk WiFi Control
# #define BLYNK_TEMPLATE_ID "TMPLxxxx"
# #define BLYNK_TEMPLATE_NAME "Smart Home"
# #define BLYNK_AUTH_TOKEN "YourAuthToken"
#
# #include <WiFi.h>
# #include <BlynkSimpleEsp32.h>
# #include <DHT.h>
#
# char ssid[] = "YourWiFi";
# char pass[] = "YourPassword";
#
# #define DHTPIN 4
# #define DHTTYPE DHT22
# DHT dht(DHTPIN, DHTTYPE);
#
# #define RELAY_PIN 5
#
# // Blynk Virtual Pin V1 = Relay Control
# BLYNK_WRITE(V1) {
#   int value = param.asInt();
#   digitalWrite(RELAY_PIN, value);
# }
#
# void setup() {
#   Serial.begin(115200);
#   pinMode(RELAY_PIN, OUTPUT);
#   dht.begin();
#   Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
# }
#
# void loop() {
#   Blynk.run();
#   // Send temperature every 2 seconds
#   static unsigned long lastSend = 0;
#   if (millis() - lastSend > 2000) {
#     float temp = dht.readTemperature();
#     float humid = dht.readHumidity();
#     Blynk.virtualWrite(V2, temp);    // Temperature
#     Blynk.virtualWrite(V3, humid);   // Humidity
#     lastSend = millis();
#   }
# }

@dataclass
class ConnectionMethod:
    method: str
    module: str
    range_distance: str
    speed: str
    best_for: str

connections = [
    ConnectionMethod("USB OTG",
        "สาย USB OTG + USB Cable",
        "สายยาว ~1m",
        "เร็วมาก (Upload Code)",
        "เขียน Code + Upload จากมือถือ"),
    ConnectionMethod("Bluetooth Classic",
        "HC-05 / HC-06",
        "10-15 เมตร",
        "115200 baud",
        "ควบคุมใกล้ๆ ส่งข้อมูลน้อย"),
    ConnectionMethod("BLE (Bluetooth Low Energy)",
        "ESP32 (Built-in) / HM-10",
        "30-50 เมตร",
        "ช้ากว่า Classic แต่ประหยัดไฟ",
        "IoT Sensor Battery-powered"),
    ConnectionMethod("WiFi",
        "ESP8266 / ESP32",
        "30-50m (WiFi Range)",
        "เร็วมาก (Mbps)",
        "IoT Smart Home ควบคุมจากทุกที่"),
    ConnectionMethod("WiFi + Cloud (Blynk)",
        "ESP8266/ESP32 + Blynk Server",
        "ทุกที่ (ผ่าน Internet)",
        "เร็ว (ผ่าน Cloud)",
        "ควบคุมจากนอกบ้าน Dashboard"),
]

print("=== Connection Methods ===")
for c in connections:
    print(f"  [{c.method}] Module: {c.module}")
    print(f"    Range: {c.range_distance} | Speed: {c.speed}")
    print(f"    Best: {c.best_for}")

Wiring Guide

# === Wiring Diagrams ===

@dataclass
class WiringGuide:
    project: str
    connections: str
    power: str
    notes: str

wirings = [
    WiringGuide("HC-05 Bluetooth",
        "HC-05 VCC→5V, GND→GND, TX→Pin10(RX), RX→Pin11(TX) ผ่าน Voltage Divider",
        "5V จาก Arduino",
        "RX ของ HC-05 ต้องลดเป็น 3.3V ใช้ Voltage Divider 1K+2K"),
    WiringGuide("DHT22 Temperature",
        "DHT22 VCC→3.3V, GND→GND, DATA→Pin4 + Pull-up 10K",
        "3.3V จาก Arduino",
        "ใช้ Pull-up Resistor 10K ระหว่าง DATA กับ VCC"),
    WiringGuide("Relay Module 4ch",
        "Relay IN1→Pin5, IN2→Pin6, IN3→Pin7, IN4→Pin8, VCC→5V, GND→GND",
        "5V แยก Power Supply สำหรับ Relay",
        "ห้ามจ่ายไฟ Relay จาก Arduino โดยตรง ใช้ Power Supply แยก"),
    WiringGuide("ESP32 + OLED",
        "OLED SDA→Pin21, SCL→Pin22, VCC→3.3V, GND→GND",
        "3.3V จาก ESP32",
        "ใช้ I2C Address 0x3C สำหรับ SSD1306"),
    WiringGuide("PIR Motion Sensor",
        "PIR VCC→5V, GND→GND, OUT→Pin2 (Interrupt)",
        "5V จาก Arduino",
        "ปรับ Sensitivity และ Delay บน Potentiometer"),
]

print("=== Wiring Guides ===")
for w in wirings:
    print(f"\n  [{w.project}]")
    print(f"    Connections: {w.connections}")
    print(f"    Power: {w.power}")
    print(f"    Notes: {w.notes}")

เคล็ดลับ

เขียน Arduino บนมือถือได้อย่างไร

ArduinoDroid USB OTG Compile Upload Web Editor Blynk RemoteXY MIT App Inventor Bluetooth WiFi ESP32 HC-05 Library Serial Monitor

ArduinoDroid ใช้อย่างไร

Google Play Store Syntax Highlighting avr-gcc Compile USB OTG Upload Board Uno Nano Mega ESP Library Sketch Manager Serial Monitor ฟรี

เชื่อมต่อ Bluetooth อย่างไร

HC-05 HC-06 VCC GND TX RX Pair 1234 SoftwareSerial Serial BT Terminal MIT App Inventor Blynk ESP32 BLE ประหยัดไฟ

โปรเจกต์เริ่มต้นมีอะไร

LED Control Temperature Monitor Smart Home Relay Motor Control Line Notify Plant Watering Security PIR Weather Station IoT Dashboard

สรุป

เขียนโปรแกรม Arduino ในโทรศัพท์ ArduinoDroid Blynk ESP32 Bluetooth WiFi USB OTG IoT Smart Home Sensor Relay มือถือ

📖 บทความที่เกี่ยวข้อง

เขียนโปรแกรม arduino ในโทรศัพท์อ่านบทความ → โจทย์เขียนโปรแกรม pythonอ่านบทความ → เขียนโปรแกรม cnc งานกลึงอ่านบทความ → โน๊ตบุ๊คเขียนโปรแกรมอ่านบทความ → ฝึกงานเขียนโปรแกรมอ่านบทความ →

📚 ดูบทความทั้งหมด →