บทความ

กำลังแสดงโพสต์จาก กรกฎาคม, 2025

เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่ 5

รูปภาพ
🔁ใช้ for loop แสดงข้อความซ้ำใน Serial Monitor บทความนี้ยกตัวอย่าง คำสั่งที่จำเป็นต้องใช้เกี่ยวกับงานอิเล็กทรอนิกส์และหลายๆอย่าง สามารถนำไปใช้งานทุกประเภท  การแสดงผล การส่งข้อมูล ฯลฯ มากมาย  ทั้งนี้รูปแบบโปรแกรมหลักก็มีลักษณะคำสั่งนี้อยู่แล้ว ดังนั้นคำสั่งนี้จึงแสดงตัวอย่างการส่งข้อมูลทาง serial port เพื่อแสดงผลแบบ วนให้ดู for loop เป็นคำสั่งควบคุมการทำซ้ำที่มีรูปแบบง่าย เหมาะสำหรับการทำงานซ้ำเป็นจำนวนครั้งที่กำหนดไว้

แนะนำ CPU และ GPU ราคาประหยัด ใช้งานได้ถึงปี 2030

รูปภาพ
🔥 แนะนำ CPU และ GPU ปี 2025 ราคาประหยัด ใช้งานได้ถึงปี 2030 ในปี 2025 หากคุณกำลังมองหาคอมพิวเตอร์ประกอบ หรืออยากอัปเกรดเครื่องเดิม การเลือก CPU และ GPU ที่ประสิทธิภาพดีและราคาคุ้มค่า คือหัวใจสำคัญ

เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่ 4

รูปภาพ
🕒 ใช้ millis() แทน delay() เพื่อกระพริบไฟ LED Arduino มีฟังก์ชันชื่อ millis() ซึ่งจะส่งค่ามิลลิวินาทีที่ผ่านไปนับตั้งแต่เริ่มทำงานของบอร์ด เราสามารถใช้มันเพื่อจับเวลาโดยไม่ต้องหยุดโค้ดด้วย delay() 📄 โค้ดตัวอย่าง: unsigned long previousMillis = 0; const long interval = 1000; // เวลาระยะห่าง 1 วินาที bool ledState = LOW ; void setup() { pinMode (13, OUTPUT) ; } void loop() { unsigned long currentMillis = millis (); if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; ledState = !ledState; digitalWrite (13, ledState); } } 🧠 อธิบาย: millis() ใช้ตรวจจับเวลาโดยไม่หยุดลูป ควบคุมให้ไฟ LED บนบอร์ด Pin 13 กระพริบทุก 1 วินาที ไม่ใช้ delay() ทำให้สามารถเขียนฟังก์ชันอื่นๆ ใน loop ได้พร้อมกัน

เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่ 3

รูปภาพ
บทความนี้จะพาคุณไปเรียนรู้แนวคิดการเขียนโปรแกรมที่สำคัญสองอย่าง นั่นคือ ฟังก์ชัน (Functions) และ โครงสร้างควบคุมเงื่อนไข (Conditional Statements) ซึ่งจะทำให้โค้ดของคุณเป็นระเบียบ, นำกลับมาใช้ใหม่ได้ง่ายขึ้น และมีความสามารถในการตัดสินใจ โดยที่เรายังคงใช้แค่ บอร์ด Arduino Uno และ ไฟ LED ในตัว (Built-in LED) เพื่อให้เห็นผลลัพธ์ได้ง่ายๆ

เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่2

รูปภาพ
แสดงข้อความบน Serial Monitor ด้วย Arduino UNO บทความนี้ข้ามการใช้พอร์ต digital มาใช้พอร์ต USB เราจะเรียนรู้การใช้คำสั่ง Serial.begin() และ Serial.print() เพื่อให้ Arduino ส่งข้อความไปแสดงผลบนหน้าจอ Serial Monitor โดยไม่ต้องใช้อุปกรณ์เสริมใดๆ การใช้งานอินเตอร์เฟสของโปรแกรม ให้ทำตามบทความที่แล้ว "เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่1"

พาวเวอร์แบงค์ เลขบอกความจุ “จริง” หรือ “เฟค”?

