Tag Archives: Microcontroller

WeMos D1 mini บอร์ด ESP8266 ไม่ต้องบัดกรีเอง ราคา 4 ดอลลาร์

WeMos D1 mini อีกบอร์ดที่ใช้โมดูลประมวลผล ESP8266 ต่อยอดมาจาก WeMos D1 (ไม่มี mini) ซึ่งเป็นบอร์ดที่เคยต่อแบบ Arduino Shield แต่คราวนี้ D1 mini ทำเป็นบอร์ดตัวเล็กๆ ยาว 34.2 มม. กว้าง 25.6 มม. (เกินหนึ่งนิ้วมาเล็กน้อย) ราคา 4 ดอลลาร์

หน่วยประมวลผลเป็นโมดูลไมโครคอนโทรลเลอร์ ESP-8266EX (แต่ดูในผังวงจรที่เป็นไฟล์ pdf บอกว่าเป็น ESP-12F) และมีไอซี USB to serial บนบอร์ดมาให้แล้วด้วย ต่อใช้งานกับคอมพิวเตอร์ทาง USB ได้เลย ทดลองได้สะดวกขึ้น นอกจากนี้ก็มีขาที่ต่อออกมาเพื่อไปต่อกับบอร์ดต่อขยายอื่นๆ จำนวน 16 ขา จะว่าไปราคา 4 ดอลลาร์ ก็แลกกับการไม่ต้องหาแผงวงจรเองและต้องบัดกรีขาที่แคบเพียง 2 มิลลิเมตรของโมดูล ESP8266

และยังมีบอร์ดต่อขยาย ดูเหมือนจะเรียกว่า Shield มาให้อีก 5 แบบ

  • DHT Shield คือบอร์ดวัดอุณหภูมิและความชื่นที่ใช้โมดูล DHT11 ต่อกับขา D4
  • DHT Shield Pro เปลี่ยนไปใช้โมดูล DHT22 ซึ่งวัดอุณหภูมิและความชื้นได้แม่นยำขึ้น ต่อกับขา D4 เช่นเดิม
  • 1-Button Shield รับอินพุตเป็นปุ่มกด ต่อกับขา D3
  • Relay Shield รีเลย์ต่อกับขา D1
  • Micro SD Shield เอาไว้ใช้กับ SD card ต่อกับขา D5 ถึง D8 ใช้พอร์ต SPI

นอกจากตัวชิปหน่วยประมวลและตัวไอซี USB to serial บนบอร์ดแล้ว ก็มีไอซีสามขา RT9013 เป็นตัวแปลงไฟฟ้า จากแรงดัน 5v ของ USB ไปเป็น 3.3v ให้ใช้กับชิปบนบอร์ด แต่ดูแล้วไอซีตัวเล็กไม่น่าจะจ่ายกำลังไฟฟ้าได้สูงมาก น่ามีบอร์ดแหล่งจ่ายไฟมาเพิ่มจัง

ผ่านทาง http://www.cnx-software.com/2016/02/19/4-wemos-d1-mini-esp8266-board-supports-shields-with-a-temperature-sensor-a-button-a-relay-or-a-micro-sd-slot/

Advertisements

เปิดตัว UDOO Neo บอร์ดคอมพิวเตอร์จิ๋ว มี ARM Cortex-A9 และ Cortex-M4 ในตัว ขอระดมทุนที่ Kickstarter

คอมพิวเตอร์จิ๋ว UDOO ที่เคยระดมทุนสำเร็จเมื่อราวสองปีที่แล้ว คราวนี้มาขอระดมทุนทำ UDOO Neo ที่พลังประมวลผลอาจดูลดลงไปจากรุ่นแรกอยู่บ้าง แต่ก็ลดราคาจำหน่ายลงไปได้ โดยยังใช้หน่วยประมวลลผลจาก Freescale แต่เปลี่ยนไปใช้ชิป i.MX 6SoloX ซึ่งบรรจุซีพียู ARM Cortex-A9 เร็ว 1GHz (คอร์เดียว) ใช้เป็นคอมพิวเตอร์จิ๋ว และ ARM Cortex-M4 เร็ว 166MHz เป็นไมโครคอนโทรลเลอร์ เรียกได้ว่า two-in-one กันเลย เมื่อเทียบกับ UDOO รุ่นแรก ที่ชิปคอมพิวเตอร์กับไมโครคอนโทรลเลอร์แยกกัน

