was successfully added to your cart.

Deaware Face คืออะไรเริ่มต้นใช้งานอย่างไร ทำอะไรได้บ้าง

By December 5, 2013Product

ก่อนหน้านี้ทางเราได้เริ่มวางจำหน่ายสินค้าตัวหนึ่งอย่างไม่เป็นทางการเท่าไรแต่ก็ขายให้กับผู้ที่มาเข้าอบรม 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 หรือผ่านจอมอนิเตอร์ก็ได้ครับ

ต้องติดตั้ง I2C package ก่อนครับโดยวิธีการติดตั้งสามารถทำตามได้โดย ( ทำครั้งเดียวตอนได้บอร์ดมาใหม่ๆนะครับ )

  • 3.1            sudo nano /etc/modules
  • 3.2          แล้วใส่สองบรรทำต่อไปนี้ลงไปที่ท้ายไฟล์


i2c-bcm2708

i2c-dev

 

  1.  ต่อมาก็ลง python-smbus ที่จะใช้การเชื่อมต่อระหว่างภาษาไพธอนและ i2c ได้โดยง่าย โดยการพิมพ์คำสั่ง
      4.1       sudo apt-get install python-smbus
  2. ลองทดสอบดูซะหน่อยว่าเจอไหมโดยใช้ i2cdetect เข้าช่วย ( ตรงนี้ถ้าเป็น Raspberry PI Revision 1 ให้เปลี่ยนเลขหนึ่งตามหลัง -y ให้กลายเป็น 0 ) ถ้ามีเลข 20 ซึ่งเป็น address ของ CHIP ก็สบายแล้วครับ
  3. 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

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

ไครสนใจติดต่อได้ที่
EMAIL : connect@deaware.com
Facebook : www.facebook.com/deaware


Join the discussion 2 Comments

  • mongkol says:

    ขอสอบถามครับ
    1.deaware face แตกต่างจาก piface ตรงที่สามารถต่อไฟเพิ่มได้ใช่ไหมครับ มีส่วนอื่นแตกต่างอีกไหม
    2. dimension เท่า piface หรือไม่ เพราะถ้าเท่ากันเวลาซื้อ case ก็จะไม่มีปัญหา
    3. หากผมต้องการต่อรับ input digital 24volt สามารถใช้ได้หรือไม่ (ไม่สามารถรับจาก relay ได้เพราะว่า response time ช้าไปหน่อย) หากใช้ไม่ได้แนะนำตัวไหนดีครับ

    • deaware says:

      เรียนคุณ Mongkol

      1. Deaware Face ต่างกับ Piface หลายอย่างอยู่ครับผมเช่น
      1.1 ของเราใช้ i2c ในการติดต่อสื่อสาร I/O หมายความว่ายังเหลือ SPI ไปเชื่อมต่ออุปกรณ์อย่างอื่นได้ โดยมีการดึง pin ออกมาไว้ด้านบนไห้ด้วย
      1.2 I/O เช่น UART มีการต่ออกมาให้ด้านบนไม่ได้ปิดไปเลยเหมือน PiFace ที่มีแต่ I/O
      1.3 สามารถต่อ Adaptor ภายนอกได้ทำให้ Raspberry PI เสถียรมากขึ้นเช่นเราสามารถเสียบ USB devices กลางคันโดยที่ Raspberry PI ไม่รีสตาร์ท
      และข้อแตกต่างหลายอย่างที่ improvement มาครับแต่โดยจุดสำคัญมีดังกล่าวด้านต้น

      2. ตรงนี้ทางผมไม่แน่ใจนะครับ แต่ขนาดไกล้เคียงกันมาก เพราะว่าทางเราไม่มี PiFace ครับ
      3. ขาของ Raspberry PI เป็น Open collector เราเคยทดสอบที่ 5,12 Volt และตามสเปคทนแรงดันได้สูงสุด 50V 500mA ครับ

Leave a Reply to mongkol Cancel Reply

*