กลับไปหน้ารวมไฟล์
internet-of-things-888af1.md

ไอเดียนี้มันหมักหมมในหัวพี่มานานแล้ววว น้องรู้ไหม พี่ถ่ายคลิปเกี่ยวกับเทคโนโลยีไว้เพียบ แล้วก็อยากจะล้วงลึกเข้าไปในโลกของหุ่นยนต์และวิศวะ สุดท้ายเลยปิ๊งไอเดียโปรเจกต์นี้ขึ้นมา

พูดตรงๆ เลยนะ พี่รู้สึกหดหู่กับระบบการศึกษาในบ้านเรามาก ตอนนี้เขายังวัดกันแค่ความรู้ในตำรา ไม่ได้มองสิ่งที่อยู่นอกกรอบเลย พี่เป็นคนประเภทที่ชอบตั้งคำถามกับตัวเองตลอดว่า "ไอ้สิ่งนี้มันทำงานยังไงวะ?" มองปัญหาแบบ practical เน้นๆ ไม่เหมือนคนอื่นเขา ด้วย mindset แบบนี้แหละที่ผลักดันให้พี่อยากมาสำรวจโลกผ่านสายตาของวิศวกร พี่เชื่อว่า สักวันหนึ่งเทคโนโลยีแบบ Iron Man มันต้องเป็นจริงให้ได้!

พี่เชื่อสุดๆ ว่าไอเดียเดียวสามารถเปลี่ยนโลกได้ สิ่งสำคัญคือเราจะไปถึงไอเดียนั้นยังไง ไอเดียระดับเทพมักไม่ได้มาจากคนที่เรียนเก่งสุดๆ (ส่วนใหญ่) แต่มันมักปิ๊งขึ้นในหัวของคนอีกกลุ่มนึง (ที่พี่ว่าหาได้ยากมากในระบบ) คำตอบหรือคำถามสำหรับไอเดียพวกนี้ก็หาไม่เจอในระบบการศึกษา (โรงเรียน) ด้วย เราต้องหาคนแบบนี้ให้เจอ แล้วส่งเสริมเขา สิ่งที่พี่ทำน่ะ พี่ไม่ได้ทำเพื่อตัวเอง แต่ทำเพื่อชีวิตที่ดีขึ้นของมนุษย์บนโลกใบนี้ จัดไปวัยรุ่น! มาส่งเสริมคนแบบพี่ (ที่พี่เชื่อว่าเป็นหนึ่งในนั้น) กันเถอะ ให้เขาทำในสิ่งที่จำเป็น และสร้างกระแสใหม่ในวงการเทคโนโลยีล้ำสมัย ทุกๆ สามสิบปี จะมีการปฏิวัติครั้งใหญ่ ในอดีตจนถึงปัจจุบันมันคือสมาร์ทโฟน พี่เชื่อว่าครั้งต่อไปคือ "ตัวคน" นี่แหละ มาช่วยกันเปลี่ยนอนาคต ปฏิวัติโลกใบนี้ ทำให้เทคโนโลยีเป็นมิตรกับสิ่งแวดล้อมมากขึ้น และทำงานเพื่อเป้าหมายที่ยิ่งใหญ่กัน 🤚🏻😀

ด้วยความคิดแบบนี้ พี่เลยอยากโชว์ศักยภาพทุกอย่างที่พี่มีออกมา ซึ่งนั่นก็คือที่มาของโปรเจกต์นี้ไงล่ะ

นี่คือการสาธิตเต็มรูปแบบของวิดีโอพี่เลย

แม้ว่าโปรเจกต์ของพี่ตอนนี้จะยังเป็นแค่การจำลอง เพราะพี่มีทรัพยากรจำกัด แต่พี่หวังว่าใครก็ตามที่มาดูโปรเจกต์นี้อยู่ ขอให้ช่วยต่อยอดไอเดียเหล่านี้ไปให้ไกลที่สุดนะ ไอเดียทั้งหมดนี้เพื่อโลกของเราและเพื่อมนุษย์ทุกคน

พื้นฐานของระบบบ้านอัตโนมัติ: ควบคุม RGB ผ่านบลูทูธ

"อินเทอร์เน็ตของสรรพสิ่ง" (IoT) ถูกสร้างขึ้นจากความสามารถของอุปกรณ์ต่างๆ ในการสื่อสารแบบไร้สายและดำเนินการตามคำสั่งจากระยะไกล โปรเจกต์นี้ใช้ โมดูลบลูทูธ HC-05 เป็นตัวกลางเชื่อมระหว่าง Arduino Uno กับสมาร์ทโฟน ทำให้สามารถควบคุม LED RGB แบบแคโทดร่วม (Diffused common-cathode) ได้อย่างแม่นยำผ่านระบบไร้สาย

การสื่อสารแบบอนุกรมไร้สาย: HC-05

โมดูล HC-05 นี้เป็นโมดูล SPP (Serial Port Profile) อเนกประสงค์ที่ทำหน้าที่เหมือนเป็นสายอนุกรมโปร่งใสเลย

  • ไลบรารี SoftwareSerial: แทนที่จะไปแย่งพิน RX/TX ฮาร์ดแวร์ (ที่ต้องใช้ในการอัปโหลดโค้ด) โปรเจคนี้ใช้ SoftwareSerial.h ในการกำหนดพินอนุกรมเสมือนขึ้นมาแทน
  • อัตราบอด (Baud Rate): ทำงานที่ 9600 baud เพื่อให้มั่นใจว่าสัญญาณข้อมูลจากแอปมือถือไปหา Arduino จะไหลลื่น ไม่สะดุด

ตรรกะสุดสมาร์ท: การแยกข้อมูลสีหลายช่องสัญญาณ

