บทความ

กำลังแสดงโพสต์จาก มีนาคม, 2015

ไมโครคอนโทรลเลอร์คืออะไร?

รูปภาพ
วันนี้เรามาเริ่มต้นทำความรู้จักกับไมโครคอนโทรลเลอร์กันก่อนครับ เพราะบางท่านอาจไม่รู้จักหรือห่างเหินกับสิ่งเหล่านี้มานานหลายปี เรามาเริ่มต้นที่คำถามนี้กันก่อนครับ                 ไมโครคอมพิวเตอร์คืออะไร บางท่านอาจตอบได้ทันที แต่บางท่านอาจไม่สามารถตอบได้ทันทีทันใด คือต้องคิดนิดนึงเพราะคำนี้อาจไม่ถูกใช้ทั่วไปแล้ว แต่อาจใช้คำว่า “ เครื่องคอมพิวเตอร์ ” และ “ โน๊ตบุ๊ค ” แทน ภาพด้านล่างนี่แหละครับคือ คำตอบ ของคำว่า “ ไมโครคอมพิวเตอร์ ” แล้ว “ ไมโครคอนโทรลเลอร์ ” ล่ะคืออะไร เมื่อเปลี่ยนคำหลังจาก “ คอมพิวเตอร์ ” เป็น “ คอนโทรลเลอร์ ” ภาพด้านล่างนี้เราเรียกว่า “ ไมโครคอนโทรลเลอร์ ” ครับ ในรูปแบบชิพยังไม่พร้อมใช้งานต้องมาต่ออุปกรณ์ในรูปแบบบอร์ดจึงจะเริ่มใช้งานได้ ทั้งใช้งานจริงและใช้ในการทดลองเรียนรู้เพื่อนำไปใช้งานจริง ข้อแตกต่างระหว่าง “ ไมโครคอมพิวเตอร์ ” และ “ ไม่โครคอนโทรลเลอร์ ” คืออะไร ลองดูภาพ 2 ภาพนี้เปรียบเทียบกันดูนะครับ จากรูปจะเห็นได้ว่า คอมพิวเตอร์ จะต้องประกอบไปด้วย...

การสร้างฟังก์ชันนับเวลาทุก ๆ 1 มิลลิวินาที

รูปภาพ
  ในการทำงานกับไมโครคอนโทรลเลอร์บ้างครั้งเราคง อยากที่จะได้ฟังก์ชันที่สามารถนับเวลาทุก 1 มิลลิวินาทีและนับต่อเนื่องไปเรื่อย ๆ จนกว่าเราจะปิดเครื่องหรือรีเซตจึงกลับมาเริ่มตันนับเวลาใหม่ ฟังก์ชันนับเวลาแบบนี้มีประโยชน์มาก เมื่อเราต้องการให้โปรแกรมยังคงทำงานส่วนอื่น ๆ ไปก่อน จนกว่าจะได้เวลาที่ต้องการแล้วค่อยทำงานในส่วนของเวลาที่ได้กำหนดไว้ จากนั้นก็กลับไปทำงานอื่นตามเดิมจนกว่าจะได้เวลาครบตามที่กำหนดอีกครั้ง                   ฟังก์ชันที่เราสร้างขึ้นมานี้ ให้ชื่อว่า millis()บางท่านอาจจะคุ้น ๆ กับชื่อฟังก์ชันนี้ ถ้าท่านเคยได้เล่นไมโครคอนโทรลเลอร์ที่ใคร ๆ ก็บอกว่าง่าย จะมีฟังก์ชันนี้มาให้แล้ว แต่ถ้าท่านอยากรู้ว่า dsPIC30F ก็สามารถทำฟังก์ชันดังกล่าวได้ง่าย ๆ เช่นเดียวกัน  (ตามตัวอย่างบทความนี้) และอยากรู้ว่าง่ายอย่างไรลองมาลงคอร์สเรียนกับเราครับ เรื่องที่ยากสำหรับไมโครคอนโทรลเลอร์จะกลายเป็นเรื่องที่ง่ายในทันที  :) ความรู้ทั่วไป         การน...