รูปภาพ
  เคยไหม? ซื้อพาวเวอร์แบงค์ 10,000 mAh แต่ชาร์จมือถือได้แค่รอบเดียว แล้วตัวเลขที่ระบุไว้บนกล่องมันหมายความว่าอะไร? บอกความจุจริงหรือแค่ตัวเลขหลอกตา? บทความนี้มีคำตอบ พร้อมวิธีดูว่าพาวเวอร์แบงค์ไหน “ได้จริง” หรือ “โดนหลอก” 🔋 ค่าความจุที่ระบุบนพาวเวอร์แบงค์คืออะไร? พาวเวอร์แบงค์ส่วนใหญ่จะมีตัวเลขบอกความจุ เช่น 5,000 mAh 10,000 mAh 20,000 mAh แต่ตัวเลขเหล่านี้ ไม่ใช่ค่าความจุที่คุณจะใช้งานได้จริง ! มันคือความจุของเซลล์แบตเตอรี่ภายในพาวเวอร์แบงค์ ซึ่งมักมีแรงดันไฟฟ้า 3.7V (Li-ion หรือ Li-Po) ⚠️ ทำไมใช้งานจริงถึงไม่ตรงตามตัวเลข? เพราะพาวเวอร์แบงค์ต้องแปลงแรงดันจาก 3.7V → 5V เพื่อจ่ายไฟให้กับมือถือ ซึ่งการแปลงนี้จะมีการสูญเสียพลังงาน (Efficiency Loss) ตัวอย่างการคำนวณ: พาวเวอร์แบงค์ 10,000 mAh @ 3.7V = 37 Wh เมื่อแปลงเป็น 5V → 37 Wh ÷ 5V = 7,400 mAh หักประสิทธิภาพวงจรแปลง (85%) → เหลือประมาณ 6,290 mAh 👉 ดังนั้น พาวเวอร์แบงค์ 10,000 mAh จะใช้งานจริงได้ที่ 5V ประมาณ 6,000–6,300 mAh เท่านั้น 📱 แล้วทำไมชาร์จมือถือได้แค่ 1–2 รอบ? มือถือรุ่นใหม่...

เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่1

รูปภาพ
จากบทความก่อน “ เริ่มต้นเขียนโปรแกรมไมโครคอนโทรลเลอร์กับ Arduino   " ได้แสดงขั้นตอน การโหลดโปรแกรม การต่อบอร์ด  และโปรแกรมไฟกระพริบไว้ อย่างคร่าวๆแล้ว แต่อาจยังนึกภาพไม่ออก บทความนี้จะแสดงหน้าโปรแกรมให้ดูด้วย       เนื่องจากผู้เริ่มต้น อาจยังไม่มีอุปกรณ์ร่วมทดลอง ตัวอย่างการเขียนจะยกแค่โปรแกรมที่เขียนแล้วรันให้บอร์ดทำงานได้โดยไม่ต้องใช้อุปกรณ์อื่นก่อน บทความหน้าค่อยยกตัวอย่างใช้อุปกรณ์อื่นร่วมด้วย มาแสดงตัวอย่าง ตัวอย่างแรก ไฟกระพริบ      เรียนรู้การใช้งานขาดิจิตอลเอาท์พุต โดยใช้หลอดไฟบนบอร์ดแสดงผล  เสียบสาย USB เข้ากับบอร์ดแล้วเสียบกับคอมพิวเตอร์ แล้วเช็คว่าคอมมองเห็นหรือไม่ดังรูป ตั้งค่าประเภทของบอร์ด ถ้าคอมฯมองเห็นบอร์ด จะเห็นดังนี้ เช็คบอร์ดทางพอร์ต USB เมื่อแน่ใจว่าคอมฯเห็นบอร์ดแล้ว ก็ดำเนินการเขียนโปรแกรมได้ โดยหน้าเปล่าเปิดมาจะเป็นดังรูปล่าง หน้าเปล่าเมื่อกด "NEW"  จะเห็นว่ามีสองส่วนขึ้นให้ผู้ใช้งานเข้าใจโครงสร้างได้ง่ายขึ้น โดยส่วนแรกเป็นพื้นที่ตั้งค่าบอร์ด กำหนดเริ่มต้นก่อนเข้า loop รันโปรแกรมหลัก ตัวอย่างโค้ด ไฟกระพริบ จาก...

เขียนโปรแกรม Arduino ด้วยภาษาซี คำสั่งพื้นฐานที่ควรเรียนรู้