มีสองรุ่นที่ออกมา คือ UDOO Neo การเชื่อมต่อมี Ethernet และ Wi-Fi 802.11 b/g/n รวมถึง BT 4.0 (Classic Bluetooth และ Bluetooth Low Energy) มี motion sensor 9 แกน คือตัววัดแรงเฉื่อย ไจโรสโคป และเข็มทิศ (IMU) ในส่วนของการแสดงผลมีช่องต่อจอ HDMI และ LVDS สำหรับต่อจอแบบสัมผัส โดยราคาระดมทุนสำหรับผู้ที่มาก่อนที่ 45 ดอลลาร์ ส่วนอีกรุ่นคือ UDOO Neo Basic รุ่นตัดทอน มีแรมเพียง 512 MiB ไม่มี Ethernet และ motion sensor โดยราคาระดมทุนสำหรับผู้ที่มาก่อนคือ 35 ดอลลาร์

สำหรับช่องต่ออื่นๆ ที่น่าสนใจที่ทั้งสองรุ่นมีเหมือนกัน ก็มีช่อง CSI ใช้ต่อกับกล้อง มีช่องต่อ MicroSD card (ต่อ SDIO ได้) มี I2S และ SPDIF เพื่อเล่นเสียงดีๆ มี analog input จำนวน 6 ช่อง มี USB 2.0 และ OTG อย่างละหนึ่ง การต่อที่มักพบในระบบไมโครคอนโทรลเลอร์ มี 3x UART, 2x CAN Bus, 8x PWM, 1x I2C และ 1x SPI เดาว่าที่ PWM มีมากถึงแปดและ UART ที่มีถึงสาม คงเป็นเพราะตัวไมโครคอนโทรลเลอร์ Cortex-M4 ที่ติดมา

ในส่วนของ software จะมีระบบปฏิบัติการทั้ง Linux ที่เป็น kernel 3.10 มาในโฉมของ UDOObuntu ซึ่งก็คือ Ubuntu ที่ใช้กับเครื่อง UDOO และ Android Kitkat 4.4.3 แบบ Vanilla Android ไม่มีการปรับแต่งเสริมเพิ่มเติม

ที่มา http://www.udoo.org/udoo-neo-is-on-kickstarter-get-the-35-or-45-early-bird-now/

ปล. UDOO รุ่นแรกก็สอยมาแล้ว คราวนี้ เอาอีกดีไหม ตอนนี้ระดมทุนสำเร็จไปแล้วในเวลาไม่น่าจะถึงวัน

ARM เปิดตัวหน่วยประมวลผล Cortex-M7 ในยุคของ Wearable และ Internet of Things

ARM เปิดตัวหน่วยประมวลผล ARM Cortex-M7 ตัวใหม่ในตระกูล M หรือไมโครคอนโทรลเลอร์ 32-bit ของ ARM มาแบบจัดเต็ม ความถี่สัญญาณนาฬิกาสูงถึง 400MHz (เริ่มใกล้เคียงกับพวกหน่วยประมวลผลที่ใช้ใน router ซะแล้ว) ค่า DMIPS/MHz ต่ำสุดอยู่ที่ 2.14 มี pipeline จำนวน 6 ขั้น (อย่าง Cortex-M0+ รุ่นประหยัดไฟ มี DMIPS/MHz  ที่ 0.94 และ pipeline จำนวน 2 ขั้น โดย pipeline) มี FPU ใช้ช่วยประมวลตัวเลขทศนิยม ซึ่งก้ต้องมีชุดคำสั่งใหม่ๆ เพื่อใช้งานมันได้ และมี DSP ที่รองรับชุดคำสั่ง SIMD ซึ่งใช้คำนวณค่าใน register หลายๆ ตัวในคราวเดียว (ชิปบน Raspberry Pi ยังไม่มีชุดคำสั่งแบบ SIMD เลยครับ)

