ก่อนหน้านี้ทางเราได้เริ่มวางจำหน่ายสินค้าตัวหนึ่งอย่างไม่เป็นทางการเท่าไรแต่ก็ขายให้กับผู้ที่มาเข้าอบรม Course Raspberry PI และสนใจนำกลับไปเล่นบ้าง
แต่ตอนนี้หลังจากทดลองใช้มาซักระยะ พบว่ามันเยี่ยมมาก เลยน่าจะเอามาจำหน่ายได้ซักทีกับเจ้าตัวนี้ครับ

เกริ่นนำภาค Hardware และการใช้งานทั่วๆ ไป

อย่างแรกหลายท่านที่เคยติดตามอ่านเพจเราหรือผลงานของเราจะเห็นเจ้าตัวหน้าตาตามรูปด้านบนบ่อยแต่ไม่ค่อยมีการพูดถึงซักที

เจ้าบอร์ดนี้มีชื่อว่า Deaware Face ครับ โดยเป็นบอร์ดเสริมสำหรับ Raspberry PI โดยเฉพาะแล้วเบื้องต้นข้อดีมันทำอะไรได้บ้างละ

  1. ใช้ในการขยาย I/O ให้กับ Raspberry PI ให้สามารถต่ออุปกรณ์อื่นได้มากขึ้นและทนแรงดันได้มากกว่า
  2. มี Relay ที่พอจะนำไปใช้ในการควบคุมอุปกรณ์หนักๆ บางชนิดเช่น Motor, หลอดไฟ เป็นต้น
  3. ข้อดีที่ทางเราชอบมาก สามารถเสียบ external adaptor เข้า Raspberry PI ได้เลยทำให้ Raspberry PI เสถียรขึ้นมากจากเดิมที่ต้องอาศัยไฟเลี้ยงผ่าน Micro USB ที่จำกัดกระแสและจะเกิดปัญหาถ้าเราต้องการใช้อุปกรณ์ต่อพ่วงกับ Raspberry PI เยอะๆ เช่นนำไปใช้งานกับอุปกรณ์อย่าง USB WiFI หรือต่ออุปกรณ์รอบตัวก็พอไหว


จากรูปจะเห็นได้ว่ามีการเชื่อมต่ออุปกรณ์ USB และ HDMI แทบจะเต็มทุกพอร์ตของ Raspberry PI แต่ก็ยังทำงานสบายๆ

ถ้าเอามาคุมมอเตอร์ก็พอไหว

Screen Shot 2556-12-05 at 3.20.17 PM

หรือจะเอาไปต่อ I/O ก็สบาย
Screen Shot 2556-12-05 at 3.21.47 PM

คุณสมบัติการเอาไปใช้งานเกินคำบรรยาย หรือจะเอาไปทำ Home Automation แบบด้านล่างนี้เลยก็ได้

http://www.youtube.com/watch?v=CQmKGgYLA14

ส่วนเอกสารฮาร์ดแวร์อย่างเป็นการสามารถดาวน์โหลดได้ที่ 
https://docs.google.com/file/d/0B-IbzRNLM9hPaHY3ZEdnWW5xNmc/edit?pli=1

 

ต่อมาลองมาดูภาคส่วนของซอฟแวร์กันบ้างครับว่าใช้งานง่ายขนาดไหน
หัวใจสำคัญของเจ้าส่วนเสริมตัวนี้อยู่ที่ CHIP MCP23017 ของ Microchip ที่ใช้ในการขยาย I/O จาก bus I2C ให้กลายเป็น I/O ทั้งหมด 16 Bit


http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf

 