รูปภาพ
โครงสร้างพื้นฐานของโปรแกรม Arduino คลิกภาพเพื่อขยาย โค้ด Arduino ทุกโค้ด (หรือที่เรียกว่า Sketch) จะมีโครงสร้างหลัก 2 ส่วนเสมอ: void setup() : เป็นฟังก์ชันที่ ทำงานเพียงครั้งเดียว เมื่อบอร์ด Arduino เริ่มทำงาน (เปิดไฟ หรือกดปุ่ม Reset) ใช้สำหรับตั้งค่าเริ่มต้นต่างๆ เช่น กำหนดโหมดของขาพอร์ต (Input/Output), เริ่มต้นการสื่อสารแบบอนุกรม (Serial Communication) หรือตั้งค่าโมดูลต่างๆ void loop() : เป็นฟังก์ชันที่ ทำงานซ้ำไปเรื่อยๆ อย่างไม่มีที่สิ้นสุด หลังจากฟังก์ชัน setup() ทำงานเสร็จ เป็นส่วนที่เราจะเขียนโค้ดหลักสำหรับให้ Arduino ทำงานตามที่เราต้องการ เช่น อ่านค่าจากเซ็นเซอร์, ควบคุมหลอดไฟ, มอเตอร์

เริ่มต้นเขียนโปรแกรมไมโครคอนโทรลเลอร์กับ Arduino

รูปภาพ
🧰 อุปกรณ์ที่ต้องมี บอร์ด Arduino เช่น Arduino UNO สาย USB (สำหรับเชื่อมต่อกับคอมพิวเตอร์) คอมพิวเตอร์ (Windows / macOS / Linux) ✅ ขั้นตอนที่ 1: ดาวน์โหลดโปรแกรม Arduino IDE 🔗 ไปที่เว็บไซต์: https://www.arduino.cc/en/software 📌 คลิกเลือกเวอร์ชันตามระบบปฏิบัติการของคุณ เช่น: Windows Installer Mac OS X Linux ตัวอย่าง (Windows): คลิก “Windows Win7 and newer” → คลิก Just Download ✅ ขั้นตอนที่ 2: ติดตั้งโปรแกรม Arduino IDE 🔧 Windows: เปิดไฟล์ที่ดาวน์โหลด (arduino-1.xx.x-windows.exe) กด Next → ยอมรับเงื่อนไข → Install รอจนติดตั้งเสร็จ → กด Finish ✅ เมื่อติดตั้งเสร็จ จะมีไอคอน “Arduino” บน Desktop ✅ ขั้นตอนที่ 3: เชื่อมต่อ Arduino กับคอมพิวเตอร์ เสียบสาย USB จากบอร์ด Arduino UNO เข้ากับคอมพิวเตอร์ จะมีไฟ LED สีเขียวติดบนบอร์ด (แสดงว่าไฟเข้าแล้ว) ✅ ขั้นตอนที่ 4: เปิดโปรแกรม Arduino IDE คลิกไอคอน Arduino เพื่อเปิดโปรแกรม ✅ ขั้นตอนที่ 5: ตั้งค่าพอร์ตและบอร์ด ไปที่เมนู Tools > Board > Arduino UNO ไปที่เมนู Tools > Port → เลือกพอร์ตที่ขึ้น เช่น COM3 (ถ้...

ทำไม?แรมบางรุ่นถึงแพงกว่าเมนบอร์ด

รูปภาพ
  ทำไม “แรม” (RAM) บางรุ่นถึงมีราคาสูงกว่า เมนบอร์ด ทั้ง ๆ ที่ดูเหมือนว่าจะเป็นอุปกรณ์เล็กกว่าและ “ง่ายกว่า”  แต่ในความจริงมันมีหลายปัจจัยซ่อนอยู่ ดังนี้: 🔍 1.  แรมมี “ชิปเมมโมรี” ที่มีต้นทุนการผลิตสูง RAM เป็น ชิปความเร็วสูงระดับนาโนวินาที ต้องมีความเสถียรสูงมาก ใช้ เทคโนโลยีการผลิตขั้นสูง เช่น DDR5 (ใช้กระบวนการผลิต 10–14 nm) ชิป DRAM ต้องผ่านการคัดคุณภาพ (binning) อย่างเข้มงวด → ยิ่งรุ่นที่ OC (overclock) ได้สูง ยิ่งแพง 🔍 2.  แรมมีต้นทุนวัสดุและคุณภาพที่ต้องควบคุมเข้ม ใช้ PCB คุณภาพสูงหลายเลเยอร์ เพื่อรักษาสัญญาณความเร็วสูงไม่ให้เกิด jitter หรือ noise มีการเพิ่ม Heatsink/ไฟ RGB/แผ่นทองแดงระบายความร้อน บางรุ่นใช้ ECC, แรมเซิร์ฟเวอร์ หรือ XMP/EXPO Profile → ต้องทดสอบร่วมกับแพลตฟอร์มเฉพาะ 🔍 3.  เมนบอร์ดมีกลยุทธ์ “ลดราคา” เพื่อขาย CPU / Ecosystem เมนบอร์ดระดับเริ่มต้น – กลางบางรุ่นมีต้นทุนไม่แพง เพราะ: ใช้ชิปเซ็ตระดับล่าง ต้นทุน Bulk ต่ำกว่า ผลิตจำนวนมากจาก OEM จีน ผู้ผลิตเมนบอร์ดมัก ใช้กลยุทธ์กำไรน้อย เพื่อกระตุ้นยอดขาย CPU และแบรนด์ เ...

