Currently viewing the tag: "avr"

เปิดหัวมาสักแรง เหมือนจะแอบโฆษณา วันนี้ก้อเอาเหตุการณ์สำหรับคนเล่นไมโครฯ คงจะได้เจอกันบ้างครับ อาการ “Fusebit -Lockbit” อาการที่จะเกิดขึ้นได้ ถึงจะไม่บ่อยแต่ชวนให้ปวดหัว ปวดใจอย่างแน่นอน อยู่ไอซีที่เรามี หรือ บอร์ดที่เรามี ดันไป set fusebit หรือ ดันไป lockbit เข้าไป burn ไม่ได้

ขยายความอาการ Fusebit Lock เป็นอาการเรียกไอซีของ AVR ครับ ที่วันนี้ไอซีมันไม่ต่อสนองกับเครื่องเบิร์น จะ flash ไม่ได้ จะอ่านก้อไม่ได้ มันอาจจะเกิดได้จาก

  • บางครั้งเราก้อเผลอ ไป lockbit ไอซีจริงๆ ก้อแก้ไม่ได้
  • บางที่เราก้อไป set fusebit เกี่ยวกับ Clock อาจะทำให้มันให้ ext-clock มันก้อเลยอ่านไม่ได้
  • บางที่ใช้งานอยู่ มันก้อ hang แล้ว fusebit กับ flash เสียไปก้อมีครับ (เจอแบบนี้ รีบไปแก้ไข PCB ด่วนครับ อาการเข้าขั้นหนักครับ)

ในรอบนี้ผมจะถือว่า อาการ FuseBit Lock ถือได้ว่าเป็นปัญหาระดับชาติกันเลยที่เดียวครับ (เว่อมาก) เพราะว่าทางผมเคยเจอเหตุการณ์มาครั้งหนึ่งตัว ตัวสมัยยังเป็นวันรุ่น ยังมีประสบการณ์น้อยนิด ตอนนนั้นผมใช้เครื่องเบิร์นหรือเครื่อง programming (ขอเรียกว่าเครื่องเบิร์น แล้วกันนะครับ) เครื่องเบิร์นที่ผมใช้มีปัญหา check หา AVR มันดันเจอผิคเบอร์ แต่ทางผมก้อ force flash เข้าไป ตกลงไอซี AVR หลายตัวตอนนั้นก้อก้อเสียหมด ตอนโน่นเจอ LockBit ซื้อไอซีใหม่อย่างเดียว เพราะเรายังไม่มีเครื่องโปรแกรม High Volt ใช้กัน ก้อเป็นเรื่องตรวจใจ ถ้าเจออาการแบบนี้ อย่าไปพยายามใช้ครับ ต้องให้ชัวส์ ว่าเราเจอสาเหตุของปัญหาสักก่อนครับ อย่างน้อยก้อให้เครื่องเบิร์นมันเจอไอซี ซึ่งทางผมเองคาดว่าตัวเครื่องเบิร์นฯ มันไม่ดีครับ (โทษไปเรื่อย) ตอนนั้นผมจะใช้เครื่องเบิร์น แบบผ่านสาย LPT มันคงควบคุม timing ได้ไม่ดีครับ เศร้าไปหลายวันเลยที่เดียว

สำหรับตอนนี้ประสบการณ์เยอะขึ้น แต่ก้อยังเผลอไป lockbit เหมือนเดิม ไหนก้อแก้ไม่ได้แล้ว ก้อหาเครื่องโปรแกรม HighVolt มาใช้เผื่อไว้เลยดีกว่าวันนี้เราจะมาดูกันว่า เครื่องเบิร์นแบบ HighVolt ดีอย่างไงครับ

(สนใจอ่านต่อคลิกเลยครับ) รายละเอียด →

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

กลับมาแล้วครับ รอบนี้ผมก้อมีบทความ ละเอียดอีกแล้ว บทความนี้เป็นของพี่ samira ผมยืมมาช่วยเผยแพร่ทางเวปนี้อีกช่องทางครับ หวังว่าคนเพิ่งมาจะได้ประโยชน์นะครับ (ท่าน CEO ไอยาราฟันส์ขี้เกียจขึ้นเรื่อยๆ) ส่วนมากคนที่เพิ่งเข้ามาจับ จะเจอคำศัพท์ใหม่ๆเยอะเลย ซึ่งมันต้องใช้เวลานะครับ วันนี้ผมมาแนะนำเรื่องพื้นฐานก่อน เรื่อนการเบิร์นครับ

