<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ayarafun Factory &#187; Arduino-Hacking</title>
	<atom:link href="http://www.ayarafun.com/category/embeded-system/arduino-hacking/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ayarafun.com</link>
	<description>Make , Creative and Let &#039;s fun</description>
	<lastBuildDate>Thu, 17 May 2012 00:00:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>มหัศจรรย์พลังจิ๋ว &#8211; ATtiny จิ๋วแจ๋ว พลัง Arduino</title>
		<link>http://www.ayarafun.com/2011/11/review-attiny-with-arduino-inside/</link>
		<comments>http://www.ayarafun.com/2011/11/review-attiny-with-arduino-inside/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 19:15:01 +0000</pubDate>
		<dc:creator>chang</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino-Hacking]]></category>

		<guid isPermaLink="false">http://www.ayarafun.com/?p=4071</guid>
		<description><![CDATA[ทดลองไอซี ATTiny เขียนโปรแกรมด้วย Arduino ไอซีตัวจิ๋วแต่พลัง Arduino 
No related posts.]]></description>
			<content:encoded><![CDATA[<p>สวัสดีครับ วันนี้ช่วงนี้ไม่ได้ลองเล่นกับ arduino มานาน จนกระทั่งเจอเพื่อนสมาชิก brogile จาก electoday เอาไอซี Attiny45 มาใช้งานได้ ผ่าน arduino ได้ ช่วงนี้เปลี่ยนนโนบาย จับอะไรรีบๆทำเลยดีกว่า เดี่ยวดองอีก สำหรับบทความของท่าน brogile ดูที่นี้เลย<a href="http://www.electoday.com/bbs/viewthread.php?tid=15947&amp;extra=page%3D1"> Funduino VS ATtiny45</a></p>
<p style="text-align: justify;">Attiny45/85 เป็นไมโครคอนโทรลเลอร์รุ่นเล็กสุด อยู่ใน Package DIP8 ขา ถึงจะเล็กก็เล็กพริกขี้หนูแท้ๆเลย เพราะว่า Atmel จับยึดทุกอย่างเข้าไปครบเครื่องอย่างกับสินค้าค้างปี ต้องรีบขาย มีทั้ง Digital ,Analog ,PWM กินไฟต่ำถึง 1.8 โวลต์ และที่สำคัญ ราคา 30 บาท มันจะถูกกว่าวงจร gate อีก ผมว่าดีกว่า เราเปลี่ยนโปรแกรมเองได้</p>
<p><a href="http://www.ayarafun.com/wp-content/uploads/2011/11/tiny_arduino.jpg"><img class="aligncenter size-full wp-image-4085" title="tiny_arduino" src="http://www.ayarafun.com/wp-content/uploads/2011/11/tiny_arduino.jpg" alt="" width="500" height="334" /></a></p>
<p style="text-align: justify;">ช่วงนี้ ES เริ่มกลับมา stock ไอซีของ atmel อีกครั้ง ผมจึงถือโอกาสอันดี ทำ Review แบบกากๆ กับเขาบ้าง กล้องสั่นบ้าง มืดบ้างนะครับ ที่อยากให้ชม ดูกันว่า Attiny ทำอะไรได้บ้าง</p>
<p style="text-align: justify;">สำหรับโปรเจคนี้ เป็นโปรเจคต่อเพิ่มมาจาก Arduino IDE เดิม พัฒนา core ไอซี Attiny มาเพิ่มเติม โดยรายละเอียดโปรเจคเข้าไปอ่านได้ที่นี้ <a href="http://hlt.media.mit.edu/?p=1229">Programming an ATtiny w/ Arduino</a> ซึ่งเข้าจะมี core ตัวใหม่ให้ download เพิ่มเติม</p>
<p style="text-align: justify;">โดยไอซีที่ผมได้มา มีสองรุ่นครับ ไอซี ATtiny 84 กับ ATtiny85 นะครับ โดยความจุ 8kb อยู่ในรูปแบบ Package DIP ผมเสียดายที่ ES ไม่เอาแบบ DIP มาขายบ้าง มีแต่ SMT คนอื่นใช้ยาก แต่เอาครับระดับ Advance อย่างเรา ทำได้อยู่แล้ว มาดู Review ผมไปก่อน แล้วคุณอาจจะชอบ Attiny มากขึ้น<span id="more-4071"></span></p>
<h6><strong style="text-align: justify;">คุณสมบัติทางกายภาพ</strong></h6>
<p><img class="aligncenter" title="attiny45_85pinout" src="http://hlt.media.mit.edu/wp-content/uploads/2011/06/attiny45_85pinout.png" alt="" width="546" height="174" /></p>
<p><strong>สเป๊กเบื้องต้นของ AtTiny 45/85</strong></p>
<ul>
<li>มีความจุ 4k ในไอซี ATtiny45 และ 8k ในไอซี ATtiny85</li>
<li>รันด้วย Internal Clock ความเร็ว 1MHz</li>
<li>มีช่อง digital I/O 5 ช่อง<strong style="text-align: justify;"> เป็นช่อง D0-D5</strong></li>
<li>มีช่อง PWM 2 ช่อง ใช้ร่วมกับ digital I/O  ที่เป็นขา <strong>D0,D1</strong></li>
<li>มีช่อง ADC 3 ช่อง ใช้ร่วมกับ digital I/O เป็นขา<strong> 1,2,3</strong></li>
</ul>
<p>&nbsp;</p>
<h6><strong>วิธีการติดตั้งโปรแกรม เข้าไปดูได้จาก MAKE</strong></h6>
<p><strong style="text-align: justify;"></strong></p>
<p style="text-align: center;">
<p><a href="http://www.youtube.com/watch?v=30rPt802n1k&#038;fmt=18">http://www.youtube.com/watch?v=30rPt802n1k</a></p>
</p>
<p><strong style="text-align: justify;"></strong></p>
<p><strong style="text-align: justify;"><br />
</strong></p>
<h6><strong style="text-align: justify;">แนะนำให้รู้จัก TINY กับ ลอง Blinking LED<br />
</strong></h6>
<p style="text-align: justify;">เอาล่ะครับ มาดูหน้าตาของไอซี กับ วิธีการใช้งานก่อนนะครับ ผมอาจจะไม่ได้ลง รายละเอียดมากนะครับ คิดว่า คนที่จะใช้น่าจะมีพื้นฐานกับ Arduino มาพอสมควรแล้ว ผมลง Review เป็น guide line คร่าวๆ เท่านั้น สำหรับโปรแกรมแรก  ทดลองทำไฟกระพริบจิ๋ว</p>
<p style="text-align: justify;">โดยการใช้งานมันก้อเหมือนตัวใหญ่ทุกประการ แต่เราต้องนับขาไอซีเอง กับ map ขาไอซีใหม่ สำหรับขาดิจิตอล มีให้ใช้ตั้งแต่ D0-D4 ครับ โดยที่ขา D0,D1 เป็น PWM ได้</p>
<p style="text-align: center;">
<p><a href="http://www.youtube.com/watch?v=8adwp7txBaQ&#038;fmt=18">http://www.youtube.com/watch?v=8adwp7txBaQ</a></p>
</p>
<h6 style="text-align: justify;"><strong>ลอง Toggle Switch</strong></h6>
<p>อยากกับ Digital Input กับ อยากรู้ว่า เขียนโปรแกรมเข้าไปอีกนิด มันจะเป็นอย่างไง ผมเลยลองเอาโค๊ดเดิม ใช้ตอนอบรม มาลองครับ เป็นโปรแกรม ควบคุม LED ผ่าน switch กดหนึ่งจะติด กดอีกที่มันจะดับ</p>
<p style="text-align: center;">
<p><a href="http://www.youtube.com/watch?v=V1xQVTuV-fU&#038;fmt=18">http://www.youtube.com/watch?v=V1xQVTuV-fU</a></p>
</p>
<h6 style="text-align: justify;"><strong>LED Fadeing ลองใช้ PWM กับ Tiny</strong></h6>
<p>ตามปกติไอซีจิ๋วๆ จะไม่ค่อยใส่ PWM มาให้ตัวนี้จัดมาด้วย ผมก้อลองไปด้วย</p>
<p style="text-align: center;">
<p><a href="http://www.youtube.com/watch?v=6HoFGQStYeQ&#038;fmt=18">http://www.youtube.com/watch?v=6HoFGQStYeQ</a></p>
</p>
<h6 style="text-align: justify;"><strong>ลองใช้ Pot ควบคุม LED ดูบ้าง</strong></h6>
<p>เช่นกัน อยากลองเฉยว่า Analog Input ทำงานได้เหมือนเดิมไหม ก็ทุกอย่างใช้งานได้เหมือน Arduino ตัวใหญ่ครับ</p>
<p style="text-align: center;">
<p><a href="http://www.youtube.com/watch?v=_Tqfhdv-I7U&#038;fmt=18">http://www.youtube.com/watch?v=_Tqfhdv-I7U</a></p>
</p>
<p style="text-align: left;">คงได้เห็น VDO Review แบบกากๆ กันไปแล้วนะครับ หลังจากที่ได้มา 1 วัน ผมสรุปได้ว่า</p>
<ul>
<li>Tiny Arduino รันความเร็ว 1MHz ใช้ Internal Clock ถ้าใช้งานแบบ digital I/O ปกติ ใช้งานได้</li>
<li>สามารถใช้คำสั่งพื่นฐานของ arduino</li>
<li>เจ้า tiny ไม่มี Bootloader นะครับ รอมมี 8k ก้อใช้ 8k เลยเต็มๆครับ</li>
<li>จะ upload code ต้องมีเครื่องโปรแกรม (isp programming) ซึ่งจะใช้บอร์ด Arduino หรือ จะใช้เครื่องโปรแกรม stk500,MKII ที่ ett ขายได้เช่นกัน</li>
<li>สำหรับ ATtiny45 ที่ ES มีนะครับ ตัว 30 บาท ตัวอื่นอย่าง Attiny85 /84 ต้องสั่งนอก ที่ผมมีไม่มาก เอาไว้ทำอะไรเล่นๆ</li>
</ul>
<p style="text-align: left;">สำหรับข้อจำกัด</p>
<ul>
<li>ไม่มี Hardware Serial (อาจใช้ Software Serial ได้ต้องลองก่อน)</li>
<li>ความเร็ว 1MHz (น่าจะเพราะว่าไม่ได้ set fuse bit ใหม่ จริงน่าจะรันได้ 8MHz)</li>
</ul>
<p>เอาล่ะครับ คงได้เห็นพลังจิ๋วของเจ้า Tiny กันไปแล้ว เดี่ยวรอบหน้ามีโปรเจคอะไรจิ๋ว ผมจะมานำเสนอใหม่ สำหรับใครอยากลอง ไอซีหาซื้อได้ที่ ES เลยครับ เห็นมีเยอะ (ไม่แน่เจอแบบนี้อาจจะหมด)</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ayarafun.com/2011/11/review-attiny-with-arduino-inside/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>เบิร์น Bootloader ให้ Arduino ตัวใหม่ด้วย FTDI-Bitbang [ตอนที่ 2]</title>
		<link>http://www.ayarafun.com/2010/07/burn-bootloader-with-ftdi-bit-bang-writer/</link>
		<comments>http://www.ayarafun.com/2010/07/burn-bootloader-with-ftdi-bit-bang-writer/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 15:48:21 +0000</pubDate>
		<dc:creator>chang</dc:creator>
				<category><![CDATA[Arduino-Hacking]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[bootloader]]></category>
		<category><![CDATA[FT232RL]]></category>
		<category><![CDATA[FTDI Bitbang]]></category>

		<guid isPermaLink="false">http://www.ayarafun.com/?p=1853</guid>
		<description><![CDATA[จากตอนที่แล้ว เราก้อได้แปลงกายเจ้า UCON-UART [FT232RL] เป็นเครื่องเบิร์นได้แล้ว ในบทความตอนนี้ เราจะเอาเครื่องเบิร์น FTDI ฺBitbang กับ avrdude-gui ใช้งาน burn bootloader กันดีกว่าครับ ความจริงเราสามารถปรับแต่งให้ Arduino IDE เบิร์น bootloader ได้ ซึ่งสนใจก้อเข้าไปอ่านตามลิงค์นี้ <a href="http://www.geocities.jp/arduino_diecimila/bootloader/bitbang_w_ide_en.html">&#8220;How to run this &#8220;FTDI Bitbang method&#8221; with the Arduino-IDE&#8221;</a> ที่ผมทดลองมายังไม่สะดวกมากนักครับ เพราะว่าอย่างหนึ่ง คือ ตัวโปรแกรม avrdude จะต้องปรับแต่ง เพื่อให้ใช้กับ bitbang ได้ ซึ่งมันยังไม่ compatible กับ arduino-0018 ครับ ลักษณะโปรเจค open-source ก้ออย่างงี้ล่ะครับ ถ้ามันยังไม่นิยมมาก ก้อไม่ค่อยเป็นมาตราฐาน และบ่อยครั้งมันก้อปิดตัวเองไปช้าๆ ครับ ตอนนี้เราก้อใช้กับมันแล้วทำความเข้าใจกันไปครับ การเบิร์น bootloader ถ้าเราใช้ Arduino IDE ขั้นตอนจะไม่ยุ่งยากมากครับ กด [Burn Bootloader] จากเมนูอย่างเดียว ก้อจบ แต่พอเราใส่เครื่องเบิร์นไปใน IDE ไม่ได้ เลยลำบากเลย วิธีนี้ก้อเผื่อไว้ครับ ส่วนมากเครื่องเบิร์นหรือเครื่องโปรแกรมที่ขายในไทย มันอาจจะไม่ใช้ไม่ได้กับ arduino IDE [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">จากตอนที่แล้ว เราก้อได้แปลงกายเจ้า UCON-UART [FT232RL] เป็นเครื่องเบิร์นได้แล้ว ในบทความตอนนี้ เราจะเอาเครื่องเบิร์น FTDI ฺBitbang กับ avrdude-gui ใช้งาน burn bootloader กันดีกว่าครับ ความจริงเราสามารถปรับแต่งให้ Arduino IDE เบิร์น bootloader ได้ ซึ่งสนใจก้อเข้าไปอ่านตามลิงค์นี้ <a href="http://www.geocities.jp/arduino_diecimila/bootloader/bitbang_w_ide_en.html">&#8220;How to run this &#8220;FTDI Bitbang method&#8221; with the Arduino-IDE&#8221;</a> ที่ผมทดลองมายังไม่สะดวกมากนักครับ เพราะว่าอย่างหนึ่ง คือ ตัวโปรแกรม avrdude จะต้องปรับแต่ง เพื่อให้ใช้กับ bitbang ได้ ซึ่งมันยังไม่ compatible กับ arduino-0018 ครับ ลักษณะโปรเจค open-source ก้ออย่างงี้ล่ะครับ ถ้ามันยังไม่นิยมมาก ก้อไม่ค่อยเป็นมาตราฐาน และบ่อยครั้งมันก้อปิดตัวเองไปช้าๆ ครับ ตอนนี้เราก้อใช้กับมันแล้วทำความเข้าใจกันไปครับ</p>
<p style="text-align: justify;">การเบิร์น bootloader ถ้าเราใช้ Arduino IDE ขั้นตอนจะไม่ยุ่งยากมากครับ กด [Burn Bootloader] จากเมนูอย่างเดียว ก้อจบ แต่พอเราใส่เครื่องเบิร์นไปใน IDE ไม่ได้ เลยลำบากเลย วิธีนี้ก้อเผื่อไว้ครับ ส่วนมากเครื่องเบิร์นหรือเครื่องโปรแกรมที่ขายในไทย มันอาจจะไม่ใช้ไม่ได้กับ arduino IDE เราก้อ manual เองเลย [<a href="http://www.geocities.jp/arduino_diecimila/bootloader/bitbang_w_ide_en.html">ใครอยากใช้ FTDI แบบไม่ manual? เข้าไปดูตามลิงค์นี้ครับ</a>]</p>
<p style="text-align: justify;">สำหรับในบทความนี้จะขอยึดกับ การเบิร์น Bootloader ของ ไอซี ATmega328 เป็นหลักครับ สำหรับไอซีตัวอื่น ทางท่านผู้อ่าน ต้องลองเองครับ</p>
<p style="text-align: justify;"><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/P10303771.jpg"><img class="aligncenter size-full wp-image-1850" title="P1030377" src="http://www.ayarafun.com/wp-content/uploads/2010/07/P10303771.jpg" alt="" width="399" height="249" /></a><strong><span id="more-1853"></span></strong><span style="color: #33cccc;"><strong>ขั้นตอนการเบิร์น bootloader มีสี่ขั้นตอนสั้นๆดังนี้ครับ</strong></span></p>
<ol>
<li><span style="color: #000000;"><strong>Unlock</strong></span></li>
<li><span style="color: #000000;"><strong>Write Fusebit</strong></span></li>
<li><span style="color: #000000;"><strong>Burn Bootloader</strong></span></li>
<li><span style="color: #000000;"><strong>Lock</strong></span></li>
</ol>
<h2><strong><span style="color: #ff6600;">วิธีการเบิร์น bootloader</span><br />
</strong></h2>
<p style="text-align: justify;">[ 0 - Zero] เตรียมความพร้อมก่อน ให้ตั้ง clock mode เป็นแบบช้า ให้ใส่ &#8220;-B 4800&#8243; เข้าไปก่อน? <strong><br />
** chip ใหม่ ยังไม่สามารถใช้ความเร็วสูงได้ (fast  clock mode)<br />
</strong></p>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">1. unlock Fuse-Bit</p>
<p style="text-align: justify; padding-left: 30px;">[1] กด [Chip Erase] ลบให้หมด.<br />
[2] จากนั้นกดปุ่ม [Read] บริเวณกรอก Lockbit , ตรวจสอบว่าค่า Lockbit = 0x3F หรือป่าว</p>
<p style="padding-left: 30px;"><img class="size-full wp-image-1895 alignnone" title="fusebit2" src="http://www.ayarafun.com/wp-content/uploads/2010/07/fusebit21.png" alt="" width="512" height="128" /></p>
<p style="padding-left: 30px;">&nbsp;</p>
<p style="text-align: justify;">2. Write Fuse-bits</p>
<p style="text-align: justify; padding-left: 30px;">(1) เซ็ท Fusebit ตามค่าข้างล่าง (สำหรับ ATmega328)</p>
<ul style="padding-left: 30px;">
<li>hfuse = DA</li>
<li>lFuse = FF</li>
<li>eFuse = 05</li>
</ul>
<p style="text-align: justify; padding-left: 30px;">(2) คลิก [Write] เพื่อเขียน fusebit</p>
<p style="text-align: justify; padding-left: 30px;"><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/fusebit3.png"><img class="alignnone size-full wp-image-1864" title="fusebit3" src="http://www.ayarafun.com/wp-content/uploads/2010/07/fusebit3.png" alt="" width="581" height="124" /></a></p>
<p style="text-align: justify; padding-left: 30px;"><strong>สลับโหมดเป็น Fast Clock</strong><br />
ลบพารามิเตอร์? &#8221; -B 4800&#8243; ในช่อง command line แล้วกด read fuse-bits<br />
ถ้าอ่านค่า fuse bits ผิคให้กลับสลับเป็นค่า slow clock อีกรอบ แล้วทำการเขียน Fuse-Bits  ใหม่</p>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">3. เบิร์นไฟล์ Bootloader</p>
<p style="padding-left: 30px;">[1] กดปุ่ม [...] -&gt; เลือกไฟล์?  &#8220;G:\arduino\arduino-0018\hardware\bootloaders\atmega\ATmegaBOOT_168_atmega328.hex&#8221;<br />
[2] กดปุ่ม [Erase-Write-Verify] ที่บริเวณ Flash Area</p>
<p style="padding-left: 30px;"><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/fusebit4.png"><img class="alignnone size-full wp-image-1865" title="fusebit4" src="http://www.ayarafun.com/wp-content/uploads/2010/07/fusebit4.png" alt="" width="596" height="122" /></a></p>
<p style="padding-left: 30px;">&nbsp;</p>
<p>4. เซ็ท lock bit? ล๊อคไม่ให้มีการเขียนทับบริเวณ bootloader</p>
<p style="padding-left: 30px;">[1] เซ็ทค่า Lock = 0F<br />
[2] กดปุ่ม [Write] เพื่อบันทึกค่า</p>
<p style="padding-left: 30px;"><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/fusebit5.png"><img class="alignnone size-full wp-image-1862" title="fusebit5" src="http://www.ayarafun.com/wp-content/uploads/2010/07/fusebit5.png" alt="" width="594" height="91" /></a></p>
<p style="padding-left: 30px;">&nbsp;</p>
<p>ที่กล่าวไปสำหรับ atmega328 แต่ถ้าใครใช้ AVR ตัวอื่น อย่าง ATmega8 และ ATmega168 ใช้ขั้นตอนแบบเดิม แต่ Fuse-bit ไม่เหมือนกันครับ ใช้ค่าดังตัวเลขข้างล่าง</p>
<p style="text-align: justify; padding-left: 60px;"><strong>สำหรับ ATmega168</strong></p>
<ul style="padding-left: 60px;">
<li>hfuse = DD</li>
<li>lfuse = FF</li>
<li>efuse = 00</li>
<li>unlock = 3F</li>
<li>lock = 0F</li>
<li>bootloader file<br />
arduino-0018\hardware\bootloaders\atmega\ATmegaBOOT_168_diecimila.hex</li>
</ul>
<p style="padding-left: 60px;"><strong>สำหรับ ATmega8</strong></p>
<ul style="padding-left: 60px;">
<li>hfuse  = CA</li>
<li>lfuse = DF</li>
<li>unlock = 3F</li>
<li>lock = 0F</li>
<li>bootloader file<br />
arduino-0018\arduino-0018\hardware\arduino\bootloaders\atmega8\ATmegaBOOT.hex</li>
</ul>
<p>หลังจากนั้น ถอดสาย ICSP จากนั้นจ่ายไฟเข้าไปยังบอร์ด arduino จะได้เห็น LED13 กระพริบๆ? ตอนนี้ตัวไอซี ATmega ตัวใหม่เราได้บรรจุ Bootloader พร้อมจะนำไปใช้กับ Arduino IDE แล้วครับ</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ayarafun.com/2010/07/burn-bootloader-with-ftdi-bit-bang-writer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>เบิร์น AVR ด้วย FTDI-Bitbang [ตอนที่ 1]</title>
		<link>http://www.ayarafun.com/2010/07/atmel-programming-with-ftdi-bitbang/</link>
		<comments>http://www.ayarafun.com/2010/07/atmel-programming-with-ftdi-bitbang/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 12:14:24 +0000</pubDate>
		<dc:creator>chang</dc:creator>
				<category><![CDATA[Arduino-Hacking]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[bootloader]]></category>
		<category><![CDATA[FT232RL]]></category>
		<category><![CDATA[FTDI Bitbang]]></category>

		<guid isPermaLink="false">http://www.ayarafun.com/?p=1820</guid>
		<description><![CDATA[รอบนี้ยังนำเสนอเครื่องเบิร์นกันอีกสักวิธีครับ? ที่ผมมาแนะนำบ่อยๆ เพราะว่าช่วงนี้เห็นว่าหลายคนเหลือเอาไปใช้งานกัน บอร์ดเดียวคงจะไม่พอใช้งาน แต่จะซื้อมาใช้หลายๆบอร์ด มันก้อคงไม่ประหยัดมากนักครับ ผมจึงพยายามหาเครื่องไม้เครื่องมือมาช่วยทำ สร้างสรรค์โปรเจคกันได้เต็มที่ สำหรับเครื่องเบิร์นนี้จริง จุดประสงค์เพื่อ จะเอามาช่วย เบิร์น bootloader สำหรับการสร้างบอร์ด arduino เอง? เพราะว่าจริงแล้วไอซี ATmega328 หรือ ATmega168 ที่เพิ่งซื้อมาใหม่จากโรงงาน จะไม่บรรจุโปรแกรมอะไรไว้เลยครับ ต้องเบิร์น boot loader เข้าไปก่อนครับ ถึงจะใช้งานกับ IDE ของ Arduino Notes: 2 This image contains notes, please open the website directly แต่สำหรับรอบนี้ ขอพูดแบบกลางๆ ก่อน คือทำเครื่องเบิร์นสำหรับใช้งานการเบิร์น AVR ทั่วไปครับ สำหรับเครื่องเบิร์นที่จะมาแนะนำบทความนี้ เรียกว่า FTDI Bitbang ครับ เป็นโปรเจคที่พัฒนาโดย <a href="http://translate.google.com/translate?prev=_t&#38;hl=ja&#38;ie=UTF-8&#38;u=http%3A%2F%2Fsuz-avr.sblo.jp%2Farchives%2F20070621-1.html&#38;sl=ja&#38;tl=en&#38;history_state0=">Mr.Suz</a> ซึ่งทางเขาได้ทำให้ Bitbang ของ FT232RL เป็นเครื่องโปรแกรมไอซีได้ โดยโปรแกรมที่จะใช้งานกัน วันนี้จะมาแนะนำวิธีการใช้งาน กับ setup กันครับ บทความนี้ นำมาจาก <a href="http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html">Burning the Bootloader without external AVR-Writer</a> ของ? [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">รอบนี้ยังนำเสนอเครื่องเบิร์นกันอีกสักวิธีครับ? ที่ผมมาแนะนำบ่อยๆ เพราะว่าช่วงนี้เห็นว่าหลายคนเหลือเอาไปใช้งานกัน บอร์ดเดียวคงจะไม่พอใช้งาน แต่จะซื้อมาใช้หลายๆบอร์ด มันก้อคงไม่ประหยัดมากนักครับ ผมจึงพยายามหาเครื่องไม้เครื่องมือมาช่วยทำ สร้างสรรค์โปรเจคกันได้เต็มที่</p>
<p style="text-align: justify;">สำหรับเครื่องเบิร์นนี้จริง จุดประสงค์เพื่อ จะเอามาช่วย เบิร์น bootloader สำหรับการสร้างบอร์ด arduino เอง? เพราะว่าจริงแล้วไอซี ATmega328 หรือ ATmega168 ที่เพิ่งซื้อมาใหม่จากโรงงาน จะไม่บรรจุโปรแกรมอะไรไว้เลยครับ ต้องเบิร์น boot loader เข้าไปก่อนครับ ถึงจะใช้งานกับ IDE ของ Arduino</p>
<p style="text-align: center;"><img class="size-full wp-image-1819  aligncenter" src="http://www.ayarafun.com/wp-content/uploads/2010/07/P1030334.jpg" alt="" width="669" height="246" />	<p class="numberOfNotes">Notes: 2</p>        <script type="text/javascript">
jQuery(function() {
    knsprImageNote.initializeNoteDisplay('.wp-image-1819', [{"x1":635,"y1":48,"width":281,"height":215,"imageId":"1819","note":"UCON-UART","url":"http://www.inex.co.th/electronic/computerinterface.html"},{"x1":109,"y1":23,"width":378,"height":265,"imageId":"1819","note":"Freeduino V1.16","url":"http://www.ayarafun.com/shop/arduino/freeduino-usb/"}], 1819, false, false, 1024, 377);
});
</script><p>This image contains notes, please open the website directly</p></p>
<p style="text-align: justify;">แต่สำหรับรอบนี้ ขอพูดแบบกลางๆ ก่อน คือทำเครื่องเบิร์นสำหรับใช้งานการเบิร์น AVR ทั่วไปครับ สำหรับเครื่องเบิร์นที่จะมาแนะนำบทความนี้ เรียกว่า FTDI Bitbang ครับ เป็นโปรเจคที่พัฒนาโดย <a href="http://translate.google.com/translate?prev=_t&amp;hl=ja&amp;ie=UTF-8&amp;u=http%3A%2F%2Fsuz-avr.sblo.jp%2Farchives%2F20070621-1.html&amp;sl=ja&amp;tl=en&amp;history_state0=">Mr.Suz</a> ซึ่งทางเขาได้ทำให้ Bitbang ของ FT232RL เป็นเครื่องโปรแกรมไอซีได้ โดยโปรแกรมที่จะใช้งานกัน วันนี้จะมาแนะนำวิธีการใช้งาน กับ setup กันครับ<span id="more-1820"></span></p>
<p>บทความนี้ นำมาจาก <a href="http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html">Burning the Bootloader without  external AVR-Writer</a> ของ? Kimio Kosaka แต่เอามาแก้ไข นิดหน่อยให้ใช้งานกับของที่มีในไทยได้ครับ สำหรับสิ่งที่น่าสนใจอย่างหนึ่ง เหมือนนำ FT232RL มาใช้เป็นเครื่องเบิร์นคือ มันสามารถ รันได้ทุก platform ตัวไอซี มี driver ที่รันได้ทั้ง mac os และ linux? ถ้าท่านใช้ OS อื่น ก้อลงเข้าไปอ่านดูึครับ ลิงค์ต้นฉบับ</p>
<h3>Download ซอฟร์แวร์ที่จำเป็น จากเวปไซค์ต้นฉบับ</h3>
<ol type="i">
<li>&#8220;avrdude-serjtag&#8221; FTDI BitBang AVR-Writer<br />
<a href="http://www.geocities.jp/arduino_diecimila/bootloader/files/serjtag-0.3.zip">serjtag-0.3.zip</a> mirror site<br />
<a href="http://www.geocities.jp/arduino_diecimila/bootloader/files/serjtag-0.3.tar.gz">serjtag-0.3.tar.gz</a> mirror site</li>
<li><a href="http://www.nmj.sakura.ne.jp/suz-avr/serjtag/serjtag-0.3.zip">serjtag-0.3.zip</a> original site (<a href="http://suz-avr.sblo.jp/archives/20070621-1.html">http://suz-avr.sblo.jp/archives/20070621-1.html</a>)<br />
<a href="http://www.nmj.sakura.ne.jp/suz-avr/serjtag/serjtag-0.3.tar.gz">serjtag-0.3.tar.gz</a> original site (<a href="http://suz-avr.sblo.jp/archives/20070621-1.html">http://suz-avr.sblo.jp/archives/20070621-1.html</a>)</li>
<li>ไฟล์ configure-file สำหรับ avrdude-serjtag<br />
<a href="http://www.geocities.jp/arduino_diecimila/bootloader/files/avrdude.conf">avrdude.conf</a> (<strong>Update:</strong> เพื่อให้ใช้  ATmega328P,168P and 88P ได้ครับ)</li>
<li>โปรแกรมกราฟฟิกสำหรับ AVRDude &#8211; &#8220;avrdude-GUI (yuki-lab.jp Version)&#8221;<br />
<a href="http://www.geocities.jp/arduino_diecimila/bootloader/files/avrdude-GUI-1.0.5.zip">avrdude-GUI-1.0.5.zip</a> mirror site<br />
<a href="http://yuki-lab.jp/hw/avrdude-GUI/avrdude-GUI-1.0.5.zip">avrdude-GUI-1.0.5.zip</a> original site (<a href="http://yuki-lab.jp/hw/avrdude-GUI/index.html">http://yuki-lab.jp/hw/avrdude-GUI/index.html)</a></li>
<li>avrdude-GUI (yuki-lab.jp Version) require  Microsoft .NET Framework 2.0. ถ้าสามารถเปิดโปรแกรม avrdude-gui ได้ไม่ต้องติดตั้งใหม่ครับ<br />
แต่ถ้ามีปัญหา ระบบต้องการ ก้อเข้าไปโหลดได้ที่นี้ครับ?             <a href="http://www.microsoft.com/Downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=us"> here (Microsoft .NET Framework 2.0 download page)</a></li>
</ol>
<h3>วิธีการติดตั้ง</h3>
<p>ไฟล์ที่ให้โหลด ส่วนมากไม่ได้มีระบบ install ไฟล์ เราต้องติดตั้งเองครับ ซึ่งความจริงเราจะติดตั้งไว้ที่ไหนก้อได้คับ เอาที่เราสะดวกครับ เพราะเวลามันรัน ไม่ได้อ้างอิงตำแหน่งไดเร็กทรอรี่อยู่แล้วครับ</p>
<ul>
<li>สำหรับไฟล์<strong> serjtag-0.3</strong> หลังจากแตกไฟล์ มาเราจะใช้แค่โฟลเดอร์ &#8220;serjtag-0.3/binary&#8221; ซึ่งภายในโฟลเดอร์จะมีโปรแกรม avrdude.exe ที่ทำการแก้ไขแล้ว เพื่อสามารถใช้เครื่องโปรแกรมจาก FTDI Bitbang ได้ครับ สำหรับโฟลเดอร์อื่นจะไม่เอามาก้อได้ครับ ในที่นี้ผมเอาไปใส่รวมกับ arduino และเปลี่ยนชื่อ เป็น <strong>&#8220;G:/arduino/avrdude-serjtag&#8221;</strong></li>
<li><strong>avrdude.conf</strong> เป็นไฟล์ configure สำหรับเพื่อใช้กับ avrdude ให้แตกไฟล์ แล้วไปรวมใน ไดเร็กทรอรี่ <strong>&#8220;g:/arduino/avrdude-serjtag/binary</strong>&#8221; ก้อได้ครับ</li>
<li>สำหรับโปรแกรม สุดท้าย คือ <strong>avrdude-gui </strong>เป็นโปรแกรม wrapper? จะมีอยู่ไฟล์เดียว ไว้ที่ไหนก้อได้ที่เรา ที่เราสะดวก ผมเอารวมไว้ที่ <strong>&#8220;g:/arduino/&#8221;</strong></li>
</ul>
<p>* สำหรับไดเร็กทรอรี่ จะจัดไว้ที่ไหนก้อได้แล้วแต่สะดวกครับ</p>
<h3>แปลงกาย UCON-UART เป็นเครื่องเบิร์นไอซี</h3>
<p>สำหรับตอนนี้ส่วนของ software คงจะเริ่มแล้วมาดู Hardware กันบ้าง ความจริงโปรเจคนี้เขาดัดแปลงบอร์ด Arduino Diecimila มาใช้งานเบิร์นบอร์ดตัวเอง แต่ทาง freeduino ของเราไม่ได้เตรียมไว้ให้ครับ เดี่ยวจะเพิ่มเติมในโอกาสหน้าครับ <img src='http://www.ayarafun.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  หรือใครใจร้อนจะทำ hardwire บนบอร์ดแบบท่านเบียร เพื่อนสมาชิกแห่ง electoday ก้อได้ครับ <a href="http://www.electoday.com/bbs/viewthread.php?tid=4427&amp;extra=page%3D3&amp;page=1">ชมได้ที่นี้</a></p>
<p>สำหรับบอร์ดที่ผมเลือกมา เป็น <a href="http://www.inex.co.th/electronic/computerinterface.html">UCON-UART</a> ของบริษัท <a href="http://www.inex.co.th/">INEX</a> เป็นบอร์ด usb2serial ที่มีขาสัญญาณ RS232c ออกมาครบ มีระดับไฟอยู่ +5/+3.3v? ซึ่งมันเลยเหมาะกับการใช้งานกับไมโคร ต่อตรงไม่ต้องผ่าน buffer อีกที่ และยังเอามาทำตัวเบิร์นแบบ ftdi bitbang ได้อีกครับ ผมว่ามันก้อเหมือน 2 in 1 คุ้มดี สำหรับผู้ที่สนใจก้อสามารถสั่งซื้อทาง บริษัทเขาเลยครับ ราคาตอนนี้ 290 บาทครับ</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1832" title="P1030329" src="http://www.ayarafun.com/wp-content/uploads/2010/07/P1030329.jpg" alt="" width="599" height="336" /></p>
<p>คุณสมบัติคร่าวๆดังนี้ครับ</p>
<ul>
<li>ใช้ไอซี FT232R ในการแปลงสัญญาณ</li>
<li>มี LED แสดงสภาวะการทำงาน</li>
<li>มีจุดต่อสัญญาณครบทุก สัญญาณทั้ง DCD,RxD,TxD,DTR,DSR,RTS และCTS</li>
<li>เลือกใช้ไฟเลี้ยงได้ทั้ง  +3.3V และ +5V หรือใช้จากพอร์ต USB ก็ได้</li>
</ul>
<p>มาดูเรื่องการ setup กันต่อ สำหรับบอร์ด Freeduino เวลาเราจะเบิร์น bootloader จะเบิร์นผ่าน ISP ครับ โดยคอนเน็กเตอร์ ICSP หรือ ISP แบบ 6 PIN ครับ ดังรูปครับ</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1818" title="P1030332" src="http://www.ayarafun.com/wp-content/uploads/2010/07/P1030332.jpg" alt="" width="596" height="298" /></p>
<p>ให้เราต่อสาย ICSP กับบอร์ด UCON-UART ดังแผนภาพข้างหลังนี้ครับ</p>
<p><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/ft232.png"><img class="aligncenter size-full wp-image-1816" title="ft232" src="http://www.ayarafun.com/wp-content/uploads/2010/07/ft232.png" alt="" width="580" height="279" /></a></p>
<p>ภาพสุดท้ายที่เพิ่มใช้งานแล้ว ใช้สายนิดเดียวครับ ที่เห็นที่คอนเน็กเตอร์ ICSP ผมเอาเข็มขัดรัดสายไฟ มันมัดให้มันรวมกันไว้ครับ? ตอนนี้เราก้อได้เครื่องเบิร์น AVR ที่ถูกที่สุดในโลกแล้ว ถูกกว่านี้ต้องทำเองครับ <img src='http://www.ayarafun.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<h3><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/P1030377.jpg"></a><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/P10303771.jpg"><img class="aligncenter size-full wp-image-1850" title="P1030377" src="http://www.ayarafun.com/wp-content/uploads/2010/07/P10303771.jpg" alt="" width="564" height="352" /></a><br />
การใช้งาน avrdude-gui ครับ</h3>
<p>บอร์ดพร้อมติดตั้งโปรแกรมแล้ว มาถึงการใช้งานโปรแกรม avrdude ครับ</p>
<p>รันชื่อโปรแกรม avrdude-gui.exe ที่เราได้ติดตั้งไป จะได้หน้าต่างดังภาพข้างหลังนี้ครับ</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.geocities.jp/arduino_diecimila/bootloader/files/avrdude-gui.png" alt="" /></p>
<p>จากนั้น Setting โปรแกรมดังภาพครับ</p>
<p style="text-align: center;"><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/setting_p1.png"><img class="aligncenter size-full wp-image-1833" title="setting_p1" src="http://www.ayarafun.com/wp-content/uploads/2010/07/setting_p1.png" alt="" width="596" height="223" /></a></p>
<ol type="i">
<li>ตำแหน่งของโปรแกรม avrdude.exe
<ul>
<li>เปิดโฟลเดอร์ &#8220;G:\arduino\avrdude-serjtag\binary&#8221;.</li>
<li>เลือก &#8220;avrdude.exe&#8221;, แล้วคลิก [Open(O)] .</li>
</ul>
</li>
<li>เลือกเครื่องโปรแกรมมิ่ง (Programmer area)
<ul>
<li>เลือก &#8220;FT232R Synchronous BitBang (diecimila)&#8221; ให้สังเกตุ diecimila ที่ตัวท้ายครับ เผื่อจะมีหลายตัวให้เลือก</li>
</ul>
</li>
<li>เลือก Device เบอร์ ไอซี สำหรับ arduino จะมี ATmega168 ,ATmega328 แต่ถ้าอยากเอาไปใช้งานกับเครื่องเบิร์น AVR ตัวอื่นก้อได้เช่นกันครับ (ยังไม่ได้ลองนะครับ)</li>
<li>เพิ่มเติม Command line Option area
<ul>
<li>ให้ใส่ ที่ Textbox<br />
-P ft0 -B 4800<br />
&#8220;-P ft0&#8243; กำหนด port ของ Bitbang,? &#8220;-B 4800&#8243; ใช้ความเร็วต่ำ ในการเบิร์น</li>
</ul>
<p>**<strong> ข้อควรระวัง</strong> ในช่อง Port ปล่อยวางไว้ครับ<br />
** &#8211; B 4800 เปลี่ยนได้นะครับ ที่ใส่ไว้ เพื่อให้ชัวส์ว่าใช่งาน แต่ใช้งานจริงเอาออกได้</li>
</ol>
<h3>ทดสอบเบื้องต้น</h3>
<ol type="i">
<li>เสียบสาย ICSP กับบอร์ดแล้ว เสียบ UCON-UART ติดตั้ง driver usb2serial  ปกติ ก้อพร้อมใช้งานครับ</li>
<li>รันโปรแกรม avrdude-GUI.</li>
<li>การทดสอบง่ายๆที่สุดก้อ กด Read Fuse-bits</li>
</ol>
<p><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/setting_p2.png"><img class="aligncenter size-full wp-image-1842" title="setting_p2" src="http://www.ayarafun.com/wp-content/uploads/2010/07/setting_p2.png" alt="" width="596" height="121" /></a></p>
<p><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/setting_p2.png"></a>ถ้ากดอ่าน Fuse-bit แล้วไม่มีอะไร error ออกมา แสดงว่า เราติดตั้งโปรแกรม สำเร็จแล้วครับ<br />
แต่ถ้าไม่ work ตรวจสอบสาย กับ config ในโปรแกรม avrdude-GUI อีกรอบครับ อาจจะเลือกไอซีผิค เครื่องโปรแกรมผิด</p>
<p>มาถึงตอนนี้เครื่องเบิร์นแบบ USB ที่ถูกสุดในจักรวาลก้อพร้อมใช้งานแล้วครับ ตอนนี้เราแค่เลือกไฟล์ flash ก้อใช้งานได้แล้วครับ เจอกันในต่อสอง เกี่ยวกับ ใช้เครื่องเบิร์น FTDI Bitbang สำหรับเบิร์น bootloader ให้ arduino ครับ</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ayarafun.com/2010/07/atmel-programming-with-ftdi-bitbang/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>แก้ปัญหาไอซี Fusebit เสีย ด้วยเครื่อง Chuprog &#8211; อุปกรณ์เบิร์นไอซีแบบ HighVolt</title>
		<link>http://www.ayarafun.com/2010/07/how-to-clear-lock-bit-with-hv-programming/</link>
		<comments>http://www.ayarafun.com/2010/07/how-to-clear-lock-bit-with-hv-programming/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 19:13:24 +0000</pubDate>
		<dc:creator>chang</dc:creator>
				<category><![CDATA[Arduino-Hacking]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[HVProg]]></category>
		<category><![CDATA[isp-programming]]></category>

		<guid isPermaLink="false">http://www.ayarafun.com/?p=1789</guid>
		<description><![CDATA[เปิดหัวมาสักแรง เหมือนจะแอบโฆษณา วันนี้ก้อเอาเหตุการณ์สำหรับคนเล่นไมโครฯ คงจะได้เจอกันบ้างครับ อาการ &#8220;Fusebit -Lockbit&#8221; อาการที่จะเกิดขึ้นได้ ถึงจะไม่บ่อยแต่ชวนให้ปวดหัว ปวดใจอย่างแน่นอน อยู่ไอซีที่เรามี หรือ บอร์ดที่เรามี ดันไป set fusebit หรือ ดันไป lockbit เข้าไป burn ไม่ได้ <a href="http://www.ayarafun.com/wp-content/uploads/2010/07/33404_412775463591_250201053591_4363298_5335144_n.jpg"></a> ขยายความอาการ Fusebit Lock เป็นอาการเรียกไอซีของ AVR ครับ ที่วันนี้ไอซีมันไม่ต่อสนองกับเครื่องเบิร์น จะ flash ไม่ได้ จะอ่านก้อไม่ได้ มันอาจจะเกิดได้จาก บางครั้งเราก้อเผลอ ไป lockbit ไอซีจริงๆ ก้อแก้ไม่ได้ บางที่เราก้อไป set fusebit เกี่ยวกับ Clock อาจะทำให้มันให้ ext-clock มันก้อเลยอ่านไม่ได้ บางที่ใช้งานอยู่ มันก้อ hang แล้ว fusebit กับ flash เสียไปก้อมีครับ (เจอแบบนี้ รีบไปแก้ไข PCB ด่วนครับ อาการเข้าขั้นหนักครับ) ในรอบนี้ผมจะถือว่า อาการ FuseBit Lock ถือได้ว่าเป็นปัญหาระดับชาติกันเลยที่เดียวครับ (เว่อมาก) เพราะว่าทางผมเคยเจอเหตุการณ์มาครั้งหนึ่งตัว ตัวสมัยยังเป็นวันรุ่น ยังมีประสบการณ์น้อยนิด ตอนนนั้นผมใช้เครื่องเบิร์นหรือเครื่อง programming (ขอเรียกว่าเครื่องเบิร์น แล้วกันนะครับ) [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">เปิดหัวมาสักแรง เหมือนจะแอบโฆษณา วันนี้ก้อเอาเหตุการณ์สำหรับคนเล่นไมโครฯ คงจะได้เจอกันบ้างครับ อาการ <strong>&#8220;Fusebit -Lockbit&#8221; </strong>อาการที่จะเกิดขึ้นได้ ถึงจะไม่บ่อยแต่ชวนให้ปวดหัว ปวดใจอย่างแน่นอน อยู่ไอซีที่เรามี หรือ บอร์ดที่เรามี ดันไป set fusebit หรือ ดันไป lockbit เข้าไป burn ไม่ได้</p>
<p style="text-align: center;"><a href="http://www.ayarafun.com/wp-content/uploads/2010/07/33404_412775463591_250201053591_4363298_5335144_n.jpg"><img class="aligncenter size-full wp-image-1839" title="33404_412775463591_250201053591_4363298_5335144_n" src="http://www.ayarafun.com/wp-content/uploads/2010/07/33404_412775463591_250201053591_4363298_5335144_n.jpg" alt="" width="586" height="257" /></a></p>
<blockquote>
<p style="text-align: justify;">ขยายความอาการ Fusebit Lock เป็นอาการเรียกไอซีของ AVR ครับ ที่วันนี้ไอซีมันไม่ต่อสนองกับเครื่องเบิร์น จะ flash ไม่ได้ จะอ่านก้อไม่ได้ มันอาจจะเกิดได้จาก</p>
<ul>
<li>บางครั้งเราก้อเผลอ ไป lockbit ไอซีจริงๆ ก้อแก้ไม่ได้</li>
<li>บางที่เราก้อไป set fusebit เกี่ยวกับ Clock อาจะทำให้มันให้ ext-clock มันก้อเลยอ่านไม่ได้</li>
<li>บางที่ใช้งานอยู่ มันก้อ hang แล้ว fusebit กับ flash เสียไปก้อมีครับ (เจอแบบนี้ รีบไปแก้ไข PCB ด่วนครับ อาการเข้าขั้นหนักครับ)</li>
</ul>
</blockquote>
<p style="text-align: justify;">ในรอบนี้ผมจะถือว่า อาการ FuseBit Lock ถือได้ว่าเป็นปัญหาระดับชาติกันเลยที่เดียวครับ (เว่อมาก) เพราะว่าทางผมเคยเจอเหตุการณ์มาครั้งหนึ่งตัว ตัวสมัยยังเป็นวันรุ่น ยังมีประสบการณ์น้อยนิด ตอนนนั้นผมใช้เครื่องเบิร์นหรือเครื่อง programming (ขอเรียกว่าเครื่องเบิร์น แล้วกันนะครับ) เครื่องเบิร์นที่ผมใช้มีปัญหา check หา AVR มันดันเจอผิคเบอร์ แต่ทางผมก้อ force flash เข้าไป <strong>ตกลงไอซี AVR หลายตัวตอนนั้นก้อก้อเสียหมด</strong> <strong>ตอนโน่นเจอ LockBit ซื้อไอซีใหม่อย่างเดียว </strong> เพราะเรายังไม่มีเครื่องโปรแกรม High Volt ใช้กัน ก้อเป็นเรื่องตรวจใจ ถ้าเจออาการแบบนี้ อย่าไปพยายามใช้ครับ ต้องให้ชัวส์ ว่าเราเจอสาเหตุของปัญหาสักก่อนครับ อย่างน้อยก้อให้เครื่องเบิร์นมันเจอไอซี ซึ่งทางผมเองคาดว่าตัวเครื่องเบิร์นฯ มันไม่ดีครับ (โทษไปเรื่อย) ตอนนั้นผมจะใช้เครื่องเบิร์น แบบผ่านสาย LPT มันคงควบคุม timing ได้ไม่ดีครับ เศร้าไปหลายวันเลยที่เดียว</p>
<p style="text-align: justify;">สำหรับตอนนี้ประสบการณ์เยอะขึ้น แต่ก้อยังเผลอไป lockbit เหมือนเดิม ไหนก้อแก้ไม่ได้แล้ว ก้อหาเครื่องโปรแกรม HighVolt มาใช้เผื่อไว้เลยดีกว่าวันนี้เราจะมาดูกันว่า เครื่องเบิร์นแบบ HighVolt ดีอย่างไงครับ</p>
<p style="text-align: right;">(สนใจอ่านต่อคลิกเลยครับ)<span id="more-1789"></span></p>
<p style="text-align: justify;">สำหรับกระบวนการ Flash ไอซี AVR ผมเคยอธิบายวิธี <a href="../2009/09/basic-isp-programming-for-av/">การเบิร์นแบบ ISP</a> ไปแล้ว ใครอยากทบทวนลองเข้าไปอ่านก่อน</p>
<p style="text-align: justify;">เครื่องเบิร์น หรือเครื่องโปรแกรมแบบ Parallel ที่จะมาแนะนำ เหมาะกับนักพัฒนาคนยากอย่างพวกเรานะครับ เป็นผลงานของเพื่อนสมาชิก electoday ครับ นามว่า เครื่องเบิร์น<a href="http://www.electoday.com/bbs/viewthread.php?tid=6042&amp;extra=page%3D1"> &#8220;Chuprog&#8221; </a>ดังรูปที่เห็นดังบนเลย ให้เราหาเครื่องเบิร์นแบบ High Volt ส่งข้อมูลแบบ Parallel มาใช้กันครับ (วิธีการ flash แบบ parallel นะครับ ไม่ใช่ผ่าน parallel port /printer port)</p>
<p style="text-align: justify;">สำหรับเครื่องโปรแกรมนี้ พัฒนาต่อโดยคนไทย เพื่อให้หาอุปกรณ์ที่เหมาะกับท้องถิ่นคับ อย่างเช่นใช้ไอซี PIC ตัวเล็กมาทำเป็น USB to Serial ครับ เพื่อใช้เบิร์น AVR มันช่างเป็นการทำลายเกียรติยศของ AVR สักจิงๆ เดี่ยวรอบหน้าจะขอให้ PIC โดน AVR เบิร์นบ้าง (ตึง&#8230;)</p>
<div class="wp-caption aligncenter" style="width: 552px"><img class="  " title="รูปเครื่องโปรแกรม Chuprog  กับเครื่องโปรแกรม Clone ตัวเดิมครับ (ตัวนี้ใช้งานดีกว่า อีเขียวอีกนะครับ)" src="http://sphotos.ak.fbcdn.net/hphotos-ak-ash2/hs039.ash2/35307_412634238591_250201053591_4360116_3026656_n.jpg" alt="" width="542" height="419" /><p class="wp-caption-text">Chuprog and AVRISP Clone</p></div>
<p style="text-align: justify;">โดยเครื่องเบิร์นผมได้ทดสอบ การใช้งานโดยทั่วไปๆ ใช้ในโหมด ISP ไม่รู้จะเทียบกันอย่างไง เล่าเป็นประสบการณ์การใช้งานแล้วกันนะครับ เทียบการเครื่อง AVRISP (อีเขียว รูปบน) จากการใช้ AVRISP ตัว Clone ที่ซื้อมาจากจีน มันเจอไอซีบ้าง ไม่เจอบ้างครับ อย่างเช่น ผมต่อสาย ISP เข้ากับบอร์ด mega128 แล้ว Read Signature บางที่มันไม่เจอ แต่เอาไปใช้อ่าน mega8/mega168/mega328 มาก้อเจอดี เรื่องนี้ยังสับสนอยู่ว่า เป็นได้ไง แต่ไปยืมเครื่อง AVRISP MKII ของเพื่อนมาลองเจอมัน (แต่มันแพงนะ) มันก้อแปลดีครับ แต่สำหรับ <strong>Chuprog</strong> นี้ไม่ค่อยเจอปัญหาดังกล่าวครับ</p>
<p style="text-align: center;"><img class="aligncenter" src="http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs052.snc4/34969_412797893591_250201053591_4364085_1938146_n.jpg" alt="" width="350" height="374" /></p>
<p style="text-align: left;"><strong>สำหรับเครื่องเบิร์นแบบ HighVolt ตัวนี้ มีสรรพคุณดังนี้ครับ</strong></p>
<ul>
<li>สามารถเบิร์นผ่าน ISP mode ได้ (เหมือนเครื่องเบิร์นปกติตามท้องตลาด)</li>
<li>สามารถเบิร์นผ่าน HVSP/PP และยังช่วยให้เข้าไปแก้ Fusebit และ Lockbit ได้ครับ</li>
<li>ใช้งานผ่าน USB ได้ มันจะจำลองตัวเอง เป็น serial ใช้งานกับโปรแกรมอื่นได้ง่ายครับ</li>
<li>วงจรใช้ไฟแค่ +5Volt จาก USB เท่านั้น อันนี้ สะดวกครับไม่ต้องไปหา Adaptor ให้ยุ่งยาก โดยที่วงจร High-Volt เป็นวงจร Switching จะ Up ไฟจาก 5v เป็น 12v</li>
<li>มีโปรโตคอทชุดคำสั่ง STK500 V2 สามารถใช้กับโปรแกรม AVRStudio หรือจะเอาไปใช้กับโปรแกรมอื่นๆก้อยังได้ (คาดว่า Arduino ก้อใช้ได้)</li>
</ul>
<h3>มาดูการใช้จริง</h3>
<p style="text-align: justify;">สำหรับการทดสอบนี้ ผมเน้นไปทางแก้ Fusebit แล้วกันครับ เนื่องจากถ้าไอซีมัน Lock จะมีเหลือวิธีเดียว หาเครื่องโปรแกรม High Volt เข้ามาอ่าน มาเขียนข้อมูลแทน การทำงานของเครื่อง HighVolt ก้อคือ มันจะจ่ายไฟ +12 Volt เข้าที่ขา Reset ครับ ทำให้ไอซี อนุญาติให้เข้าเขียน Flash ได้</p>
<p style="text-align: justify;">สำหรับบอร์ดที่นำมาใช้ เป็นบอร์ดที่โดนล๊อคจริง ผมได้บอร์ดของ ETT BASE -AVR MEGA128 มาครับ แต่ก่อนก้อเราส่ง claim ล่ะครับ แป็บเดียวก้อได้ แต่เราอยู่ไกลจากพระโขนง( ETT อยู่พระโขนงนะ) นานๆจะไปที่ สำหรับรอบนี้ น้องๆ ก้อส่งบอร์ดมาให้ลองของนี้ถ้า chuprog ทำไม่ได้ ผมมีเผามันแน่แท้ อิอิ</p>
<div class="wp-caption aligncenter" style="width: 586px"><img src="http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs079.snc4/35307_412634223591_250201053591_4360113_5363617_n.jpg" alt="" width="576" height="386" /><p class="wp-caption-text">บอร์ด MEGA128 ที่โดน Lock Bit ใช้งานต่อไม่ได้ล่ะ</p></div>
<p style="text-align: left;">สำหรับการต่อใช้งานในโหมดแบบ Parallel จะยุ่งยากกว่าเดิมมากนะสักหน่อย เพราะว่าเราต้องการส่งข้อมูล Parallel เข้าไปยังไอซี จึงใช้สายสัญญาณเยอะครับ ดังรูป</p>
<p style="text-align: center;"><img class="alignnone" src="http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs059.snc4/35307_412634218591_250201053591_4360112_4512343_n.jpg" alt="" width="293" height="195" /><img class="alignnone" src="http://sphotos.ak.fbcdn.net/hphotos-ak-ash2/hs039.ash2/35307_412634228591_250201053591_4360114_2033267_n.jpg" alt="" width="315" height="196" /></p>
<p>ซึ่งการต่อสายนิ ต้องทำใจครับเพราะว่าการflash แบบ paralell ใช้สายเยอะ และมันก้อยังไม่มีเป็น Port มาตราฐานสักด้วย แต่ใครวางแผนใส่ไว้เผื่อซ่อมก้อดีครับ อย่างบอร์ด MEGA128 ผมก้อได้ต่อตัวรูปข้างล่างครับ ใช้ Port B สำหรับรับส่ง DATA และ Port D เป็นตัวส่งค่า Control แต่เพิ่มขา PA0 ต่อกับ BS2 และเพิ่ม CLK จิ่มลงที่บอร์ด (บอร์ดมันไม่มี pin Xtal1 ออกมาให้)</p>
<p style="text-align: center;"><img class="alignnone" src="http://www.electoday.com/bbs/attachments/month_1006/1006121645794d6874e6835cfc.jpg" alt="" width="502" height="372" /></p>
<p style="text-align: justify;">สำหรับ XTAL สามารถจิ่มหาได้หลังบอร์ด ดังภาพครับ</p>
<p style="text-align: center;"><img class="alignnone" src="http://sphotos.ak.fbcdn.net/hphotos-ak-ash2/hs039.ash2/35307_412634233591_250201053591_4360115_7117847_n.jpg" alt="" width="584" height="389" /></p>
<p style="text-align: left;">เมือเสียบสายสำเร็จ ให้ปรับโหมด Programming เป็น PP/HVSP ครับ แล้วลองตรวจสอบไอซี ว่าถูกต้องหรือป่าวครับ ข้อควรระวังผมเสียบสาย DATA ผิคเรียงกลับกัน มันก้อยังอ่าน Signature ออกมาเป็น 0&#215;00 ,0&#215;00 ,0&#215;00 อันนี้ให้ไปไปแก้ไขสายก่อนนะครับ</p>
<p style="text-align: center;"><img src="http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs052.snc4/34969_412797893591_250201053591_4364085_1938146_n.jpg" alt="" width="350" height="374" /></p>
<p style="text-align: left;">จากนั้นเข้าไปแก้ไข Fusebit หรือ LockBit ที่ให้เป็น Default เราก้อสามารถกลับมาใช้งานแบบ ISP ได้ตามปกติแล้ว สำหรับคนที่ทำถึงขั้นตอนนี้แล้วไอซียังใช้งานไม่ได้ ส่งกลับ claim ผู้ผลิตครับ อาจจะเสียแล้วนะครับ</p>
<p style="text-align: center;"><img class="alignnone" src="http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs059.snc4/35307_412634243591_250201053591_4360117_80234_n.jpg" alt="" width="432" height="289" /></p>
<p style="text-align: left;">สรุป สิ่งที่ประทับใจกันหน่อยนะครับ</p>
<p style="text-align: left;"><strong>ประทับใจ</strong></p>
<ul>
<li>เราสามารถแก้ไข Fuse bit,lock bit ไ้ด้แล้ว แถมเป็นเครื่องโปรแกรมใช้งานปกติได้อีก</li>
<li>วงจรของเครื่องโปรแกรมสามารถจ่ายไฟ +5V และ +12V สำหรับโหมด HV ผมว่าสะดวกมากครับ ไม่ต้องพก adaptor</li>
<li>หาโปรแกรมที่มาใช้งาน ง่ายมันใช้ โปรโตคอล STK500v2 มาตราฐานดี</li>
</ul>
<p style="text-align: left;"><strong>ไม่ประทับใจ</strong></p>
<ul>
<li>คงหาซื้อยาก สำหรับคนทั่วไป ตอนนี้ซื้อได้ทางเน็ทอย่างเดียว</li>
<li>Design Package ต้องปรับครับ เกือบดีแล้ว</li>
</ul>
<p style="text-align: left;">เอาล่ะ คราวนี้เราก้อแก้ไขบอร์ด AVR ด้วยตัวเองได้แล้ว หรือไม่ก้อพอเห็นวิธีการแก้ไขบ้างล่ะ ขอบคุณที่เข้ามาติดตาม ใครใช้งานเจอปัญหาอะไรก้อ share ก้อได้นะครับ</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ayarafun.com/2010/07/how-to-clear-lock-bit-with-hv-programming/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ดัดแปลงเครื่องเบิร์น ช่วยสร้างไอซีสำหรับ Arduino</title>
		<link>http://www.ayarafun.com/2009/09/make-texttool-board-adaptor-for-burn-arduin/</link>
		<comments>http://www.ayarafun.com/2009/09/make-texttool-board-adaptor-for-burn-arduin/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 13:00:05 +0000</pubDate>
		<dc:creator>chang</dc:creator>
				<category><![CDATA[Arduino-Hacking]]></category>
		<category><![CDATA[arduino]]></category>

		<guid isPermaLink="false">http://www.ayarafun.com/?p=1095</guid>
		<description><![CDATA[ตอนนี้เกือบปีแล้ว เร็วเหมือนโกหก เวปไอยาฟันส์ ก้อเดินทางไปเรื่อยๆ จิงอาจจะดูว่าช้าไปบ้างนะครับ ทางเราก้อกำลังปรับตัวให้เข้ากับโลกอินเตอร์เน็ทอยู่ สำหรับตอนนี้ทาง ไอยาฟันส์ใช้ ก้อทำบอร์ดสำหรับการ burn ทำมาพิเศษ นิดหน่อย เพราะว่า ทางเราก้อหารายได้เล็กน้อยจากการขายบอร์ด Arduino(clone) /freeduino บ้างครับ หาทุนไปทำโปรเจคต่อนะ สำหรับไอเดียนี้ช่วยให้เบิร์นง่ายขึ้นนิดหน่อยครับ พวกวิชาเรียน ,พวก workshop หรือจะทำ product ขาย (ไม่กลัวโดน copy เลยนะนิ) หน้าตาบอร์ดที่ทำมาพิเศษ เป็นบอร์ดอเนกประสงค์ ที่มีการรวมกับ TEXTTOOLS และมี LED13 กับ switch Reset ไปด้วย ใส่ไอชีได้ง่ายขึ้นครับ ทำกันแบบบ้านๆ งบประมาณ น่าจะไม่ถึงร้อยนะ มาดูการใช้งาน ทางผมก้อต่อกับ เครื่องโปรแกรม ISP ปกติ เลือกน้องเขียว เป็น? AVRISP ตัว clone จากจีน นี้ล่ะครับ ดู inter ดี หลังจากใช้งาน รู้สึกว่า ชีวิตจะสบายขึ้น ใช้ texttool ขามันกว้างอยู่แล้ว จับไอชี ใส่แล้ว lock เลย และ เอาเข้า เอาออก มันไม่เสียเวลามากครับ? คราวหน้าจะให้อะไรใหม่ๆ มาให้ชมอีก No related [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">ตอนนี้เกือบปีแล้ว เร็วเหมือนโกหก<strong> เวปไอยาฟันส์</strong> ก้อเดินทางไปเรื่อยๆ จิงอาจจะดูว่าช้าไปบ้างนะครับ ทางเราก้อกำลังปรับตัวให้เข้ากับโลกอินเตอร์เน็ทอยู่ สำหรับตอนนี้ทาง ไอยาฟันส์ใช้ ก้อทำบอร์ดสำหรับการ burn ทำมาพิเศษ นิดหน่อย เพราะว่า ทางเราก้อหารายได้เล็กน้อยจากการขาย<strong>บอร์ด Arduino(clone) /freeduino บ้างครับ </strong>หาทุนไปทำโปรเจคต่อนะ สำหรับไอเดียนี้ช่วยให้เบิร์นง่ายขึ้นนิดหน่อยครับ พวกวิชาเรียน ,พวก workshop หรือจะทำ product ขาย (ไม่กลัวโดน copy เลยนะนิ)</p>
<p style="text-align: justify;">
<p style="text-align: center;"><img title="อุปกรณ์ช่วย" src="http://lh3.ggpht.com/_Yf5JCo_hjfM/SnMtHp9RxgI/AAAAAAAACBc/OvSGgJx1GsQ/s400/P1220557.JPG" alt="" width="400" height="300" /></p>
<p style="text-align: center;">
<p style="text-align: justify;"><strong>หน้าตาบอร์ดที่ทำมาพิเศษ เป็นบอร์ดอเนกประสงค์ ที่มีการรวมกับ TEXTTOOLS และมี LED13 กับ switch Reset ไปด้วย ใส่ไอชีได้ง่ายขึ้นครับ ทำกันแบบบ้านๆ งบประมาณ น่าจะไม่ถึงร้อยนะ<span id="more-1095"></span></strong></p>
<p style="text-align: justify;">มาดูการใช้งาน ทางผมก้อต่อกับ เครื่องโปรแกรม ISP ปกติ เลือกน้องเขียว เป็น?<strong> AVRISP ตัว clone จากจีน </strong>นี้ล่ะครับ ดู inter ดี</p>
<p style="text-align: justify;">
<p style="text-align: center;"><img class="alignnone" src="http://lh4.ggpht.com/_Yf5JCo_hjfM/SnMtGi6qSbI/AAAAAAAACBU/3jC6864bwxk/s400/P1220554.JPG" alt="" width="400" height="300" /></p>
<p style="text-align: center;"><img class="alignnone" src="http://lh5.ggpht.com/_Yf5JCo_hjfM/SnMtGNRVL9I/AAAAAAAACBQ/n7xT_i4djSE/s400/P1220549.JPG" alt="" width="400" height="300" /></p>
<p style="text-align: justify;">หลังจากใช้งาน รู้สึกว่า ชีวิตจะสบายขึ้น ใช้ texttool ขามันกว้างอยู่แล้ว จับไอชี ใส่แล้ว lock เลย และ เอาเข้า เอาออก มันไม่เสียเวลามากครับ? คราวหน้าจะให้อะไรใหม่ๆ มาให้ชมอีก</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ayarafun.com/2009/09/make-texttool-board-adaptor-for-burn-arduin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arduino Hacking ตอน Burn Bootloader ง่ายนิดเดียว</title>
		<link>http://www.ayarafun.com/2009/09/hacking-arduino-add-new-programming/</link>
		<comments>http://www.ayarafun.com/2009/09/hacking-arduino-add-new-programming/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 16:46:18 +0000</pubDate>
		<dc:creator>chang</dc:creator>
				<category><![CDATA[Arduino-Hacking]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[bootloader]]></category>

		<guid isPermaLink="false">http://www.ayarafun.com/?p=1092</guid>
		<description><![CDATA[ตอนนี้ คนเริ่มใช้ Arduino กันเยอะมากขึ้นแล้ว หลังจากที่สำรวจ ตอนนี้ก้อมี บอร์ดที่เรียกว่า Arduino(clone) /Freeduino /m168 board อยู่หลายเจ้าเลย เดี่ยวคงจะมีปัญหา ตัว bootloader พังบ้างล่ะ ตอนผมลองเล่นแรกๆ ส่วนมากจะชอบสร้างบอร์ดเองกัน แต่จะติดปัญหา ส่วนของเครื่องโปรแกรม คือเครื่องโปรแกรมที่อยู่ในโปรแกรม Arduino มันหาไม่ได้ คือจะเพิ่มเครื่องโปรแกรมที่เรามีอยู่ได้หรือป่าว ทางเราเลยจะบอกวิธีการ hack สุดแสนจะง่าย ให้ Arduino ใช้เครื่องโปรแกรมเราได้ ขอเล่าย้อนไปก่อน การจะ Hack จะต้องเข้าใจโครงสร้างของ Arduino ก่อน Arduino เป็นโปรเจค open-source ที่รวมกับ โปรเจค open-source หลายๆตัวเข้ามาใช้ (อันนี้ต้องขอบคุณ คนพัฒนาในอดีตครับ ทำเอาไว้เยอะมาก) อย่างเช่น ตัวโปรแกรม base จะเป็น java ทำให้มันทำงานได้หลายๆ platform ตัวคอมไพล์เลอร์ของ Arduino จะใช้ avr-gcc และตัวสุดท้าย ตัวโปรแกรม ใช้ avrdude ในการ burn โปรแกรม ถ้าเข้าใจโครงสร้างมันแล้วจะใส่อะไร เพิ่มอะไรก้อพอจะหาทางไปต่อได้ถูกครับ (ใช้พี่ google ดำไปได้ต่อ) กลับมาที่ bootloader อีกรอบ การเบิร์น boot-loader นั้นไม่ยากยุ่ง [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">ตอนนี้ คนเริ่มใช้ Arduino กันเยอะมากขึ้นแล้ว หลังจากที่สำรวจ ตอนนี้ก้อมี บอร์ดที่เรียกว่า<strong> Arduino(clone) /Freeduino /m168 board </strong>อยู่หลายเจ้าเลย</p>
<p style="text-align: justify;">เดี่ยวคงจะมีปัญหา ตัว bootloader พังบ้างล่ะ ตอนผมลองเล่นแรกๆ ส่วนมากจะชอบสร้างบอร์ดเองกัน แต่จะติดปัญหา ส่วนของเครื่องโปรแกรม คือเครื่องโปรแกรมที่อยู่ในโปรแกรม Arduino มันหาไม่ได้ คือจะเพิ่มเครื่องโปรแกรมที่เรามีอยู่ได้หรือป่าว ทางเราเลยจะบอกวิธีการ hack สุดแสนจะง่าย ให้ Arduino ใช้เครื่องโปรแกรมเราได้</p>
<p style="text-align: justify;">ขอเล่าย้อนไปก่อน การจะ Hack จะต้องเข้าใจโครงสร้างของ Arduino ก่อน</p>
<blockquote>
<p style="text-align: justify;"><em>Arduino เป็นโปรเจค open-source ที่รวมกับ โปรเจค open-source หลายๆตัวเข้ามาใช้ (อันนี้ต้องขอบคุณ คนพัฒนาในอดีตครับ ทำเอาไว้เยอะมาก) อย่างเช่น ตัวโปรแกรม base จะเป็น java ทำให้มันทำงานได้หลายๆ platform ตัวคอมไพล์เลอร์ของ Arduino จะใช้ avr-gcc และตัวสุดท้าย ตัวโปรแกรม ใช้ avrdude ในการ burn โปรแกรม</em></p>
</blockquote>
<p style="text-align: justify;">ถ้าเข้าใจโครงสร้างมันแล้วจะใส่อะไร เพิ่มอะไรก้อพอจะหาทางไปต่อได้ถูกครับ (ใช้พี่ google ดำไปได้ต่อ)</p>
<p style="text-align: justify;">กลับมาที่ bootloader อีกรอบ การเบิร์น boot-loader นั้นไม่ยากยุ่ง เพราะว่าในโปรแกรม Arduino จะมีส่วนของ burn bootloader อยู่แล้ว ถ้าท่านมีเครื่องโปรแกรมตามรายชื่อในรูปก้อใช้งานได้เลยครับ แต่ปัญหามีอยู่ว่า <span style="color: #ff0000;"><span style="text-decoration: underline;">เครื่องโปรแกรมที่มีรายชื่อ เป็นเครื่องที่ไม่มีขายในไทย จะเอามาใช้งานได้บ้างไหม</span></span></p>
<p><img class="aligncenter" src="http://lh3.ggpht.com/_Yf5JCo_hjfM/SqPjHrdBngI/AAAAAAAACOk/sMw-RkGMx-w/s400/list_programmers.jpg" alt="" width="333" height="400" /></p>
<p style="text-align: justify;">โดยปกติจะใช้<strong> burn bootloader </strong>ตอนไหนบ้าง ผมจะใช้ตอนแรก ในการสร้างบอร์ดครับ หลังจากที่ได้ไอชีมาใหม่ ยังไม่ได้ใส่ firmware กับอีกรอบที่ bootloader เสีย (อันนี้โอกาสเกิดได้น้อย แต่มันก้อยังเสียได้) อาการเสียของ bootloader ดูง่ายๆ ถ้า LED13 บนบอร์ดไม่กระพริบ แสดงว่า boot-loader มันจะเสียแล้ว ?วิธีการเบิร์น bootloader ก้อแค่ กดที่เมนู Burn Bootloader ตอนโปรแกรมมันจะเบิร์น firmware และ set fusebit ให้</p>
<blockquote><p><strong>::กรอบแทรก</strong> :: เดี่ยวคนมาใหม่จะงง ขออธิบายให้รู้จัก bootloader กันสักนิด</p>
<p>? bootloader คือ firmware ส่วนหนึ่งที่ทำหน้าที่ เป็นที่ช่วยในการ upload โปรแกรม หรือ sketch ที่เราเขียนเข้าไปใน flash rom ผ่านทางสาย serial หรือ usb ซึ่งแล้วแต่คนออกแบบครับ โดยไม่จำเป็นต้องมีเครื่องโปรแกรมไอชี</p></blockquote>
<p style="text-align: justify;">สำหรับวิธีการ Hacking ให้ Arduino มีเครื่องโปรแกรมนั้นง่ายๆครับ ก้อแค่ edit file ไฟล์ programmers.txt ซึ่งจะอยู่ที่? &gt;&gt;<span style="text-decoration: underline;"><strong> [drive:]\arduino\hardware\programmers.txt </strong></span>ดังรูป</p>
<p><img class="aligncenter" src="http://lh5.ggpht.com/_Yf5JCo_hjfM/SqPi8TPo-eI/AAAAAAAACOg/CTh_cB0stq0/s400/find_programmers_txt.jpg" alt="" width="350" height="400" /></p>
<p style="text-align: justify;">วิธีการเพิ่มแค่ใส่ CODE เข้าไปเพิ่ม แล้ว restart โปรแกรมใหม่เท่านั้นเอง ตัวแปร config ต่างๆมันจะเก็บไว้ในรูปแบบ object ของ java เอาที่สำคัญๆ ได้แก่</p>
<p style="padding-left: 60px; text-align: justify;"><em><strong>.communtication</strong></em> กำหนดว่าใช้ usb หรือ serial</p>
<p style="padding-left: 60px; text-align: justify;"><em><strong>.protocol </strong></em>เครื่องโปรแกรมใช้รูปแบบการรับส่งข้อมูลแบบไหน อันนี้ท่านต้องรู้จักโปรแกรม avrdude แล้วท่านจะรู้จัก protocol ต่างๆครับ</p>
<p style="text-align: justify;"><strong>เครื่องโปรแกรมที่มีในไทยนะครับ ที่ผมเคยทดลองใช้อยู่ จะมีรุ่นดังต่อไปนี้นะครับ</strong></p>
<ol>
<li>AVR-ISP (LPT)</li>
<li>AVR-ISP (USB)</li>
<li>USBASP (รุ่นทำกันเอง)</li>
</ol>
<p><span id="more-1092"></span></p>
<h2><strong><span style="color: #0000ff;">AVR-ISP-LPT</span></strong></h2>
<p><strong><img class="aligncenter" src="http://lh3.ggpht.com/_Yf5JCo_hjfM/SnMtIutBhoI/AAAAAAAACBk/Mp_9xBbVrAg/s400/P1220561.JPG" alt="" width="400" height="300" /></strong></p>
<p style="text-align: justify;"><a href="http://www.etteam.com/product/03A09.html">ET -AVR ISP </a> ตัวแรกนี้ ก้อมันถูกดี พอใช้งานได้ แต่มันเป็น LPT เดี่ยวนี้เลยไม่นิยมกัน? แต่ก้อแนะนำเลยสำหรับคนที่ นานๆๆ จะเอามาใช้สักที่</p>
<p style="text-align: justify;">วิธีติดตั้งก้อ copy code เข้าไปใส่ใน programming.txt</p>
<pre class="brush : java">ettparallel.name=ETT ISP Parallel Programmer
ettparallel.protocol=pony-stk200
ettparallel.force=true
#ettparallel.delay=200</pre>
<p>ก้อใส่ที่บรรทัดล่างสุดครับ</p>
<p><img class="aligncenter" src="http://lh4.ggpht.com/_Yf5JCo_hjfM/SqPibB9YLpI/AAAAAAAACOY/wlplryzp8YY/s400/edit_programmers.jpg" alt="" width="400" height="294" /></p>
<p style="text-align: justify;">หลังจากนั้นเปิดโปรแกรม Arduino แล้วเปิดใหม่ จะเห็น ett isp ที่เพิ่มเข้าไป ตอนนี้ก้อสามารถเบิร์นด้วย ETT ISP ได้แล้ว และ เราใช้วิธีนี้ เพิ่ม ตัว programmer ?ตัวอื่นด้วยครับ</p>
<p><img class="aligncenter" src="http://lh4.ggpht.com/_Yf5JCo_hjfM/SqPilPLQLsI/AAAAAAAACOc/l34koHagnmE/s400/ettisp_add.jpg" alt="" width="288" height="173" /></p>
<p style="text-align: justify;">** วิธีการใช้งาน ก้อแค่ กด เลือก ETT ISP เครื่องโปรแกรมนี้มีปัญหานิดหน่อยครับ ถ้าบนบอร์ดมี LED13 ที่ต่อกับ SPI บัสอยู่ควรจะเอาออกด้วย มันจะทำให้ burn ไม่ได้ครับ</p>
<h2><span style="color: #0000ff;">DIY USBASP</span></h2>
<p><img class="aligncenter" src="http://lh5.ggpht.com/_Yf5JCo_hjfM/SnMtIE2VZCI/AAAAAAAACBg/Wy0wTRyTFhQ/s400/P1220559.JPG" alt="" width="400" height="300" /></p>
<p style="text-align: justify;">ตัวนี้เป็นรุ่นยอดนิยมอีกเช่นกัน สำหรับมือเก๋า ที่ชอบทำเอง ?และ งงเองบ่อยๆๆ ผมก้อกว่าจะใช้งานได้ ก้องง ไปนานเหมือนกัน ใครสนใจก้อไปหาวงจรและทดลองทำได้ครับ USBASP(link หน่อย)</p>
<pre class="brush : java">usbasp.name=Usbasp
usbasp.communication=usb
usbasp.protocol=usbasp</pre>
<p style="text-align: justify;">รุ่นนี้ผมใช้แล้วมันงอแงง บ่อย เลยเลิกใช้ไปครับ เครื่องเบิร์น น่าจะใช้อะไรที่ไว้ใจได้ครับ หลังๆๆ ที่ไอยาราฟันส์ เบิร์น IC เป็น เข่งๆๆ เลยไอชีเสีย เครื่องเบิร์น ใช้งานได้บ้างไม่ได้บ้าง? มันเสียเวลาครับ</p>
<h2><span style="color: #0000ff;">AVR-ISP-USB</span></h2>
<p style="text-align: center;"><img class="aligncenter" src="http://lh5.ggpht.com/_Yf5JCo_hjfM/SnMtHBzpnsI/AAAAAAAACBY/ZKDj8Hw3Gvk/s400/P1220555.JPG" alt="" width="400" height="300" /></p>
<p style="text-align: justify;">ตัวนี้เป็นของ <a href="http://www.sureelectronics.net/goods.php?id=18">sure electronic</a> สำหรับสีเขียวฟ้า เป็นของทำเลียนแบบ ของแท้ครับ แต่ถ้าเป็นของไทยๆ ก้อจะมี? <a href="http://www.etteam.com/product/avr/et-avr-isp-usb-v1.html">ETT </a>จะกล่องสีดำครับ หลังจากผมใช้ LPT แล้วมันมีปัญหาบ้าง USBASP ก้อยังไม่พอใจอีก ผมลองของ ett ข้างห้องมันก้อไม่ถูกใจ ก้อมันโหลนิ ใครๆก้อมี ฮ่าๆ ผมเลยอยากลองของแพงๆบ้าง เลยซื้อกล่องเขียวๆมาจาก เวปจีนราคาประมาณ 1200 บาทครับ (CEO รวยจิงๆ)</p>
<pre class="brush : java">serialavrisp.name=SerialAVRISP
serialavrisp.communication=serial
serialavrisp.protocol=stk500v2</pre>
<p>หลังจากใส่ code ครบจะเป็นดังภาพ</p>
<p style="text-align: left;"><img class="aligncenter" src="http://lh4.ggpht.com/_Yf5JCo_hjfM/SqPiNBfElkI/AAAAAAAACOU/--IOlomtCzI/s400/add_all_programmer.jpg" alt="" width="288" height="184" /></p>
<p style="text-align: justify;">ตอนนี้ ท่านก้อสามารถเอาเครื่องโปรแกรมในไทย มาใช้งานได้แล้ว สำหรับเครื่องของยี่ห้ออื่น เดี่ยวเอาไว้ผมหายืมมาได้จะมาบอกวิธีใช้อีกที่ครับ</p>
<p style="text-align: justify;">ประสบการณ์เสริมที่ได้จาก Arduino นะครับ เมื่อก่อนที่ใช้ avr เวลาโปรแกรมจะผ่าน เครื่องโปรแกรมไอชี พวก isp programming ผมจะเจอปัญหาเครื่องโปรแกรมไม่ดี เบิร์นไอชีเสียบ่อยๆมาก ถ้าเป็นไอชี mega8 ตัวล่ะ 50 บาท ไม่เท่าไร บ้างที่ smt ตัวแพงๆ เบิร์นเสียมันเจ็บใจ แต่หลังจากที่ upload ผ่าน bootloader ก้อมีข้อดีอย่างหนึ่ง คือโอกาสที่จะเบิร์นให้ไอชีเสียมันก้อน้อยลงครับ (เพราะว่าไม่ค่อยได้ใช้เครื่องเบิร์น ไม่มีคุณภาพมั่ง)</p>
<p style="text-align: justify;">สำหรับ bootloader ถ้าท่านประยุกต์ใช้กับ โปรเจค AVR อื่นๆ ได้นะครับ ซึ่งหาได้จากในไอยาราฟันส์ จะมีอยู่ จับ ettstamp ใส่ bootloader ,bootloader แบบ usbasp</p>
<p><em>Justfun</em></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ayarafun.com/2009/09/hacking-arduino-add-new-programming/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ไอยาราฟันส์ เผยต้นแบบ bootloader เวอร์่ชั่น USB สำหรับ arduino</title>
		<link>http://www.ayarafun.com/2009/04/usbasp-with-arduino-boot-loader/</link>
		<comments>http://www.ayarafun.com/2009/04/usbasp-with-arduino-boot-loader/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 19:49:02 +0000</pubDate>
		<dc:creator>chang</dc:creator>
				<category><![CDATA[Arduino-Hacking]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[bootloader]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[usbasp]]></category>

		<guid isPermaLink="false">http://www.ayarafun.com/?p=256</guid>
		<description><![CDATA[ยุคนี้เป็นคอมพิวเตอร์รุ่นที่สาม หรือ รุ่นที่สี่ ไม่แน่ใจ ตอนนี้เราสามารถพกพาคอมพิวเตอร์ความเร็วสูงไปไหนก้อได้ ยุคต่อไป เราคงใส่กระเป๋าตังได้แล้ว ด้วยกระแส ยุคที่เครื่อง?โน๊ตบุ๊ต ครองเมือง ทุกอย่างเล็กลง เพื่อให้เหมาะกับการพกพา?เลยทำให้ตัด?พอร์ตที่ไม่ได้ใช้งานออกไปเรื่อย?พอร์ตสือสาร?อย่าง?serial กับ pararell เลยโดนตัดไป แรกๆ เนื่องจากการเข้ามาของ USBถ้าตอนนี้ ใครมีต้องรีบเก็บไว้เลยนะครับ Retro ดี เผื่อจะได้แต่งบ้านได้ ตอนนี้เวลาจะ upload ไฟล์ หรือ การเบิร์นโปรแกรม ด้วยไมโครฯ อาจจะยุ่งยากขึ้นไปอีก การเขียนโปรแกรม พัฒนาโปรแกรมบนบอร์ดไมโครคอนโทรลเลอร์มักจะใช้ พอร์ทสื่อสาร อย่าง serial port? เนื่องจากความง่าย เข้าถึงคอมพิวเตอร์ได้เลย อย่าง arduino จะ upload โปรแกรม จะผ่าน port serial หรือจะให้ดูดี จะใส่ไอชี usb 2 serial ไว้บนบอร์ด แต่จริงก้อยังเป็น serial ไม่ได้เป็น usb จริงๆครับ? ก้อเลยเป็นที่มาของโครงการใหม่ เพื่อให้ arduino สามารถ upload โปรแกรมผ่าน usb ได้ รูปบอร์ด arduinoS3v3 แบบ upgrade แล้ว ประโยชน์ที่คิดว่าน่าจะได้รับ การใช้ usb จะได้ประโยชน์หลายทาง อย่างแรกๆ เราจะได้ไฟเลี้ยง [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">ยุคนี้เป็นคอมพิวเตอร์รุ่นที่สาม หรือ รุ่นที่สี่ ไม่แน่ใจ ตอนนี้เราสามารถพกพาคอมพิวเตอร์ความเร็วสูงไปไหนก้อได้ ยุคต่อไป เราคงใส่กระเป๋าตังได้แล้ว ด้วยกระแส ยุคที่เครื่อง?โน๊ตบุ๊ต ครองเมือง ทุกอย่างเล็กลง เพื่อให้เหมาะกับการพกพา?เลยทำให้ตัด?พอร์ตที่ไม่ได้ใช้งานออกไปเรื่อย?พอร์ตสือสาร?อย่าง?serial กับ pararell เลยโดนตัดไป แรกๆ เนื่องจากการเข้ามาของ USBถ้าตอนนี้ ใครมีต้องรีบเก็บไว้เลยนะครับ Retro ดี เผื่อจะได้แต่งบ้านได้ <img src='http://www.ayarafun.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>ตอนนี้เวลาจะ upload ไฟล์ หรือ การเบิร์นโปรแกรม ด้วยไมโครฯ อาจจะยุ่งยากขึ้นไปอีก</p>
<p style="text-align: justify;">การเขียนโปรแกรม พัฒนาโปรแกรมบนบอร์ดไมโครคอนโทรลเลอร์มักจะใช้ พอร์ทสื่อสาร อย่าง serial port? เนื่องจากความง่าย เข้าถึงคอมพิวเตอร์ได้เลย อย่าง arduino จะ upload โปรแกรม จะผ่าน port serial หรือจะให้ดูดี จะใส่ไอชี usb 2 serial ไว้บนบอร์ด แต่จริงก้อยังเป็น serial ไม่ได้เป็น usb จริงๆครับ? ก้อเลยเป็นที่มาของโครงการใหม่ เพื่อให้ arduino สามารถ upload โปรแกรมผ่าน usb ได้</p>
<p style="text-align: center; "><img class="highslide-image aligncenter" title="Click to close image, click and drag to move. Use arrow keys for next and previous." src="http://lh3.ggpht.com/_Yf5JCo_hjfM/SZb8RjJKG6I/AAAAAAAABBE/SOgB6elY9sc/s800/P1210185.JPG%22%20onclick=%22javascript:pageTracker._trackPageview(" alt="" width="384" height="288" /><strong>รูปบอร์ด arduinoS3v3 แบบ upgrade แล้ว</strong></p>
<p style="text-align: left; "><span id="more-256"></span></p>
<p><strong>ประโยชน์ที่คิดว่าน่าจะได้รับ</strong></p>
<p style="text-align: justify;">การใช้ usb จะได้ประโยชน์หลายทาง อย่างแรกๆ เราจะได้ไฟเลี้ยง 5? โวลต์นำไปใช้งานต่อได้เลย ไม่ซื้อ adaptor (จะงกกันไปถึงไหน) และอีกอย่าง ลดความยุ่งยาก เรื่อง ?serial to usb มาใช้กับเครื่องคอมเราอีก ก้อออกแนวงก อยู่ดี และ ก้อความเร็วในการสือสารข้อมูล ความเร็วสูงมาก ไมโครฯ ได้ต่อ ยูเอสบี จะเข้าขั้นเทพแน่นอน</p>
<p style="text-align: justify;">แล้วเราจะใช้?usb บนไมโครฯ ได้อย่างไงล่ะ?ดูเหมือนอะไรก้อดูดี แต่มีข่าวร้ายครับ AVR?Mega รุ่นที่มีขาย ตัว hardware หรือ ตัว chip ไม่ได้ มีโมดุล USB มาด้วย อยากได้ต้องสั่งเข้ามา แต่ว่ายังมีทางนะครับ เมื่อ hardware ไม่?support?ก้อเขียน software มาใช้งาน USB ขึ้นมาเองเลย ซึ่งเป็นอีกโปเจค open source อีกโด่งดัง ชื่อว่า<a href="http://www.obdev.at/products/avrusb/index.html"> LIB-AvrUSB</a></p>
<p style="text-align: justify;"><a href="http://www.obdev.at/products/avrusb/index.html">LIB-AvrUSB</a> เป็น Software-USB? ที่มีคนสนใจนำประยุกต์ใช้หลากหลาย ก้อทำให้ชิปตัวล่ะ 50 บาท ใช้งาน usb ได้ ใครจะไม่สนล่ะ ตัว software &#8211; usb อาจจะไม่ได้รวดเร็วเหมือน usb จริง ความเร็วที่มันทำได้แค่ 1.0 MHz เทียบกับความเร็วของพอร์ต USB v1.0 ตัวเก่า ยังได้ 12.0? MHz</p>
<p style="text-align: justify;">โดยเครื่องโปรแกรมแบบยูเอสบีแบบราคาถูกๆ?ที่ใช้โปรแกรม Lib-AVRUSB คือ??<a href="http://www.fischl.de/usbasp/">USBasp</a> ใครอยากได้เครื่องโปรแกรมถูกๆ ลองเข้าไปดู ส่วน?bootloader ก้อพัฒนามาจาก Usbasp ดังนั้น เหมือนเข้าโหมด loader ก้อจะใช้งานเหมือนเครื่องโปรแกรม usbasp เลย ดังตัวอย่างในโปรเจค ?<a href="http://metalab.at/wiki/Metaboard">metaboard</a></p>
<p><img class="aligncenter" src="http://metalab.at/wiki/images/thumb/5/58/Metaboard-circuit.gif/700px-Metaboard-circuit.gif" alt="" width="700" height="385" /></p>
<p style="text-align: center; ">รูปจาก?<a href="http://metalab.at/wiki/Metaboard">http://metalab.at/wiki/Metaboard</a></p>
<p><span style="color: #0000ff;"><strong>เริ่มลุยกันเลยดีกว่า</strong></span></p>
<p>มาดูส่วนของ software ของเครื่องโปรแกรม Usbasp กันก่อนครับ จะเป็นเครื่องโปรแกรม หรือ ตัว bootloader ส่วนนี้จะเหมือนกัน ซึ่งประกอบไปด้วย</p>
<p>- ?ส่วนไดร์เวอร์ ยูเอสบีคอมพิวเตอร์ ชื่อ??<a href="http://libusb-win32.sourceforge.net/">LibUSB</a></p>
<p>- ?ส่วน firmware บนบอร์ด?<a href="http://www.obdev.at/products/avrusb/usbasploader.html">USBasp-Loader</a> หรือ?<a href="http://metalab.at/wiki/Metaboard">http://metalab.at/wiki/Metaboard</a></p>
<div>มาในการทดลองนี้ จะลองอะไรง่ายๆ ก่อนทำบอร์ดทดลองง่าย เพื่อจะลอง?bootloader แบบใหม่?เพื่อเอามาใช้กับ arduino</div>
<p><strong>ขั้นตอนการเตรียมอุปกรณ์</strong></p>
<p>เตรียมส่วน hardware บอร์ด ผมทำบอร์ดเพิ่มเติม มาใช้กับบอร์ด arduino ชุดเดิม โดยดูจากวงจรข้างบน จะมีส่วนของ USB เพิ่ม</p>
<p style="text-align: justify;">ส่วนบอร์ดที่ใส่เพิ่มไป ก้อ usb shield แบบบ้านๆ ครับ ตัวบอร์ดได้มาจาก ett ครับ คงจะหามาทำกันไม่ยาก ดูจากด้านบน ชัดๆ อุปกรณ์จริงๆไม่มีอะไรมากครับ zener กับ R รวมกันไม่ถึง 20 บาท</p>
<div style="text-align: justify;">ผมหา R 68ohm ไม่มี เลยเอา R 75 ohm คงเอาไว้ limit กระแส ควรจะมีไว้ครับ และ ziner didode 3.6v ไม่มี เอา 3.3v ใส่แทน ก้อยังทำงานได้</div>
<p><img class="highslide-image alignnone" title="Click to close image, click and drag to move. Use arrow keys for next and previous." src="http://lh3.ggpht.com/_Yf5JCo_hjfM/SZb8bbUThTI/AAAAAAAABBU/erUB7bzFxwk/s800/P1210189.JPG" alt="" width="230" height="173" /></p>
<p>ส่วนด้านล่าง ใช้เทคโนโลยี R แปะๆ</p>
<p><img class="highslide-image alignnone" title="Click to close image, click and drag to move. Use arrow keys for next and previous." src="http://lh6.ggpht.com/_Yf5JCo_hjfM/SZb8gVGu2FI/AAAAAAAABBc/6JI-mmkeezA/s800/P1210191.JPG" alt="" width="230" height="173" /></p>
<p>มาส่วนของ firmware bootloader บ้างนะครับ?เข้าไปที่นี้ครับ <a href="http://www.obdev.at/products/avrusb/usbasploader.html">http://www.obdev.at/products/avrusb/usbasploader.html</a> จะมี source ของ bootloader ซึ่งทางผม ก้อเอามาใช้งานเลย</p>
<p><strong>ส่วนของโปรแกรม Arduino IDE</strong></p>
<p>โดย arduino นี้ผมลองกับ mega8 นะครับ จึงไฟล์ mega8_16mhz.hex ไปใส่ไว้ที่ /bootloader/usbasp/</p>
<p>จากนั้นมา modify arduino ต่อครับ เอา quote นี้ใส่ไปใน board.txt</p>
<pre class="brush: java">ArduinoSoftUSB.name=ArduinoSoftUSB
ArduinoSoftUSB.upload.protocol=usbasp
ArduinoSoftUSB.upload.maximum_size=7168
ArduinoSoftUSB.upload.speed=19200
ArduinoSoftUSB.bootloader.low_fuses=0x9f
ArduinoSoftUSB.bootloader.high_fuses=0xc0
ArduinoSoftUSB.bootloader.path=usbasp
ArduinoSoftUSB.bootloader.file=mega8_16mhz.hex
ArduinoSoftUSB.bootloader.unlock_bits=0x3F
ArduinoSoftUSB.bootloader.lock_bits=0x2F
ArduinoSoftUSB.build.mcu=atmega8
ArduinoSoftUSB.build.f_cpu=16000000L
ArduinoSoftUSB.build.core=arduino</pre>
<p>จากนั้น เข้าโปรแกรม เสียบสาย ISP update bootloader ตัวใหม่ ตอนนี้ arduino ท่านจะใช้ burn ผ่าน usb ได้แล้ว</p>
<p><strong><span style="color: #0000ff;">วิธีการใช้งานนะครับ</span></strong></p>
<p style="text-align: justify;">จะเข้าโหมด bootloader ต้อง jump PB7 หรือ arduino pin7 ลง gnd แล้วกด reset ถ้าลง driver แล้ว จะปรากฏ อุปกรณ์ usbasp ใน device manager เลยครับ จากนั้น ท่านก้อสามารถใช้ avrdude burn โปรแกรมเข้าไปใหม่ได้ หรือใช้ arduino ก้อ upload sketch ได้เลยครับ เมื่อเสร็จ จะออกจาก bootloader เข้าสู่การทำงานปกติต่อไปครับ</p>
<p style="text-align: justify;"><strong>การทดสอบผมว่ามัน upload เร็วดีกว่า bootloader ที่เป็น Serial เยอะมากครับในการทดสอบกับ arduino usb จะเจอปัญหา เล็กน้อย ในตอน upload sketch ถ้าต่อสาย serial อยู่ เนื่องจากบอร์ด arduino สามารถ auto-reset จาก serial ได้ ตอน upload มันจะเข้าไป reset ผ่านสาย serial ด้วย ถ้าท่านต่อสาย serial ด้วย ให้ disable โหมดนี้ออกด้วยครับ เดี่ยวมันจะตีกัน </strong></p>
<p>ขอให้สนุกครับ</p>
<p><span style="color: #0000ff;"><strong>เสริมอีกนิดหน่อย</strong></span></p>
<p>ตอนนี้ ถ้าใครอยากจะเอา arduino ไปลองกับ usb ?ตอนนี้มี port ตัว AvrUSB ไปใช้กับ arduino แล้ว</p>
<p>ต่อไป เราจะได้ใช้ USB กันง่ายๆ ถ้าใครว่างๆ ลองเอาไปทำดูครับ เดี่ยวผมจัดการงานเสร็จจะทดลองดูตามโน่นบ้าง</p>
<p><img src="http://arduino.nl/wp/wp-content/boarduinousb2s-150x150.jpg" border="0" alt="" /> <img src="http://arduino.nl/wp/wp-content/boarduinousb1s-150x150.jpg" border="0" alt="" /></p>
<p>รูปจากเวป?<a href="http://code.rancidbacon.com/ProjectLogArduinoUSB" target="_blank">http://code.rancidbacon.com/ProjectLogArduinoUSB</a></p>
<p><strong>Project Log : Arduino USB</strong></p>
<p><a href="http://code.rancidbacon.com/ProjectLogArduinoUSB" target="_blank">http://code.rancidbacon.com/ProjectLogArduinoUSB</a></p>
<p><a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1204833437" target="_blank">http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1204833437</a></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ayarafun.com/2009/04/usbasp-with-arduino-boot-loader/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>ทดลอง AVRDUDE อัพโหลตโปรแกรมเข้า Arduino</title>
		<link>http://www.ayarafun.com/2009/04/upload-arduino-with-avrdude-gui/</link>
		<comments>http://www.ayarafun.com/2009/04/upload-arduino-with-avrdude-gui/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 05:35:10 +0000</pubDate>
		<dc:creator>chang</dc:creator>
				<category><![CDATA[Arduino-Hacking]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[avrdude]]></category>
		<category><![CDATA[bootloader]]></category>
		<category><![CDATA[gui]]></category>

		<guid isPermaLink="false">http://www.ayarafun.com/?p=321</guid>
		<description><![CDATA[สวัสดีครับ พ่อแม่ พี่น้อง ของ Electonic ช่วงนี้ปิดเทอม อากาศร้อน ไม่น่าอยู่บ้านไปอย่างยิ่งๆ หาอะไรทำหาลืมความร้อนกันบ้าง (ไม่เห็นมันจะเกี่ยวกันเลย) เรามาต่ออะไรกันง่ายๆครับ มีคนถามผมบ่อยว่า arduino เอาไป burn หรือ upload แบบไม่ผ่าน arduino ide ได้หรือป่าว อยากจะเขียนบน avr-studio หรืออย่างอื่นจะ upload ได้ไหม &#160; &#160; ก้อต้องบอกได้ว่า arduino สามารถใช้โปรแกรมอื่น upload hex ได้นะครับ เข้าใจ bootloader ส่วนของ bootloader ที่ใส่ใน mcu เป็นตัวส่วนช่วย upload ไฟล์ครับ ซึ่งเขาทำไว้ compatible กับอุปกรณ์ เบิร์นมาตราฐานอยู่แล้วครับ อย่างใน arduino เขาจะใส่ stk500-v1 ไว้ ฉะนั้นการทำงานของ arduino ?ในตอนเข้าโหมด loader นั้น มันจะจำลองตัวเองเป็น stk500-v1 เป็นเครื่องเบิร์น แต่มันเบิร์นเข้าตัวเองล่ะครับ (ต่อไปเครื่องเบิร์นจะขายได้ไหมนิ) ซึ่งตอนนี้จะเอาโปรแกรมเบิร์น ที่รู้จัก stk500 มาก้อ upload ได้แล้ว อย่างเช่น avrdude สำหรับ avrstudio จะรู้จัก stk500-v2 นะครับ [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">สวัสดีครับ พ่อแม่ พี่น้อง ของ Electonic ช่วงนี้ปิดเทอม อากาศร้อน ไม่น่าอยู่บ้านไปอย่างยิ่งๆ หาอะไรทำหาลืมความร้อนกันบ้าง (ไม่เห็นมันจะเกี่ยวกันเลย)</p>
<p style="text-align: justify;">เรามาต่ออะไรกันง่ายๆครับ มีคนถามผมบ่อยว่า arduino เอาไป burn หรือ upload แบบไม่ผ่าน arduino ide ได้หรือป่าว อยากจะเขียนบน avr-studio หรืออย่างอื่นจะ upload ได้ไหม</p>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: center;"><strong><span style="color: #ff0000;">ก้อต้องบอกได้ว่า arduino สามารถใช้โปรแกรมอื่น upload hex ได้นะครับ</span></strong></p>
<p style="text-align: center;"><strong><span style="color: #ff0000;"><br />
</span></strong></p>
<h3><strong>เข้าใจ bootloader</strong></h3>
<p style="text-align: justify;">ส่วนของ bootloader ที่ใส่ใน mcu เป็นตัวส่วนช่วย upload ไฟล์ครับ ซึ่งเขาทำไว้ compatible กับอุปกรณ์ เบิร์นมาตราฐานอยู่แล้วครับ อย่างใน arduino เขาจะใส่ stk500-v1 ไว้ ฉะนั้นการทำงานของ arduino ?ในตอนเข้าโหมด loader นั้น มันจะจำลองตัวเองเป็น stk500-v1 เป็นเครื่องเบิร์น แต่มันเบิร์นเข้าตัวเองล่ะครับ (ต่อไปเครื่องเบิร์นจะขายได้ไหมนิ) ซึ่งตอนนี้จะเอาโปรแกรมเบิร์น ที่รู้จัก stk500 มาก้อ upload ได้แล้ว อย่างเช่น avrdude สำหรับ avrstudio จะรู้จัก stk500-v2 นะครับ เอาไปใช้งาน อาจไม่ได้</p>
<p style="text-align: justify;">&nbsp;</p>
<h3><strong>GUI สำหรับ windows</strong></h3>
<p>เอาล่ะครับ วันนี้มารู้จักอยู่โปรแกรมชื่อ Avrdude กันบ้าง</p>
<p><strong>avrdude </strong>เป็นโปรแกรมเบิร์น อย่างเดียวเลยเท่านั้น ซึ่งเป็นโปรเจค opensource อีกอันหนึ่งที่นิยมมาก ทั้งที่โปรแกรมนี้ ไม่มีหน้าตาหล่อๆ เหมือนโปรแกรมอื่นเลย แถมทำงานทำงานบน command line ?ด้วยซ้ำ แต่โปรแกรมดี อย่างไง ก้อเป็นข้อดี และได้พัฒนา ส่วนเพิ่มเติมมาเรื่อยๆ เลยมีส่วน gui ทำงานใน windows เพิ่มขึ้น มีอยู่หลายตัวครับ อย่าง<a href="http://www.brischalle.de/avr8_burn-o-mat_avrdude_gui/avr8_burn_o_mat_avrdude_gui_en.html"><strong> avr8-burn-o-mat</strong></a> ,<a href="http://sourceforge.net/projects/avrdude-gui/"><strong> avrdude-gui</strong></a> วันนี้เอา avrdue-gui ก่อนแล้วกันครับ พอดีมันดีที่ ไฟล์เดียวก้อทำงานได้ แค่นั้นล่ะ อีกตัว ต้องมี java แต่สวยดี</p>
<p><span id="more-321"></span></p>
<h3><strong><span style="color: #ff0000;">วิธีการ set นะครับ</span></strong></h3>
<p>อันแรก เราต้อง config เครื่องโปรแกรมกัน set ตามรูปกันไปเลยนะครับ<br />
<img class="aligncenter" src="http://lh6.ggpht.com/_Yf5JCo_hjfM/Sc3MvzvlZuI/AAAAAAAABKY/wXYJlS9GYOM/s400/avrdude.jpg" alt="" width="400" height="208" /></p>
<p>จากนั้น ก้อไป set paramater นะครับที่ สำคัญ คือ -v กับ -F นะครับ<br />
<img class="aligncenter" src="http://lh4.ggpht.com/_Yf5JCo_hjfM/Sc3MzhRs3dI/AAAAAAAABKg/gKw8cR6X5Mg/s400/avrdude-gui-setting.jpg" alt="" width="400" height="210" /></p>
<p>จากนั้นมาอีกเลือก tab ไฟล์ hex ที่ต้องการ<br />
<img class="aligncenter" src="http://lh3.ggpht.com/_Yf5JCo_hjfM/Sc3MsYro2EI/AAAAAAAABKQ/qHDStvE08IY/s400/avrdude-file-tab.jpg" alt="" width="400" height="208" /></p>
<p>เอาล่ะครับตอนนี้ก้อพร้อมใช้งานแล้ว</p>
<p>กด [execute] นะครับ ขึ้นข้อความ ก้อเปิด reset ที่บอร์ด arduino ครับ</p>
<p><img class="aligncenter" src="http://lh4.ggpht.com/_Yf5JCo_hjfM/Sc3Mo1Rnn_I/AAAAAAAABKI/FWtH4FMRE88/s400/step1.jpg" alt="" width="400" height="378" /></p>
<p>บอร์ดจะเริ่มสือสาร กันและกระบวนการ upload จะทำงานครับ</p>
<p style="text-align: center;"><img class="aligncenter" src="http://lh5.ggpht.com/_Yf5JCo_hjfM/Sc3NYB5Po_I/AAAAAAAABKo/Dq6owqG_JlM/s400/step2-avdude.jpg" alt="" width="400" height="378" /></p>
<p style="text-align: justify;">สำหรับโปรแกรม Avrdude-gui จะมีอยู่หลาย เวอร์ชั่นมากครับ ซึ่งตัวที่ผมใช้ ได้มาจากบริษัท ETT เดี่ยวเอาไว้รอบหน้าจะลองใช้ เวอร์ชั่นอื่นแล้วจะมาบอกเล่ากันใหม่</p>
<p style="text-align: justify;">&nbsp;</p>
<p>จบล่ะ ใครทดลองแล้วมีปัญหาอะไรก้อบอกกันได้ <img src='http://www.ayarafun.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  <img src='http://www.ayarafun.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ayarafun.com/2009/04/upload-arduino-with-avrdude-gui/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