ไมโครคอนโทรลเลอร์ ต่างจากไมโครโปรเซสเซอร์อยู่หลายส่วน ตัวอย่างเช่นมักจะไม่มีส่วนที่ควบคุมหน่วยความจำ (MMU) จึงต้องใช้ระบบปฏิบัติงาน (OS) ที่ใช้งานกับหน่วยประมวลที่ไม่มี MMU ซึ่งส่วนใหญ่มักเป็นแบบ RTOS ที่มักถูกเขียนขึ้นมาให้ใช้กับไมโครคอนโทรลเลอร์อยู่แล้ว หรือไม่ก็ bare-metal ไปเลย อีกจุดหนึ่งคือประหยัดพลังงานไฟฟ้ามากกว่า ขอเดาว่าที่ ARM ออกหน่วยประมวลผลตัวนี้ออกมาเพื่อต้องการหน่วยประมวลผลที่ประหยัดไฟเพื่อใช้กับ wearable หรือ Internet of Things แต่ต้องการพลังการประมวลผลเพิ่มขึ้นกว่าไมโครคอนโทรลเลอร์ เช่น การวิเคราะห์รูปแบบของคลื่น เช่นใช้ FFT กับชีพจร หรือ OpenMV ที่เอาชิป STM32F4xx ARM Cortex-M4 มาวิเคราะห์ใบหน้า งานนี้น่าจะมามองๆ Cortex-M7 บ้างนะครับ

และแน่นอนว่าเมื่อมีชุดคำสั่งใหม่ๆ ก็ต้องปรับปรุง compiler ด้วย ก็มีความเคลื่อนไหวแล้วบ้างครับ ตอนนี้ก็คงรอดูต่อไปว่าจะมีผู้ผลิตชิปรายไหนบ้าง ซื้อทรัพย์สินทางปัญญาตัวนี้จาก ARM ไปผลิตชิป (ARM ขายทรัพย์สินทางปัญญาในการสร้างชิป แต่ไม่ได้ผลิตชิปออกมาขายเอง) และมีบอร์ดทดลองอะไรบ้างที่ใช้ชิปตัวนี้ออกมาอีก ที่มา http://arm.com/products/processors/cortex-m/cortex-m7-processor.php | http://www.anandtech.com/show/8542/cortexm7-launches-embedded-iot-and-wearables updated: ล่าสุด STMicroelectronics รับไปเลี้ยงแล้วครับ โดยจะผลิตออกมาเป็น STM32 F7

ทดลองโปรแกรม LPC800 Mini-Kit บน Linux ด้วย lpc21isp

คราวที่แล้วที่ทดลองโปรแกรมบอร์ดไมโครคอนโทรลเลอร์ตัวน้อย LPC800 Mini-Kit โดยใช้โปรแกรม Flash Magic คราวนี้มาลองโปรแกรม lpc21isp บน Linux บ้าง ซึ่งแจกเป็น source code ก็ไปดาวน์โหลดแล้วสร้างเองเลยครับ

wget http://jaist.dl.sourceforge.net/project/lpc21isp/lpc21isp/1.94/lpc21isp_194.tar.gz
tar xzvf lpc21isp_194.tar.gz
sudo yum install glibc-static
gmake

ก็จะได้โปรแกรม lpc21isp มาใช้งาน จากนั้นก็ต่อแบบเดิมเลยครับ แต่ก่อนอื่นก็ทดสอบการเชื่อมต่อเหมือนอีกเช่นเคย แต่คงต้องกรอกผ่าน command line

sudo ./lpc21isp -detectonly /dev/ttyUSB0 115200 12000

ต้องเป็น root สามารถทำได้โดยใช้ sudo โดยที่ -detectonly คือการสั่งตรวจสอบรุ่นชิปบนบอร์ด (โปรแกรมนี้โปรแกรมชิปได้หลายรุ่น) /dev/ttyUSB0 คือ device ที่เป็น USB to UART ให้สั่ง dmesg เพื่อดูว่าเสียบแล้วได้ชื่ออะไร (อาจไม่ได้ชื่อเหมือนของผม) 115200 คือความเร็ว Baud Rate ของ serial port และ 12000 คือความถี่สัญญาณนาฬิกาที่ใช้ LPC800 ใช้ หน่วยเป็น kHz เมื่อพิมพ์คำสั่งแล้วเคาะ enter แล้ว รอให้เห็นจุดๆ หน่อยๆ ก็ให้กด ISP ค้างไว้ แล้วกด RESET มันก้จะแสดงชื่อรุ่นตามภาพข้างล่างครับ

