Wiring #2 ตอนกำเนิดบอร์ด wiring (DIY)

Posted by | November 12, 2008 | Arduino, MyProject | 4 Comments

มาถึงตอนนี้หลายท่านเกิดอยากลอง wiring แต่ไม่รู้จะบอร์ดที่ไหนดี จะแนะนำให้ไปซื้อมาเลย มันคงจะไม่สนุกอะไร อย่างเราๆ นี้ต้องทำเองกับมือถึงจะดี ผมเลยได้ไอเดียว่าน่าจะลองทำเองก่อน
ความจริงอยู่เมืองไทย มีดีหลายอย่าง เราสามารถหา อะไหล่อิเล็กทรอนิกส์ถูกๆ จากจีน และ taiwan ได้ และในกรุงเทพยังมีบริษัท ที่พัฒนาบอร์ดเพื่อการศึกษาอิเล็กทรอนิกส์และราคาไม่แพงมาก (ผมเห็นเพื่อนๆ หลายคนเอาไปขายใน ebay ทำกำไรได้มากมายเลย) ผมจึงคิดว่าเราน่าจะหาเลือกบอร์ดที่เหมาะสม มาดัดแปลงใช้งานได้ครับ เผื่อมันเวิร์ก จะได้ มีอะไหล่ใช้กันจนแก่ครับ (ฮ่าๆ เงินผมหายาก) เลยมาเป็นเนื้อให้ในตอนนี้ครับ ทำบอร์ด wiring ใช้เอง

ขั้นตอนเตรียมอุปกรณ์

ก่อนอื่นเลย ควรจะเริ่มจากการศึกษาวงจรของทาง wiring ก่อน

วงจรของ Wiring I/O สนใจคลิกที่นี่ครับ
วงจรของ Wiring mini สนใจคลิกที่นี่ครับ