กว่าจะเป็น เบิร์นโปรแกรมได้แบบ ทุกวันนี้
เมื่อก่อน เวลาเราพัฒนาคอนโทรลเลอร์ การเขียนข้อมูล ( data หรือ program ) ลงใน EEPROM (erasable rom) นั้น เขาจะต้องถอดเอา chip ไปล้างข้อมูลด้วยแสง ultraviolet ถึงจะเขียนโปรแกรมเข้าไปในใหม่ได้ ( ไม่รู้ว่าเกิดกันทัน ผมมาก้อไม่เห็นแล้วนะครับ ) และอายุการใช้งานจำกัด ดังนั้นจะเห็นว่า เวลาจะพัฒนาโปรแกรมอะไรใหม่ จะมีกระบวนการที่วุ่นวายมากๆเลย

PROM ตัวแรกๆ ของโลก รูปจาก http://en.wikipedia.org/wiki/Read-only_memory

ต่อมาความก้าวหน้าทาง Technology ทาง flash memory พัฒนามากขึ้น ได้บรรจุ flash memory ลงไปใน chip ด้วยทำให้การทำงานลบล้างข้อมูลบน chip ง่ายขึ้น อาจจะไม่ต้องใช้แสง ultraviolet เพื่อลบข้อมูล ใช้ไฟ ปกติก้อสามารถ อ่านเขียน ลบ โปรแกรมได้ แตก้อ่ยังต้องมีเครื่องมือ หรือ วงจรที่ต้องออกแบบมาเพื่อใช้งานนี้อยู่ดี

(อ่านต่อ click เลย) รายละเอียด →

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

ไอเดียสุดเจ๋งเลย เขาเอาจาก touchscreen ที่มีขาย มาต่อกับ คอมพิวเตอร์โดยใน โปรเจค AVRUSB กลายเป็น touch controller ราคาถูกมากกก ผมชอบจิง ไอเดียวเอามาประยุกต์ แบบนี้

ใครสนใจเข้าไปชมที่เวป sparkfun นะครับ ชื่อเลียนแบบ ayarafun ของไทยเรา(ว่าไปนั้น อิอิ)

ลองเข้าไปชมครับ USB Touchscreen Mouse

VN:F [1.9.20_1166]
Rating: 10.0/10 (1 vote cast)

ตอนนี้บอร์ด arduino ในตลาดบ้านเรา เริ่มจะเยอะขึ้นแล้ว มีให้เลือกหลากหลาย ผมได้ทดสอบมาพอสมควร ทั้งบอร์ดที่ผมทำขึ้นมาเอง ซึ่งตอนนี้โพสขายที่ electoday.com และบอร์ดจาก inex และ ett ซึ่งส่วนมากจะยืมเขามาลองนะครับ :D

บอร์ดที่ผมทำขึ้น ก้อตามนโยบายของเราใช้เอง 60 เปอร์เซ็นต์ ขาย 40 เปอร์เซ็นต์ มีเงินมาพัฒนาโปรเจคนิดหน่อย ทำให้ทางผมมีบอร์ดทำโปรเจคโดยไม่ต้องไปพึ่งใคร

แต่ทางผมก้ออยากลองของคนอื่นบ้าง ผมได้สั่งของทาง logicthai มาลองใช้เพิ่มเหมือนกันครับ :-D ตอนนี้เจ้า arduino ยังนิยมมาก ในบ้านเรา ทางผมก้อว่า เราก้อช่วยๆส่งเสริมกันไปก่อน

ผมก้อได้ เพิ่ม slide วิธีการประกอบบอร์ด Freeduino max232 เข้าไปอ่านกันนะครับ




ส่วน credit ยกให้น้องที่มหาลัยพระจอมเกล้า ธนบุรี ทางผมขอมาเผยแพร่นะครับ

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Arduway คือ หุ่นยนต์ควบคุมการทรงตัวด้วยตัวเอง (self-balacing robot)
หน้าตาของหุ่นยนต์เป็นหุ่นยนต์สองล้อ แต่จับหุ่นยนต์จะตั้งขึ้นให้ยืนด้วยล้อสองล้อ ให้หุ่นยนต์ประคองตัวเองไม่ให้ล้มลงมาได้ เหมือน segway ล่ะครับ

โปรเจคนี้เป็นการรวมกันระหว่าง Arduino + Lego NXT ตัวบอร์ดสมองใช้ arduino ในการประมวลผล กับ ประยุกต์ชุด sensor ของ lego NXT มารวมกัน กลายเป็นของเล่น ที่ไม่ใช่เรื่องเล่นๆเลยนะนิ