lcp800-lpc21isp-001

จากนั้นก็สั่งโปรแกรมเข้าไปครับ มันรองรับทั้งไฟล์โปรแกรมที่เป็น hex และ bin และตัวมันเองสามารถเปิด serial terminal เพิื่อแสดงผลหลังจากโปรแกรมเสร็จแล้วด้วยเพื่อดูผล (ตรงคำสั่ง -term) ก็ใช้ hex file ตัวเดิมเลยครับ พิมพ์คำสั่งข้างล่าง เคาะ enter รอจุดกด ISP ค้างไว้ แล้วกด RESET เหมือนเช่นเคยครับ

sudo ./lpc21isp -term LPC810_HelloWorld_UART0_115K.hex /dev/ttyUSB0 115200 12000

lpc800-lpc21isp-002

ได้รับ LPC800 Mini-Kits เป็นไมโครคอนโทรลเลอร์ ARM Cortex-M0+ แบบแจกฟรีแล้วครับ

เคยพูดถึงชิปไมโครคอนโทรลเลอร์ LPC800 จาก NXP ที่ใช้สถาปัตยกรรม ARM Cortex-M0+ คราวนี้ได้บอร์ด LPC800 Mini-Kits จากการแจกฟรีโดย element14 แล้วครับ ขอบคุณมากๆ ครับ
https://twitter.com/ohmohm/status/362584655611961345

updated: ไปเจออีกท่านที่ได้มาเช่นกันครับ

https://www.facebook.com/photo.php?fbid=482269538515353

เปิดตัว Arduino Robot หุ่นยนต์อย่างเป็นทางการจาก Arduino และ Arduino Yun เป็น Arduino มี Wi-Fi Router ในตัว

ช่วงนี้ทีม Arduino เปิดตัวของใหม่ๆ มาสองอย่างติดๆ กันเลยครับ สิ่งแรกคือ Arduino Robot หุ่นยนต์ติดล้ออย่างเป็นทางการจาก Arduino ใช้ชิปไมโครคอนโทรลเลอร์ ATmega32U4 แบบเดียวกับในบอร์ด Arduino Leonardo แต่ใช้ถึงสองชิป โดยอีกชิปเพื่อควบคุมมอเตอร์ไฟฟ้า

มีข้อสังเกตอย่างหนึ่งคือ หุ่นยนต์นี้เปิดตัวในช่วงเวลาของงาน Google I/O 2013 ซึ่งในงานไม่เห็นมีเรื่องของ Google Android Accessory Development Kit (ADK) ที่ทำให้สมาร์ตโฟนแอนดรอยด์สามารถควบคุมหุ่นยนต์ได้ อย่างในปีที่แล้วก็มี ADK2012 ซึ่งใช้บอร์ด Arduino Due ที่มีพอร์ต USB host อยู่ในตัว ส่วน Google I/O 2011 ก็เป็นปีที่เปิดตัว ADK แต่ Arduino Robot กลับไม่มี USB host ที่จะไปต่อกับแอนดรอยด์ได้ แปลว่าจะแยกทางหรือไม่พึ่งพา ADK หรือเปล่า

จุดประสงค์อีกอย่างหนึ่งของ ADK คือต้องการทำ cloud robot เพราะไมโครคอนโทรลเลอร์ในตัวหุ่นยนต์อาจมีพลังในการประมวลผลไม่พอ จึงส่งให้ cloud หรือการประมวลผลแบบกลุ่มเมฆ ช่วยทำการประมวลผลแทนโดยผ่านทางมือถือแอนดรอยด์ อันที่จริงในงาน Google I/O 2013 มีเรือเหาะบังคับวิทยุติด Raspberry Pi ในการสตรีมการถ่ายวิดีโอจากเรือเหาะ ฤๅว่า ADK จะสยบให้กับ Raspberry Pi