มาดูวิธีการใช้งานกันครับ โดยเราจะเริ่มทดสอบแบบ Manual กันก่อน

  1. เสียบบอร์ดนี้เข้ากับ Raspberry PI กันก่อน จะเสียบง่ายมากและออกมาสวยงามพอดี
  2. console เข้าไปที่ Raspberry PI โดยการทำผ่าน SSH Protocol หรือผ่านจอมอนิเตอร์ก็ได้ครับ
  3. ต้องติดตั้ง I2C package ก่อนครับโดยวิธีการติดตั้งสามารถทำตามได้โดย ( ทำครั้งเดียวตอนได้บอร์ดมาใหม่ๆนะครับ )
    3.1            sudo nano /etc/modules
    3.2           แล้วใส่สองบรรทำต่อไปนี้ลงไปที่ท้ายไฟล์แล้วให้ reboot ซักหนึ่งรอบครับ
    i2c-bcm2708
    i2c-dev
  4.  ต่อมาก็ลง python-smbus ที่จะใช้การเชื่อมต่อระหว่างภาษาไพธอนและ i2c ได้โดยง่าย โดยการพิมพ์คำสั่ง
      4.1       sudo apt-get install python-smbus

 

  • ลองทดสอบดูซะหน่อยว่าเจอไหมโดยใช้ i2cdetect เข้าช่วย ( ตรงนี้ถ้าเป็น Raspberry PI Revision 1 ให้เปลี่ยนเลขหนึ่งตามหลัง -y ให้กลายเป็น 0 ) ถ้ามีเลข 20 ซึ่งเป็น address ของ CHIP ก็สบายแล้วครับ
  • Screen Shot 2556-12-05 at 3.41.21 PMในการใช้งานเราสามารถดู Register ทั้งหมดของ CHIP ได้ตามนี้

 

Screen Shot 2556-12-05 at 3.56.17 PM

ให้สังเกตุ address 0x00, 0x01, 0x12, 0x13 ครับผม

โดยจากด้านบน address ทั้งสี่ตัวถ้าอธิบายแบบ ง่ายๆ คือ
0x00 – ใช้การกำหนด direction ของ pin ส่วนที่เราต่อ Output หรือ GPA ของชิบ
0x01 – ใช้ในการกำหนด Direction เหมือนกันแต่ตรงนี้เราต่อฮาร์ดแวร์เป็น Input หมดเลยไม่ต้องทำอะไรหรือ GPB ของชิบ
0x12 – ค่า Data ที่ออก pin ไปที่ GPA หรือส่วนที่เราต่อ Output
0x13 – ค่า Data อ่านจาก Pin GPB หรือส่วนที่เราต่อ Input

เดี๋ยวมาทดลองดูกันครับเริ่มต้นจะต้องตั้งค่า 0x00 ให้มีค่าจาก 0xff ( ในรูปซึ่งเป็นค่า default ตอนเราเปิดเครื่องครั้งแรกครับ ) ถ้าเราไม่ตั้งค่าตรงนี้จะไม่สามารถควบคุม LED หรือ Output ได้ครับ
ในที่นี้ถ้าเขียนออกมาเป็น Source Code Python จะได้ว่า

import smbus                                                                  # import smbus library
PCF8574 = 0x20
b=smbus.SMBus(1)
b.write_byte_data(PCF8574,0x00,0x00)        # เขียนค่า 0x00 ไปที่ Address 0x00 ของ CHIP MCP2317 ที่อยู่ Address 0x20

ต่อมาถ้าเราต้องการควบคุม LED หรือ Output จะต้องเขียนค่าไปที่ Address 0x12 โดยทำตามด้านล่างนี้

b.write_byte_data(PCF8574, 0x12, 0xFF);      # สั่ง LED ทั้งหมดติด
b.write_byte_data(PCF8574, 0x12, 0x00);     # สั่ง LED ทั้งหมดดับ

เป็นไงครับใช้ง่ายไหม

ทีนี้ทางฝั่งรับค่าจาก Input ก็เขียนง่ายๆ โดยตรงได้ตามนี้เลยครับ

x = b.read_byte_data(PCF8574, 0x13);             # อ่านค่ามาเก็บไว้ที่ x หลังจากนั้นให้เอา x ไปใช้

แค่นี้ละครับวิธีการใช้งานส่วนเสริมที่ทรงพลังและอาวุธของ Raspberry PI

สามารถดาวน์โหลดโค้ดทดสอบฮาร์ดแวร์ทั้งหมดได้ที่

https://drive.google.com/file/d/0B-IbzRNLM9hPQ2tDNG5ReWx1NjQ/edit?usp=sharing

วิธีรันซอฟแวร์ใช้คำสั่ง

sudo python deawareface_demo.py

ราคาบอร์ดอยู่ที่ 1250 บาทเท่านั้นครับช่วยให้ Raspberyr PI ของคุณแข็งแรง และมีความสามารถมากขึ้น
รวมทั้งซัพพอร์ตซอร์สโค้ดตัวอย่างให้ดาวน์โหลดไปลองเล่นฟรีตลอด ครับผม โดยจะมีมาเพิ่มในอนาคต

สนใจสามารถสั่งซื้อและติดต่อได้ที่
EMAIL : connect@deaware.com
Facebook : www.facebook.com/deaware