รายละเอียด →

VN:F [1.9.20_1166]
Rating: 1.0/10 (1 vote cast)

และแล้วเรื่องราว ก้อมาตอนสาม ผมตามหาคู่แท้ ให้บอร์ด mega64 ผมได้สักที่ ในโปรแกรม wiring เขาไม่สามารถเอาไปใช้งานได้ ผมเลยกลับไปหาน้องแฟน เฮ้ย น้อง arduino เหมือนเดิม (อ้าว โอ้ ใช้งานกันได้อย่างไง นิ)

ภาคนี้เป็นการจับคู่ กันระหว่าง wiring , atmega64 และ arduino สามขั้ว ที่ยังไม่เคยเจอหน้ากันมาก่อน อย่างที่บอกใบ้ ตั้งแต่ตอนแรก ว่า arduino กับ wiring มันเป็นพี่น้องกัน คลานตามกันมาเลย โครงสร้างจะเหมือนกันเลย ซึ่งจะทำให้ wiring มาอยู่ใน arduino จึงเป็นไปได้

รายละเอียด →

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

มาถึงตอนนี้หลายท่านเกิดอยากลอง 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

รายละเอียด →

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

หลังจากปลุกกระแสให้ทุกคนรู้จัก arduino ไปบ้างแล้ว มาตอนนี้มารู้จักพี่ใหญ่ของ arduino กันบ้างครับ วันนี้จะแนะนำให้รู้จัก Wiring กันบ้างครับ ผมเชื่อว่าหลายคนได้ยินคำว่า wiring ก้อต้องคิดว่า เดินสายไฟ ใช่ป่าวจิงแล้วมันก้อยังไม่ใช่นะครับ เป็น โปรเจค Hardware open-source อีกอันครับ เขาเปิดให้เราสามารถใช้งานไมโคร คอนโทรลเลอร์ และโปรแกรมด้วยภาษาง่ายๆ ได้


Wiring คืออะไร
Wiring เป็น open source programming (ระบบพัฒนาโปรแกรมแบบเปิด แปลเป็นไทย แล้วเข้าใจยาก) และบอร์ด i/o อิเล็กทรอนิกส์ สำหรับใช้ในงาน ทางด้านศิลปะ เกี่ยวกับ interactice art ,การเรียนรู้เกี่ยวกับ computer programming และ ทำโปรเจคอิเล็กทรอนิกส์ต้นแบบ

Wiring เป็น open-source โปรเจคอีกอันหนึ่งนะครับ คือทำให้เราใช้ mcu ได้ง่ายขึ้น ให้เราพัฒนาในส่วน High level ส่วน Low-level เราอาจจะไปศึกษาเพิ่มเติมภายหลังครับ

หน้าตา โปรแกรมของ wiring

จาก www.wiring.org.co

ใครได้ลอง wiring กับ Arduino แล้วจะต้องสงสัยว่าทำไม มันน่าตาเหมือนกันจัง คือจิงมันตัวเดียวล่ะครับ พัฒนาต่อมาจาก processing (มีตัวละคร มาเพิ่มอีกแล้ว) อีกโปรแกรมที่ทำให้เขียนโปรแกรมง่ายๆ บน PC ,ทุกโปรเจคจะมี concept เดียวกัน ใช้งานง่าย รันได้ทุก platform (mac os x,liunux ,windows) ตัวโปรแกรมเริ่มต้นพัฒนาจาก media labs MIT นะครับ

โดยตัวของ wiring จะใช้กับบอร์ด AVR ซึ่งทาง wiring.org.co ออกแบบไว้ และเปิดให้เราเอาไปใช้งานได้ คล้ายกับ arduino ที่ผมแนะนำไป ในเวปจะมีข้อมูล ตัวอย่างต่างๆ มีวิธีการต่อใช้งาน ที่ละเอียดมากๆ สนใจข้อมูลเพิ่มเติมเข้าไปดูในนี้ต่อครับ www.wiring.org.co

หน้าตาบอร์ด Wiring

โดยลักษณะบอร์ด (ส่วน Hardware) Wiring จะใช้ Atmega128 เป็น main mcu หลักนะครับ โดยตัว arduino ก้อเอาตัว wiring นี้ล่ะ มาเปลี่ยน core ให้ใช้กับ Atmega 168 และ mega8 สรุปว่า wiring นี้ เกิดก่อนนะครับ