10 ขั้นตอนในการเลือกไมโครคอนโทรลเลอร์คู่ใจ

รูปภาพ
ขั้นตอนที่ 1: มั่นใจนะครับว่า จุดอินเตอร์เฟสมีมากพอตามความต้องการ  ข้อ แรกนี้ดูสำคัญที่สุด เพราะถ้าอินเตอร์เฟสที่ต้องการใช้มากกว่าที่ไมโครคอนโทรลเลอร์มีให้ ไมโครคอนโทรลเลอร์ตัวนั้นก็ไม่ตอบโจทย์ความต้องการตั้งแต่แรกแล้ว ขั้นตอนที่ 2: ตรวจสอบสถาปัตยกรรมทางด้านซอฟต์แวร์ มอง ดูว่าความสามารถทางด้านซอฟต์แวร์รองรับงานเราหรือไม่ เช่น ถ้าต้องการใช้การประมวลผลสัญญาณดิจิตอล ไมโครคอนโทรลเลอร์ที่เป็นตัวเลือกต้น ๆ ได้แก่ Microchip (dsPIC30F,  dsPIC33F, dsPIC33E), Texas Instruments (TMS320F28x, TMS320LF240), Freescale (MC56F83x, MC56F80x, MC56F81x)  แต่ถ้าต้องการเพียงงานควบคุมทั่ว ๆ ไปก็ไมโครคอนโทรลเลอร์เหล่านี้ PIC, AVR, MCS-51 ก็สามารถตอบโจทย์ได้แล้ว ขั้นตอนที่ 3: เลือกสถาปัตยกรรมของไมโครคอนโทรลเลอร์ ขั้น ตอนนี้ผมมองว่าคือ การมองดูคุณสมบัติของไมโครคอนโทรลเลอร์นั่นเอง เช่น โมดูลฟังก์ชันที่มีให้ใช้งาน ระดับหน่วยประมวลผล 8บิต, 16บิต หรือ 32บิต สถาปัตยกรรมเป็นแบบ CISC, RISC เป็นต้น ขั้นตอนที่ 4: กำหนดหน่วยความจำที่ต้องการใช้งาน ส่วน นี้สำคัญ ถ้าเลือกหน่วยความจำมากไปไม่เกิดป...

การใช้งานคอมไพเลอร์ Dev-C++

รูปภาพ
Bloodshed Dev-C++ (Dev-C++) เป็นเครื่องมือในการพัฒนาโปรแกรมในรูปแบบ Integrated Development Environment (IDE) สำหรับการเขียนโปรแกรมภาษา C/C++ โดยใช้ Mingw (Minimalist GNU for Windows) ที่พอร์ตมาจาก GCC (GNU Compiler Collection) โดยที่ตัว Mingw เป็นชุดคอมไพเลอร์และรันไทม์ของ GNU ที่สามารถทำงานบนระบบระบบปฏิบัติการ Microsoft Windows นอกจากนี้ Dev-C++ สามารถใช้รวมกับ Cygwin หรือคอมไพเลอร์ตัวอื่น ๆ ที่ทำงานอยู่บนฐานของ GCC ได้เช่นเดียวกัน นอกจาก Dev-C++ แล้วยังมีคอมไพเลอร์ภาษา C/C++ ตัวอื่น ๆ อีกเช่น Visual C++, Turbo C/C++, Borland C/C++ เป็นต้น                  บทจะนำเสนอเครื่องมือในการพัฒนาโปรแกรมภาษา C/C++ ที่ชื่อว่า Dev-C++ ด้วยเหตุผลที่เป็นเครื่องมือที่รันบน Microsoft Windows ขนาดของโปรแกรมไม่ใหญ่มาก ติดตั้งใช้งานได้ฟรี ดาวน์โหลดติดตั้งโปรแกรมได้ที่ตามลิงค์ต่อไปนี้ http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe และติดตามเว็บไซต์ของโปรแกรมนี้ได้ที่ http://www.bloodshed....