กราวนด์ดิจิตอล (Digital Ground) คืออะไร?

รูปภาพ
กราวนด์ดิจิตอล (Digital Ground) คืออะไร? กราวนด์ดิจิตอล คือ ระบบกราวนด์ที่เชื่อมกับวงจรไฟฟ้าดิจิตอลโดยเฉพาะ เช่น ไมโครคอนโทรลเลอร์, DSP, FPGA, หรือวงจร logic ต่าง ๆ ▶ ลักษณะสำคัญ กระแสไหลแบบพัลส์: ในระบบดิจิตอล จะมีสัญญาณเปลี่ยนสถานะเป็น “0” หรือ “1” ทำให้เกิด กระแสพัลส์ความถี่สูง ไหลผ่านกราวนด์ สัญญาณรบกวนสูง (Noise): เพราะสัญญาณดิจิตอลเปลี่ยนแปลงรวดเร็วมาก ทำให้เกิด EMI (electromagnetic interference) จำเป็นต้อง แยกกราวนด์ดิจิตอลออกจากแอนะล็อก เพื่อป้องกันสัญญาณรบกวน ▶ ใช้ในอะไรบ้าง ซาวด์การ์ด คอมพิวเตอร์ ระบบควบคุม MCU เครื่องเล่นสัญญาณดิจิตอล เช่น CD Player

อินเวอร์เตอร์ที่ใช้ในระบบโซลาร์เซลล์

รูปภาพ
 ในระบบโซลาร์เซลล์ อินเวอร์เตอร์ถือเป็นอุปกรณ์สำคัญที่มีหน้าที่แปลงกระแสไฟฟ้ากระแสตรง (DC) ที่ผลิตได้จากแผงโซลาร์เซลล์ ให้เป็นกระแสไฟฟ้ากระแสสลับ (AC) ที่สามารถนำไปใช้กับเครื่องใช้ไฟฟ้าภายในบ้าน หรือส่งกลับเข้าสู่โครงข่ายของการไฟฟ้าได้ อินเวอร์เตอร์ที่ใช้ในระบบโซลาร์เซลล์สามารถแบ่งออกเป็นหลายประเภท ขึ้นอยู่กับลักษณะการใช้งานและขนาดของระบบ อินเวอร์เตอร์ที่ใช้ในระบบโซลาร์เซลล์มีกี่แบบ? อินเวอร์เตอร์ที่ใช้ในระบบโซลาร์เซลล์สามารถแบ่งออกเป็นประเภทหลักๆ ได้ดังนี้: 1. Grid-Tied Inverter (String Inverter) การใช้งาน: เป็นอินเวอร์เตอร์ที่ใช้ในระบบโซลาร์เซลล์แบบ On-Grid หรือ Grid-Tied System ซึ่งเป็นระบบที่เชื่อมต่อกับโครงข่ายไฟฟ้าของการไฟฟ้า หลักการทำงาน: รับกระแสไฟฟ้า DC จากแผงโซลาร์เซลล์หลายๆ แผงที่ต่อกันเป็นสตริง (String) และแปลงเป็นกระแสไฟฟ้า AC ที่มีคุณภาพและเฟสตรงกับไฟฟ้าของการไฟฟ้า เพื่อนำไปใช้งานหรือส่งคืนเข้าโครงข่าย ข้อดี: ราคาไม่แพงเมื่อเทียบกับประสิทธิภาพ ติดตั้งและบำรุงรักษาค่อนข้างง่าย มีประสิทธิภาพสูงในการแปลงพลังงาน ข้อเสีย: หากมีแผงใดแผงหนึ่งในสตริงถูกบังแดดหรือเสียหาย ประ...