บทความ

29. Arduino Car GPS

รูปภาพ
 Arduino Car GPS พอดี ผู้เขียน ได้ถอด GPS ติดรถยนต์ ออกมา เนื่องจากวิทยุติดรถยนต์ตัวเดิมเสีย และใช้กับวิทยุเครื่องใหม่ไม่ได้ เลยได้โอกาสนำมาเชื่อมต่อกับ Woi Terminal แล้วไปดาวน์โหลด Library จาก Github มาทดลองเขียนโปรแกรม ก็ได้ผลดีเกินคาด การต่อสาย      GPS จะมีอยู่ 4 เส้น ดังนี้                สายสีแดง เป็นสายไฟ +5 V               สายสีเขียว เป็นสายสื่อสาร Tx ต่อกับพอร์ต 11 บนบอร์ด Arduino NANO               สายสีขาว เป็นสายสื่อสาร Rx ต่อกับพอร์ต 10 บนบอร์ด Arduino NANO               สายสีดำ เป็นสายไฟลบ                  เขียนโค้ด  ใช้ทดสอบ /*    plakemphet    5/02/2022    ArduNano LatLong-01    OLED 128x64   การต่อใช้งาน   Vcc - > 3.3 / 5 V   Gnd -> Gnd   SCL -> A5   SDA -> A4 ...

28. Wio Terminal GPS

รูปภาพ
Wio Terminal GPS พอดี ผู้เขียน ได้ถอด GPS ติดรถยนต์ ออกมา เนื่องจากวิทยุติดรถยนต์ตัวเดิมเสีย และใช้กับวิทยุเครื่องใหม่ไม่ได้ เลยได้โอกาสนำมาเชื่อมต่อกับ Woi Terminal แล้วไปดาวน์โหลด Library จาก Github  มาทดลองเขียนโปรแกรม ก็ได้ผลดีเกินคาด การต่อสาย      GPS จะมีอยู่ 4 เส้น ดังนี้                สายสีแดง เป็นสายไฟ +5 V               สายสีเขียว เป็นสายสื่อสาร Tx               สายสีขาว เป็นสายสื่อสาร Rx               สายสีดำ เป็นสายไฟลบ                   ในการนำไปใช้ จะต้องมีสาย Du pont แบบตัวผู้ทั้งสองปลาย จำนวน 4 เส้น บอร์ด Wio Terminal ต้องเสียบสายที่ขั้วต่อไปนี้               ขั้วหมายเลข 4 ไฟ +5V ต่อกับสายสีแดง ของ GPS             ขั้วหมายเลข 6 สาย GND หรือ ไฟลบ ต่อกับสายสีดำ ของ ...

27. Wio Terminal EP.14 การควบคุมเซอร์โวมอเตอร์

 Wio Terminal EP.14 การควบคุมเซอร์โวมอเตอร์ โดยไม่ใช่ไลบรารี่ ใด ๆ ในการควบคุมเซอร์โว มอเตอร์นั้น สิ่งแรกที่จะต้องรู้คือ เซอร์โว มอเตอร์ ทำงานได้อย่างไร  เซอร์โวมอเตอร์มีสาย 3 เส้น เรียงลำดับกัน ดังนี้ S-Signal สายรับสัญญาณควบคุมการหมุนแบบพัลส์ PWM V-VCC  สายสำหรับต่อกับไฟบวก 5V G-GND สายสำหรับต่อกับไฟลบ หรือกราว์ด (GND) การควบคุมการหมุนของเซอร์โว มอเตอร์ จะต้องส่งสัญญาณพัลส์ ความถี่ 50 เอิร์ตซ์ เข้าไป โดยมีความกว้างพัลส์บวกที่ 0.5mS (ค่าต่ำสุด) ถึง 2.5mS (ค่าสูงสุด) โดยเมื่อมีการส่งสัญญาณพัลส์ ที่มีความกว้างช่วงบวกเข้าไป เท่ากับ 0.5 มิลลิวินาที เซอร์โว มอเตอร์ จะหมุนไปที่ ตำแหน่ง 0 องศา และหากป้อนสัญญาณพัลส์ เข้าไป เท่ากับ 2.5 มิลลิวินาที เซอร์โว มอเตอร์ จะหมุนไปที่ ตำแหน่ง 180 องศา  แต่ในความคุ้นเคยของผู้ใช้ มักจะคุ้นเคยกับตัวเลขที่เป็นตำแหน่งองศาของการหมุน ดังนั้นเพื่อความสะดวกในการสั่งงาน จึงมักจะสั่งให้เซอร์โว มอเตอร์ หมุนไปที่ตำแหน่งองศาที่ต้องการ   คำอธิบาย วิธีการคำนวณ         1. องศาของการหมุน มีค่า จาก 0 - 180 องศา อันนี้อ้างอ...

26.Wio Terminal EP.13, การอ่านค่าจาก เซนเซอร์วัดความเร่ง Acellerator & Gyroscope

รูปภาพ
 Wio Terminal EP.13 , การอ่านค่าจาก เซนเซอร์วัดความเร่ง Acellerator & Gyroscope การนำเสนอในครั้งนี้ ก็ยังคงมาในแนวทางของการใช้ Arduino IDE โดยขอนำเสนอวิธีการอ่านค่าจากเซยเซอร์ Accelerator & Gyroscope ซึ่งฝังอยู่ภายในเครื่อง แต่มีเงื่อนไขว่า ท่านจะต้องไปดาวน์โหลด ไลบรารี่ไฟล์ จาก   GitHub คือ Seeed_Arduino_LIS3DHTR เมื่อได้มาแล้ว ให้เปิด Arduino IDE และเลือกเมเนู Sketch >> Include Library >> Add .ZIP Library จากนั้นให้เลือกโฟลเดอร์ที่ท่านเก็บไฟล์ที่ได้ดาวน์โหลดมาก่อนหน้านี้และเลือกไฟล์ Seeed_Arduino_LIS3DHTR-master.zip รอสักครู่ เป็นอันเสร็จสิ้นการเพิ่มไลบรารี่ จากนั้นก็เขียนโค้ดตามตัวอย่างนี้ ที่ต้องบอกว่าให้เขียนโค้ดตามตัวอย่างนี้ เนื่องจากว่า ไฟล์ตัวอย่างที่ได้จากการเพิ่มไลบรารี่ไฟล์ มีข้อผิดพลาดอยู่หลายแห่ง โดยเฉพาะในช่วง header และ declaration รวมถึงในส่วนของ ฟังก์ชั่น setup()   คำอธิบาย     การเขียนโค้ด ผู้เขียน ได้แยกออกเป็นฟังก์ชั่นย่อย เท่าที่จะทำได้ ดังนี้     1.  ฟังก์ชั่น readAccel() ไว้ใช้สำหรับอ่านค...

25. Wio Terminal EP.12, วัดระยะทาง ด้วย HC-SR04

รูปภาพ
Wio Terminal EP.12,  วัดระยะทาง ด้วย HC-SR04 ครั้งนี้ผู้เขียนได้ประยุกต์ใช้งาน โดยนำเซนเซอร์วัดระยะทาง แบบอัลตร้าโซนิก HC-SR04 มาใช้ และขอเน้นย้ำว่า ไม่ใช่ Grove Sensor นะครับ เนื่องจาก Grove Sensor มีขั้วต่อใช้งาน 3 ขั้ว แต่ HC-SR04 มีขั้วต่อใช้งาน 4 ขั้ว ตามรูปที่ 1 ภาพจาก  https://raw.githubusercontent.com/SeeedDocument/Grove_Ultrasonic_Ranger/master/optimizing/Compare.jpg รูปที่ 1 Grove Ultrasonic และ HC-SR04 ในการนำ HC-SR04 มาใช้งาน จึงต้อง มีการต่อสาย ตามรูปที่ 2 และ  ไม่จำเป็นต้องติดตั้งไลบรารี่ ใด ๆ เพิ่มเติม HC-SR04 ต่อกับ Wio Terminal  Vcc GPIO4 (+5) GND GPIO6 (GND) Trig GPIO13 (D0) Echo GPIO15 (D1) รูปที่ 2 แสดงการต่อสาย   คำอธิบาย     การเขียนโค้ดครั้งนี้ มีการแยกเขียนเป็นส่วน ๆ เพื่อให้ง่ายต่อการศึกษาและแก้ไข โดยแบ่งเป็นฟังก์ชั่นต่าง ๆ ดังนี้      1. ฟังก์ชั่น  ranger () เป็นฟังก์ชั่นที่ใช้ในการสั่งงานให้ HC-SR04 ทำงานส่งสัญญาณออกไปและรับเวลาที่ใช้ในการส่งออกไป จนสะท้อนกลับมา แล้วคำนวณให้เป็นระยะทาง ในหน่วย เซนติเมตร ...

24. Wio Terminal EP.11, อนาล็อกมิเตอร์ วัดความสว่างของแสง

รูปภาพ
Wio Terminal EP.11,   อนาล็อกมิเตอร์ วัดความสว่างของแสง  วิธีการเขียนโค้ด เพื่อวัดค่าความสว่างของแสง ครั้งนี้ นำเสนอ อนาล็อกมิเตอร์ วัดความสว่างของแสง โดยใช้ Arduino ในการเขียนโค้ดคำสั่ง สร้างเป็นเครื่องวัดความสว่างของแสง แบบอนาล็อก คือ มีเข็มชี้บนหน้าปัด และมีสเกล 0 - 100 โดยแบ่งเป็น 5 ช่วง ช่วงละ 20%   คำอธิบาย     การเขียนโค้ดครั้งนี้ มีการแยกเขียนเป็นส่วน ๆ เพื่อให้ง่ายต่อการศึกษาและแก้ไข โดยแบ่งเป็นฟังก์ชั่นต่าง ๆ ดังนี้      1. ฟังก์ชั่น drawArc( int x, int y, int start_angle, int end_angle, int rx, int ry, int w, unsigned int color1) สำหรับสร้างส่วนโค้งที่ตำแหน่งใด ๆ     2. ฟังก์ชั่น  drawBar(int bx, int by) สำหรับ สร้างส่วนโค้งที่เป็นแถบสีบนหน้าปัดมิเตอร์ โดยเรียกใช้ ฟังก์ชั่น drawArc      3. ฟังก์ชั่น  drawScale(int d1, int d2) สำหรับสร้างเส้นแบ่งสเกล และ ตัวเลขบนแถบสีของหน้าปัดมิเตอร์     4. ฟังก์ชั่น  drawNeedle(int rx, int ry, int v) สำหรับสร้างเข็มของมิเตอร์ เพื่อให้ชี้ไปยังค่าที่...