Wiring ใช้ main mcu เป็น Atmega128 ซึ่งผมดูว่าจิงมันคล้ายกับ arduino ที่มี hardware พื้นฐานง่ายๆ มี main mcu , power, ส่วน uart และ คิดว่าน่าจะเอาบอร์ดสักบอร์ดที่หาได้ มาลองทำได้ล่ะ ตอนนี้อุปกรณ์ที่ผมมีอยู่เป็น Atmega 64 ของ ett-stamp ครับ ถ้าทำออกมาได้ เราจะได้มี wiring mini เพิ่มอีกอันล่ะมั่ง (ในไทยเราจะได้มีขายทั้งสองรุ่นเลย mini กับ รุ่น I/O

อุปกรณ์ที่ต้องมี

1. บอร์ดใดๆ atmega 128 (ส่วนของผมเป็น atmega64)
2. โปรแกรม Wiring
3. boot loader (ต้องมี svn ไว้ update source จาก web ด้วย)

เตรียม Boot loader

อันนี้ให้กลับไปอ่านจาก http://www.ayarafun.com/2008/10/making-boot-loader-in-ett-stamp/

หลังจากที่เล่นกับ arduino มาสักพัก จึงเข้าใจว่าส่วน hardware ของ wiring มีลักษณะเหมือน arduino ล่ะ ผมจึงหันไปสนใจ ส่วนอื่นที่ยังไม่แน่ใจก่อน จึงไปเริ่มดู software ของ wiring ก่อนครับ ตัวพัฒนาโปรแกรมของ wiring จะเหมือน arduino ทุกประการครับ แต่อันนี้สำคัญตัวโปรแกรม wiring จะไม่มีเมนู burn bootloader ซึ่งถ้าสนใจคงทำเองนะครับ

เข้าไปโหลด bootloader ต้องใช้ svn นะครับ->
http://wiring.uniandes.edu.co/source/trunk/wiring/bootloader/

เตรียมบอร์ด และการโมดิฟาย Ett-stamp ให้เป็น Wiring
ถ้าท่านเอา AVR มาตัวเปล่า แล้วใส่ boot-loader เข้าไป จะทำให้ภายใน AVR เหมือนมีเครื่องโปรแกรมอยู่ภายใน (STK-500 v2) และ สามารถใช้โปรแกรม avr-dude ,avr-studio flash firmware ได้ทันที

แต่ถ้าท่านจะเอาไปใช้กับโปรแกรม wiring ท่านเอาบอร์ดใดๆ ก้อได้ แต่ต้องใช้ Atmega128 มานะครับ ตัวโปรแกรมเอง ยังไม่สามารถใช้กับ avr series อื่นๆได้ และต้องมีอุปกรณ์เพิ่มเติม crystal 32.687kHz เข้าไปด้วย ถึงจะสามารถใช้งานได้สมบูรณ์ ดังรูปนะครับ

ขา PXX อันนี้เป็น option นะครับ เอาไว้ช่วยในการ upload ,PXX ขาใดซึ่งเราดูได้จากใน source code ของ bootloader

ซึ่งเมื่อตอนอุปกรณ์ทั้งหมด สำเร็จเป็นดังรูปครับ ผมทำทดลองบนบอร์ดทดลองนะครับ จะเพิ่ม LED และ Switch ไว้

มาถึงตอนนี้ หลังจากที่่ได้เตรียมอุปกรณ์ ทุกอย่างเรียบร้อย ก้อเปิดโปรแกรม wiring ขึ้นมา เข้าเมนู setup -> firmware version กับ เลือก serial port ท่านสามารถใช้งานได้แล้วครับ

เลือก Firmware Version ให้เลือก version 2.2

เลือก Serial Port ตาม serial ที่ต่อกับ wiring

สรุปในตอนนี้ถ้าท่านใช้ atmega128 จะสามารถใช้งานได้เลยครับ โดย reset บอร์ด แล้ว upload ไฟล์ sketch ก้อใช้งานได้

ส่วนทางผมยังใช้งานไม่ได้ครับ ผมดันไปใช้ atmega64 แสนเศร้า เพราะว่า โปรแกรม wiring ไม่สามารถใช้กับ AVR ตัวอื่นได้ ในตัว core จะมีแค่ library .o ถึงจะเปลี่ยนเป็น mega128 -> mega64 ก้อคอมไพล์ไม่ได้ มันไม่เหมือน arduino ที่เราจะเลือกได้ว่า board เราเป็น รุ่นไหน form factor แบบไหน ฉะนั้น ก้อหาวิธีใช้ต่อไป ในตอนต่อไป โปรเจค open-source ก้อสนุกอย่างนี้ล่ะครับ ต้องหาทางไปต่อได้เรื่อยๆ

ถ้าสนใจ เกี่ยวกับสร้างบอร์ด เข้าไป ลิงค์นี้ต่อครับ ทางโน่นก้อมีอยู่บ้าง
http://wiring.org.co/cgi-bin/yabb/YaBB.pl?board=How_to

ถ้าใครสนใจอยากศึกษาโปรแกรมบน wiring เข้าไปศึกษาต่อได้ที่นี้ครับ
http://www.wiring.org.co/learning/index.html
http://www.wiring.org.co/learning/reference/index.html

About chang

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

  • ann

    ถ้ามีปัญหาสงสัย ถามไว้ในนี้ได้เปล่าอะคะพี่ช้าง

    แต่วันนี้ยังไม่มีคำถาม เพราะยังอ่านไม่จบ หิหิ…

  • ChANg

    ถามไว้ได้เลยครับ เผื่อคนอื่น อาจจะสงสัยเรื่องเดียวกัน จะได้อ่านไปต่อได้

  • mos

    อยากได้ code หุ่นแตะบอล แบบสมบูรณ์ อะคับ
    จะลองเอามาศึกษาดูอ่ะคับ
    โปรของผมที่ทำมามันใช้ไม่ได้เลย เลยอยากลองเอามาเปรียบเทียบกันดูอ่ะคับ

    • อันนี้ต้องไปถามที่ ห้องแล๊ป FIBO หรือ ที่จุฬานะครับ
      แต่เรื่อง code มันเป็นส่วนหนึ่งของ การทำงานหุ่นยนต์เท่านั้นครับ เอา code ไป ก้อเท่านั้นล่ะครับ ให้เข้าใจดีกว่า
      ว่ามันทำงานแบบนี้ได้อย่างไง

      แนะนำให้อ่าน paper ครับ อ่านไปเยอะๆ ไม่ต้องอ่าน code ครับ code ไว้ดูเข้าใจการทำงานแล้ว
      เอาแบบ basic ให้ได้ก่อนนะครับ ไม่ต้องไปเอา paper วิธี advance มาก

      ขอให้โชดดีครับ