ของใหม่ถัดมาคือ Arduino Yun เป็นบอร์ดไมโครคอนโทรลเลอร์แบบต่อกับ Arduino Shield ได้ ใช้ชิป ATmega32U4 เช่นเดียวกัน แต่ดูจากรูปที่ขึ้นสไลด์แผนผังการต่อทำไมยังระบุเป็น ATmega324 อยู่ และไปต่อกับชิป Wi-Fi ที่อยู่บนบอร์ดอีกตัวคือ Atheros AR9331 จาก MIPS รุ่น 24K แบบเดียวกับที่ใช้ใน Wi-Fi router ตัวเล็กราคาไม่แพงยี่ห้อ TP-LINK TL-WR703N และได้ติดตั้ง Linino ซึ่งเป็น Linux จาก Arduino ที่ต่อยอดมาจาก OpenWRT การเชื่อมต่อมีทั้ง SPI และ UART เดาว่าการต่อแบบ UART คงต่อเป็น serial port เพื่อใช้งาน Linux ผ่าน terminal และ SPI คงเหมือนกับ Ethernet Shield และนอกจาก Ethernet และ Wi-Fi แล้ว ที่ AR9331 ก็มีพอร์ต USB host ด้วย

สำหรับคำว่า Yun เป็นภาษาจีนแปลว่าเมฆ แปลกใจเหมือนกันครับว่าทำไมไม่ใช้คำในภาษาอิตาลี nuvola ซึ่งเป็นบ้านเกิดของ Arduino ไม่รู้ว่าไปติดในเรื่องเครื่องหมายการค้าด้วยหรือเปล่า ถ้าไปใช้ภาษาฮินดู megha ก็จะเป็นรากศัพท์เดียวกับคำว่าเมฆในภาษาไทย แต่การใช้คำว่าเมฆคงต้องการสื่อว่าเป็น cloud ซึ่งไม่แค่ใช้ Wi-Fi ที่มีบนบอร์ดในการสื่อสาร แต่ใช้ติดตั้งโปรแกรมลงสู่ตัว Arduino Yun แบบไร้สาย หรือผ่าน cloud (และ web service) ด้วย

Arduino Yun จะมาในปลายเดือนมิถุนายนในราคา 69 ดอลลาร์ เท่าที่อ่านจากคอมเม็นต์ในเว็บแหล่งที่มา มีบ่นอยู่เหมือนกันครับว่าแพงกว่า Raspberry Pi ถึงสองเท่า ถ้าเอา Raspberry Pi ไปต่อกับ Wi-Fi dongle และ Arduino Leonardo แล้วน่าจะราคาพอๆ กันแต่ได้พลังประมวลผลและแรมมากกว่า หรือเอาไปเทียบกับ UDOO (ซึ่งตอนนี้อยู่ระดมทุนและยังไม่วางขาย) ที่มีชิป Cortex-A9 และ Cortex-M3 คู่กันในบอร์ดเดียวเลยก็มี จะว่าไปแล้วถ้าเอา Arduino Leonardo ไปต่อกับ TP-LINK TL-WR703N ซึ่งราคาประมาณ 25 ดอลลาร์ โดยใช้โปรแกรม LinkDuino ที่ใช้เชื่อมก็อาจจะถูกกว่านะครับ

ที่มา MAKE (1, 2) ผ่านทาง CNXSoft

อยากได้คอมพิวเตอร์บอร์ดจิ๋วมีไมโครคอนโทรลเลอร์มาให้แล้วไหม UDOO จัดให้

คอมพิวเตอร์จิ๋วไม่ว่าจะเป็นแบบแท่งหรือแบบบอร์ด (แผงวงจร) ก็ออกกันมามากมาย แต่การประยุกต์ใช้บางทีต้องต่อกับไมโครคอนโทรลเลอร์มาต่อเพิ่ม เช่นใช้ Arduino เพื่อรับ input/output เพิ่มเติม แล้วทำไมไม่ทำให้มีไมโครคอนโทรลเลอร์ติดมาตั้งแต่แรกเลย ซึ่งตอนนี้มีแล้วครับ มันคือ UDOO