จากการที่ wiring ใช้ mega128 เป็น main mcu จึงทำให้ ถึง 53 Io pins เพิ่มขึ้น มหาศาล มีทั้ง 8 x ExtInt ,6x PWM ,8 x Analog input ,2x UART ,Flash 128kByte ใช้กันอย่างไง ก้อไม่หมด


รูปบอร์ด Wiring กับ Arduino (รูปจาก flickr wiring)

อยากรู้ความแตกต่างของบอร์ด เข้าไปดูได้ที่นี้ครับ
http://www.wiring.org.co/hardware/compare.html

ตอนนี้อยู่ไทยจะเอาบอร์ด จะเอามาได้บ้าง ตอนแรก ผมไม่ก้อไม่รู้มาก่อนว่า จิงๆ ก้อมี inex มีขายอยู่ Jx-mega128 ทางเราอาจจะยังไม่รู้จักมากนัก จนกระทั้งผมไปมหาลัย แล้วน้องเอาบอร์ดมาให้ดู ถ้าใครสนใจบอร์ด wiring ไปดูที่นี้ครับ

JX-Mega128 (inex) เห็นว่าของหมด อดเลย ฮ่า

ส่วนใครสนใจอยากทำ wiring board เอง เดียวติดตามกันต่อครับ

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

หลังจากที่ผมลองเล่น arduino มาสักพัก ผมเริ่มจะติดที่ความง่ายๆ โครงสร้างยืดหยุ่นสูง ผมจึงอยากจะแนะนำการใช้งานเบื้องต้น สำหรับ ช่วยให้พี่ๆ น้องๆ ที่อยากเริ่มต้นสร้างงานอิเล็กทรอนิกส์ ออกมาได้ มันอาจจะเป็นจุดเริ่มต้นเล็กๆ แต่เป็นจุดเริ่มต้นช่วยให้พี่ๆ น้องๆ สามารถสร้างงานซับซ้อนไปกว่านี้ จึงได้จัด workshop เล็กๆ ลองให้น้องๆที่มหาลัย ทำดูก่อน จะประกอบไปด้วย

  1. แนะนำไมโครคอนโทรลเลอร์กับการใช้งาน arduino
  2. การประกอบบอร์ด arduino เวอร์ชั่น single side
  3. การติดตั้งโปรแกรม และ การลง bootloader
  4. วิธีการเขียนโปรแกรมบน arduino และการทดสอบไฟกระพริบ

ใน workshop แรก Introduction Micro controller with Arduino (1-2 ชั่วโมง) โดยเอกสารที่ใช้ใน workshop ครับ จะเป็นรูปแบบ สไลด์ online ทำขึ้นมาจาก google doc ดูกันได้ทุกที่บนโลกไปเลย

1. แนะนำไมโครคอนโทรลเลอร์กับการใช้งาน arduino



2. วิธีการประกอบบอร์ด arduino เวอร์ชั่น single side

รายละเอียด

  • วิธีการใช้ลงอุปกรณ์
  • รู้จักวงจรไฟฟ้าพื้นฐานๆ
  • ทดสอบวงจร



3. การติดตั้งโปรแกรม และ การลง bootloader ด้วยตัวเอง

รายละเอียด

  • การใช้งานโปรแกรมของ arduino การติดตั้ง การใช้งาน
  • รู้จัก bootloader
  • การใช้งาน bootloader



4. หลังจากประกอบบอร์ดแล้ว มาถึงการใช้งานบ้าง ตามตัวอย่าง

skectch 1 ไฟกระพริบ




เอาล่ะครับ ท่านได้ลองอ่าน สามสไลด์ของผม หวังว่าจะพอจับทาง การใช้งาน arduino แล้วแก้ไขปัญหาด้วยตัวเองได้นะครับ ขอให้สนุกกับ arduino แล้วมีโปรเจคอะไรมาอวดกันบ้าง

VN:F [1.9.20_1166]
Rating: 10.0/10 (1 vote cast)

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

ในตอนนี้ ผมจะมาแนะนำเทคนิคที่น่าสนใจอีกอัน วิธีติดตั้ง boot-loader ซึ่งถ้าท่านใช้ AVR Studio ท่านจะได้ไม่ต้องเปลี่ยนโปรแกรมเลย และยังประหยัด ไม่ต้องใช้ เครื่องโปรแกรม อีกแล้ว เหมาะมากกับ class หรือ workshop จะได้ไม่ต้องมีเยอะ ประหยัดเงิน ไว้ทำซื้ออย่างอื่นดีกว่า ช่วยชาติครับ

รายละเอียด →

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)