ความเจ๋งของโค้ดส่วนนี้อยู่ที่มันจัดการคำสั่งที่ซับซ้อนได้

  1. ข้อมูลแบบบัฟเฟอร์: เวลาที่เราส่งสายอักขระตัวเลขจากเทอร์มินัลบลูทูธในมือถือ (เช่น "255,100,0") Arduino จะเก็บข้อมูลนี้ไว้ในบัฟเฟอร์อนุกรมก่อน
  2. การแยกค่าจำนวนเต็ม (Integer Parsing): ใช้ฟังก์ชัน parseInt() เพื่อดึงค่าจำนวนเต็มสามค่าออกมาแยกกันสำหรับ สีแดง, สีเขียว, และ สีน้ำเงิน
  3. การป้องกันค่าผิดเพี้ยน (Constraint Protection): โค้ดใช้ constrain(value, 0, 255) เพื่อล็อกไม่ให้สัญญาณใดๆ เลยเถิดออกนอกช่วงที่ถูกต้องสำหรับ PWM (Pulse Width Modulation) ป้องกันไฟกระพริบแปลกๆ หรือข้อผิดพลาดทางลอจิก

วงจรตอบสนองแบบเห็นภาพ

เมื่อแยกค่าออกมาได้แล้ว ค่าเหล่านั้นจะถูกส่งไปยังพิน RGB ผ่านคำสั่ง analogWrite()

  • การออกแบบแบบแคโทดร่วม (Common Cathode Design): ในวงจรนี้ ขายาวของ LED RGB จะต่อกับ GND ส่วนขาสีทั้งสามจะต่อผ่าน ตัวต้านทาน 330 โอห์ม เข้ากับพิน PWM ของ Arduino (พิน 9, 10, 11)
  • การดีบั๊กผ่านพอร์ตอนุกรม (Serial Debugging): Arduino จะพิมพ์ค่าที่ได้รับกลับไปที่ Serial Monitor บนคอมด้วย ทำให้เราตรวจสอบได้ว่าการเชื่อมต่อบลูทูธส่งข้อมูลมาถูกต้องหรือเปล่า
#include <SoftwareSerial.h>
SoftwareSerial BT(0,1);
#define redPin 13
#define greenPin 12
#define bluePin 11
void setup()
{
 //Serial setup
 Serial.begin(9600);
 
 BT.begin(9600);

 pinMode(4, OUTPUT);
 digitalWrite(4,HIGH);
 pinMode(redPin, OUTPUT);
 pinMode(greenPin, OUTPUT);
 pinMode(bluePin, OUTPUT);
 setColor(255, 0, 0);
 delay(500);
 setColor(0, 255, 0);
 delay(500);
 setColor(0, 0, 255);
 delay(500);
 setColor(255, 255, 255);
}
void loop()
{
 while (BT.available() > 0)
 {
   int redInt = BLU.parseInt();
   int greenInt = BLU.parseInt();
   int blueInt = BLU.parseInt();
   redInt = constrain(redInt, 0, 255);
   greenInt = constrain(greenInt, 0, 255);
   blueInt = constrain(blueInt, 0, 255);
   if (BT.available() > 0)
   {
     setColor(redInt, greenInt, blueInt);
     Serial.print("Red: ");
     Serial.print(redInt);
     Serial.print(" Green: ");
     Serial.print(greenInt);
     Serial.print(" Blue: ");
     Serial.print(blueInt);
     Serial.println();
     BT.flush();
   }
 }
}
void setColor(int red, int green, int blue)
{
 analogWrite(redPin, red);
 analogWrite(greenPin, green);
 analogWrite(bluePin, blue);
}

ข้อมูล Frontmatter ดั้งเดิม

31: videoLinks: []
apps:
  - "1x Arduino IDE"
author: "Anilhimam"
category: ""
components:
  - "1x Arduino UNO"
  - "1x Arduino Mega 2560"
  - "1x DHT11 Temperature & Humidity Sensor (4 pins)"
  - "1x Photo resistor"
  - "1x Ultrasonic Sensor - HC-SR04 (Generic)"
  - "1x Jumper wires (generic)"
  - "1x Relay Module"
  - "1x Rain Drop Sensor"
  - "1x Grove - Gas Sensor(MQ2)"
  - "1x HC-05 Bluetooth Module"
  - "1x SparkFun Soil Moisture Sensor (with Screw Terminals)"
description: "งานนี้มันคือการจับเทคโนโลยีเทพๆ หลายตัวมาทำงานร่วมกันแบบจัดไป งานง่ายแต่หล่อ อยู่ใต้หลังคาเดียวกันเลย!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1+Lf+otI1u+VfzycJRVImykOaG4cvr+CxCSuU2bfzgYlCKn3IkRA6jANgpCZZzr8eIV+Gx5PdZNd3kpTut9WntbZgVQ+lmb9L6SAn7/CPHc30SOeoWLvCAoaaStIEnKdzXK8vLXR9KtqkoU7DthhECewnl4zh0UxPedFZuozAJExtEw35kBTXsy0C9MJCRtmYMsNGWFSdGUmfZUJPeBEmS3qAJnunJuQ88="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/internet-of-things-888af1_cover.jpg"
lang: "en"
likes: 0
passwordHash: "674906b203623b0c8f2862ea10bcbe4ab11df1083e263bb373b2fe010b20b129"
price: 2450
seoDescription: "Discover Internet of Things projects and codes for Arduino and ESP32. Master Sensors and Modules like mmWave Radar and Servo for DIY electronics."
tags:
  - "environmental sensing"
  - "energy efficiency"
  - "greener planet"
  - "plants"
  - "remote control"
  - "internet of things"
  - "garden"
title: "โลกแห่ง IoT ตึงๆ วัยรุ่นต้องรู้!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/UMA8FxHTF1Y"
views: 979