UDOO ใช้ชิปประมวลผล Freescale i.MX 6 ซึ่งเป็น ARM Cortex-A9 ความถี่สัญญาณนาฬิกา  1 GHz โดยจะผลิตออกมาสองรุ่นคือที่ใช้ชิปแบบ dual core และ quad core ซึ่งชิปนี้ทำหน้าที่เป็นคอมพิวเตอร์จิ๋วใช้งานระบบปฏิบัติการ Android หรือ Linux ในหน้าของ Kickstarter มีเปรียบเทียบไว้ว่าพลังประมวลผลเท่ากับ Raspberry Pi 4 ตัว (มีระบุว่าเทียบได้กับ Nexus 7 ด้วยครับ) ซึ่งชิปตัวเดียวกันตัวนี้ถูกใช้ในคอมพิวเตอร์จิ๋วอย่าง Wandboard หรือ MarS Board ด้วยครับ (แต่ถ้าเป็นคอมพิวเตอร์จิ๋วที่ใช้ชิป Cortex-A9 จากผู้ผลิตชิปรายอื่นๆ ก็มีเยอะนะครับ) สำหรับ RAM เป็นแบบ DDR3 ขนาด 1 GiB และใช้ชิปประมวลผล Atmel SAM3X8E ซึ่งเป็น ARM Cortex-M3 ทำหน้าที่เป็นไมโครคอนโทรลเลอร์ ซึ่งเป็นชิปตัวเดียวกับที่ใช้ใน Arduino Due ทำให้บอร์ดนี้ จะพัฒนาเป็น Arduino (เดาว่าน่าจะลง bootloader ได้ และอาจไม่จำเป็นต้องใช้ Arduino เสมอไป) หรือ Linux (รวมถึง Android) หรือจะผสานการทำงานของทั้งสองชิปก็ได้

สำหรับการเชื่อมต่ออื่นๆ ก็มี 54 Digital I/O + Analog Input เหมือนที่ต่อ Arduino Shield มีช่องต่อโทรทัศน์ HDMI และ LVDS สำหรับจอ LCD และ touch screen มี Ethernet ช่องต่อ RJ45 ความเร็ว 1000 MBit เลยครับ และ Wi-Fi มี Mini USB และ Mini USB OTG และ USB type A (น่าจะเป็น USB host) สองช่อง ต่อเสียงออกและต่อไมโครโฟนได้ ต่อ micro SD card ได้ ต่อกล้องได้ และต่อ SATA เฉพาะในรุ่น quad core ได้

มีคลิปอธิบายด้วยครับ บรรยายชัดเจนเลยว่ามันใช้ทำอะไรได้บ้าง สำหรับวงจรกำหนดว่าจะเป็นสิทธิบัตรแบบ open hardware แต่ตอนนี้ยังไม่เปิดเผยวงจรใน แล้วก็มีผู้สงสัยว่า Arduino กับ Linux (หรือก็คือชิป Cortex-A9 กับ Cortex-M3) จะเชื่อมกันอย่างไร ถ้าเป็น Android ADK แล้ว Arduino จะทำหน้าที่เป็น USB host และ Android จะเป็น USB device แต่ถ้าจะติดตั้งโปรแกรมจาก Arduino IDE (ที่เรียกกันว่า Sketch) จากเครื่อง Linux ไปยัง Arduino แล้ว (updated) เดาว่าคงใช้ serial port เพราะใน Arduino Due จะใช้ไอซีอีกตัวที่ต่อไปยัง serial port ของ Arduino Due และทำหน้าที่เป็น USB device เพื่อเชื่อมต่อกับคอมพิวเตอร์ที่เป็น USB host ซึ่งจะส่ง Sketch ออกมา ส่วน ADK ต่อผ่าน USB OTG ครับ

ที่มา Kickstarter


updated [03.05.2013] มีการลุ้นรางวัลเสื้อ UDOO ด้วยครับ ก็ follow @UDOO_Board แล้วรีทวีตข้างล่างนี้ หมดเขต 12 พ.ค. ครับ

และ 3D benchmark ครับ