<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>avr-studio &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/avr-studio/</link>
	<description>Feed of posts on WordPress.com tagged "avr-studio"</description>
	<pubDate>Tue, 21 May 2013 10:28:28 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[INTRODUCTION TO EMBEDDED SYSTEMS AND MICROCONTROLLERS ]]></title>
<link>http://introbots.wordpress.com/2012/07/25/introduction-to-embedded-systems-and-microcontrollers/</link>
<pubDate>Wed, 25 Jul 2012 13:33:06 +0000</pubDate>
<dc:creator>introbotsadmin</dc:creator>
<guid>http://introbots.wordpress.com/2012/07/25/introduction-to-embedded-systems-and-microcontrollers/</guid>
<description><![CDATA[Hello friends and welcome to my first tutorial. In this tutorial I will be introducing you to the fa]]></description>
<content:encoded><![CDATA[<p>Hello friends and welcome to my first tutorial. In this tutorial I will be introducing you to the fascinating world of embedded systems and microcontrollers. We will discuss their applications, the difference between a microcontroller and microprocessor and the features available with most microcontrollers. I will also discuss how to choose one for your own purpose. So fasten your seat belts and let’s begin this journey.</p>
<p><strong>What are Embedded Systems?</strong></p>
<p>Any electronic system with inbuilt intelligence can be called an embedded system. They are generally designed to handle a particular task. It can be anything from a washing machine to a hearing aid as long as long as it contains a processing core.</p>
<p>Let us take the example of a digital watch. It is built using electronic parts (hence is an electronic system) and is designed to display and keep track of time (a particular task). But how does it do it? It needs an internal system, an intelligence unit that tells it when a second has passed and when to increment the time. Thus this behaves as an embedded system.</p>
<p>If we just look around we can find plenty of examples of embedded systems. Mobile phones, mp3 players, digital cameras, printers, microwave ovens, GPS receivers, medical imaging devices (CT,MRI etc.) and lots more.</p>
<p><strong>What is a Microprocessor?</strong></p>
<p>The term “microprocessor” is fairly common and I am sure you have heard this term. Often abbreviated as MPU (Micro Processor Unit), it is a processing unit built on a single (or at most a few) integrated circuit(s). A microprocessor is programmable and has the following features-<br />
1.The ability to execute a stored set of instructions to carry out user defined tasks<br />
2. The ability to be able to access <strong><em>external</em></strong> memory chips to both read and write data from and to the memory</p>
<div id="attachment_14" class="wp-caption alignnone" style="width: 310px"><a href="http://introbots.files.wordpress.com/2012/07/the-first-microprocessor-chip-the-intel-4004-containing-2250-transistors-on-a-single-chip1.jpg"><img class="size-medium wp-image-14" title="the first microprocessor chip, the intel 4004, containing 2250 transistors on a single chip" alt="" src="http://introbots.files.wordpress.com/2012/07/the-first-microprocessor-chip-the-intel-4004-containing-2250-transistors-on-a-single-chip1.jpg?w=300&#038;h=237" width="300" height="237" /></a><p class="wp-caption-text">The first microprocessor chip, the Intel 4004, containing 2250 transistors on a single chip</p></div>
<p>However, a microprocessor alone is not very useful. The situation is similar to your computer, which needs Input /Output peripherals (keyboard, mouse), memory (hard disk) etc. along with the processor to function effectively. But your computer is designed to perform a wider set of general purpose functions. For embedded systems we require some less complicated chips. This is where enters the role of microcontrollers.</p>
<p><strong>Microcontroller (MCU)-an introduction</strong></p>
<p>Just like a microprocessor, it has got its Central Processing Unit (CPU), with which it can do only one task at a time unlike a computer processor that can do multi-tasking. In addition to this, a microcontroller possesses memory (EEPROM, SRAM, EPROM, flash) and peripherals (input/output ports, clocks, timers, USART, ADC and other stuffs). Don’t worry if you don’t understand these terms. I will describe them as and when required.</p>
<p>For now, all this means is that, a microcontroller doesn’t need any external device to function (like a hard disk required for a microprocessor in a computer for memory, or a keyboard to take input data).<strong><em>Hence, they are like mini-computers  designed to perform a small set of specific function, i.e. applications which do not need higher resources. </em></strong>On the other hand MPUs perform a wider set of general purpose functions. Obviously, you wouldn’t be able to make a powerful PC using a MCU. That is where a processor would be handy. However for designing a digital thermometer, using a low cost MCU would be the best option.</p>
<div id="attachment_15" class="wp-caption alignnone" style="width: 310px"><a href="http://introbots.files.wordpress.com/2012/07/intel-8051-microcontroller.jpg"><img class="size-medium wp-image-15" title="intel 8051 microcontroller" alt="" src="http://introbots.files.wordpress.com/2012/07/intel-8051-microcontroller.jpg?w=300&#038;h=152" width="300" height="152" /></a><p class="wp-caption-text">The Intel-8051, the world’s first microcontroller</p></div>
<p>From the time Intel -8051(world’s first microcontroller) was released in the market, microcontroller’s   popularity has been growing ever since. What is that makes a microcontroller so popular and widely used. The answer lies in its features:-</p>
<ul>
<li> It is totally inexpensive.</li>
<li>Doesn’t require any sophisticated setup to make it function.</li>
<li>It consumes almost zero power.</li>
</ul>
<p>Today these intelligence units are used extensively in embedded systems and also in the field of robotics. It’s hard to imagine life without them.</p>
<p><strong>The AVR Microcontroller</strong></p>
<p>The most widely used MCUs in today’s market are Intel’s 8051, Microchip’s PIC and Atmel’s AVR family.</p>
<p>However the AVR family has some notable features.</p>
<ul>
<li>There is minimum need for external components. Internal oscillators, timers, ADC, UART, pull-up resistors and pulse width modulation are some of the features (internal peripherals) you’ll find in AVR devices. Again don’t worry, these terms will be clear to you soon.</li>
<li> The best part of an AVR is that the C compiler is available for free and that too by Atmel! Many other manufacturers do not provide with a compiler or proprietary premium software, which we need to buy.</li>
<li>AVR instructions are tuned to decrease the size of the program whether the code is written in assembly or C.</li>
<li>Almost all AVR supports In System Programming (ISP) which means you can reprogram it without removing from the circuit.</li>
<li>AVR microcontrollers are more user friendly than PIC or 8051.</li>
</ul>
<p>Here is a summarized comparison</p>
<p>1. COST: AVR=PIC&#62;8051</p>
<p>2. AVAILABAILTY: AVR=PIC&#60;8051</p>
<p>3. SPEED: AVR&#62;PIC&#62;8051 (AVR is almost 3-4 times faster than PIC)</p>
<p>4. BUILT-IN PERIPHERALS: Almost all MCU families offer comparable features. However, I would         say for a given price AVR=PIC&#62;8051</p>
<p>5. TOOLS AND RESOURCES: 8051 has been around for a long time, consequently there are more tools available for working with it. Here, 8051&#62;AVR=PIC</p>
<p>Hence, based on cost, ease of use, speed, availability etc. you can choose any MCU you want. I work with AVR microcontrollers whereas you may prefer something else. It all depends upon your choice. But still, <strong>most of the tutorials will be covered using AVR ATMEGA32 MCU. However, they can easily be transformed for any AVR device.</strong></p>
<p><strong>A Quick word</strong></p>
<p>All ICs have datasheets made by their manufactures which contains every possible detail about the chip. They are very easily available on the internet. It is a good practice to read through them (the essential parts at least). It is also advisable to go through these tutorials and later refer to that part in the datasheet to help you understand the layout of datasheets so that you can tackle any IC in the future.</p>
<p>That’s all for this tutorial. Let us quickly summarize what we learnt<br />
1. Embedded Systems= electronic system + inbuilt intelligence + specific task<br />
2. MPU=Processing unit on chip<br />
3. MCU=MPU + Memory + Peripherals (all on single chip)<br />
4. MCU-small set of functions<br />
5. MPU-wide range of functions<br />
6. Life without MCUs incomplete</p>
<p>In the next tutorial I will tell you more about the ATmega32 MCU and its peripherals.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Atmel Studio 6 - Install Guide, Walk-Through, Review]]></title>
<link>http://nishantnath.wordpress.com/2012/05/05/atmel-studio-6-install-guide-walk-through-review/</link>
<pubDate>Fri, 04 May 2012 22:10:27 +0000</pubDate>
<dc:creator>Nishant Nath</dc:creator>
<guid>http://nishantnath.wordpress.com/2012/05/05/atmel-studio-6-install-guide-walk-through-review/</guid>
<description><![CDATA[This article is aimed at helping you download and install ATMEL STUDIO 6 It also contains a walk-thr]]></description>
<content:encoded><![CDATA[This article is aimed at helping you download and install ATMEL STUDIO 6 It also contains a walk-thr]]></content:encoded>
</item>
<item>
<title><![CDATA[Introduction to Atmega Microcontrollers]]></title>
<link>http://nishantnath.wordpress.com/2012/03/23/introduction-to-atmega-microcontrollers/</link>
<pubDate>Thu, 22 Mar 2012 23:17:24 +0000</pubDate>
<dc:creator>Nishant Nath</dc:creator>
<guid>http://nishantnath.wordpress.com/2012/03/23/introduction-to-atmega-microcontrollers/</guid>
<description><![CDATA[Introduction to Atmega Microcontrollers Microcontroller can be termed as a single on chip computer w]]></description>
<content:encoded><![CDATA[Introduction to Atmega Microcontrollers Microcontroller can be termed as a single on chip computer w]]></content:encoded>
</item>
<item>
<title><![CDATA[The LED Chasing Effect Project using Atmel AVR Microcontroller]]></title>
<link>http://ermicroblog.wordpress.com/2012/03/14/the-led-chasing-effect-project-using-atmel-avr-microcontroller/</link>
<pubDate>Wed, 14 Mar 2012 15:47:21 +0000</pubDate>
<dc:creator>ermicroblog</dc:creator>
<guid>http://ermicroblog.wordpress.com/2012/03/14/the-led-chasing-effect-project-using-atmel-avr-microcontroller/</guid>
<description><![CDATA[One of the interesting projects for most of the embedded beginners enthusiasts or hobbyists is to bu]]></description>
<content:encoded><![CDATA[<p>One of the interesting projects for most of the embedded beginners enthusiasts or hobbyists is to build the LED chasing effect. In this project we are going to use both the Arduino IDE and Atmel AVR Studio to program the AVR ATMega168 microcontroller, therefore you could learn to use these well known Integrated Development Environment (IDE) to program the project.</p>
<p><a href="http://ermicroblog.files.wordpress.com/2012/03/led_chase_06.jpg"><img class="alignnone size-full wp-image-118" title="LED_Chase_06" src="http://ermicroblog.files.wordpress.com/2012/03/led_chase_06.jpg?w=584&#038;h=451" alt="" width="584" height="451" /></a></p>
<p>You could read more information at <a title="The LED Chasing Effect Project using Atmel AVR Microcontroller" href="http://jazzymicro.com/?p=20" target="_blank">jazzymicro</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Arduino]]></title>
<link>http://datalinkescape.wordpress.com/2012/01/16/arduino/</link>
<pubDate>Mon, 16 Jan 2012 14:47:21 +0000</pubDate>
<dc:creator>andyb</dc:creator>
<guid>http://datalinkescape.wordpress.com/2012/01/16/arduino/</guid>
<description><![CDATA[I first encountered the Arduino project a couple of months ago.  I was searching for a piece of C# c]]></description>
<content:encoded><![CDATA[<p>I first encountered the Arduino project a couple of months ago.  I was searching for a piece of C# code and found that the developer had been doing some work with SVG graphics for the <a title="Fritzing" href="http://fritzing.org/" target="_blank">Fritzing</a> project.</p>
<p>Fritzing is a schamtic capture/pcb layout program aimed at hobbyists and teaching.  I&#8217;ll talk about it some other time.   Most of the designs in Fritzing had this Arudino thing as a microcontroller so I naturally checked out what the <a title="Arduino" href="http://arduino.cc" target="_blank">Arduino</a> project was all about.</p>
<p>Arudino is a open source software/hardware microcontroller board again aimed at the hobby/teaching sectors.   For me it is a playground of microcontroller merriement.  I&#8217;ve got a single board mcirocontroller with onboard USB to allow power and communications to my PC with a powerful set of analog/digital/timers/USARTS/PWM/I2C/SPI ports.  With a birthday on the horizon it was obvious what I was going to get myself.</p>
<p>The commonst Arduino board is the UNO which the designers seemed to be a bit mean with the number of IO. I got the top of range fully endowed Arduino Mega.  It has 54 digital pins of which 14 can be used as PWM (hardware), 16 analog input pins, 256k flash, 8k SRAM, 4k E2PROM running at 16MHz. There are aslo SPI and I2C communications and 4 USARTS and a total of 6 timer counters.</p>
<p><a href="http://datalinkescape.files.wordpress.com/2012/01/arduinomega2560_r2_front.jpg"><img class="alignnone size-medium wp-image-25" title="Arduino Mega 2560 R2" src="http://datalinkescape.files.wordpress.com/2012/01/arduinomega2560_r2_front.jpg?w=300&#038;h=165" alt="" width="300" height="165" /></a></p>
<p>All the ports are conveniently presented on headers so that you can get up and running quickly with jumper wires.  There are also a number of shields (expansion boards) that can connect with the Arduino Mega to provide XBee, Bluetooth, Ethernet, Motor control and a proto shield for your own experiments.</p>
<p>Read all the Arduino Mega 2560 <a title="Arduino Mega 2560" href="http://arduino.cc/en/Main/ArduinoBoardMega2560" target="_blank">here</a></p>
<p>The programming software is a bit basic for me, however it was designed for hobbyists and teaching so I gave it a spin to get me started.  The first couple of examples do the usual stuff: blink a LED on and off, read a switch and flash an LED.   The programming environment is slick and works seamlessly and isolates the novice from the usual headaches in working with microcontrollers.   That means instead of looking through 300 pages of data sheets, figuring out the correct hex code to stick in a register, worry about the fuse bits to blow, all that has to be done is use a small number of functions in the right order and click on compile and download.</p>
<p>Of course I feel that I&#8217;m above the fed by hand examples after having had nearly 2 hours experience with them.   The first thing to do was to download the Atmel AVR mega2560 datasheet to see what this chip was capable of.   First of all  the analog input pins are connected to standard GPIO (general purpose IO) ports and can be used as 16 further digital inputs and outputs.  The next step involved hacking around the Arduino folder and website to find how the &#8220;sketch&#8221; is converted into code that the controller can execute.   I found a very good tutorial on the compilation steps which uses the AVR gcc compiler toolset in the background. However this still wasn&#8217;t good enough for me and I searched out the Amtel official programming tools &#8211; AVR Studio.</p>
<p>I&#8217;m currently using AVR Studio V5.0 and trialing V5.1 beta.  V5.0 has a bug with linking libraries when using the C++ project template, but this can be quickly fixed using a manual makefile.  I&#8217;ve created a usefull set of libs that allow me to program LCDs, 16 key keypads, pushbuttons and other stuff.   These are all the subject of a future post.  V5.1 I&#8217;m giving a spin &#8211; its fixed the C++ library linking problem but has broken the serial monitor window, but I&#8217;ve only been using it for 2 day.</p>
<p>All in all, I&#8217;m going to have a lot of tinkering with the Arduino&#8217;s and AVR Studios.  This is looking good so far.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Using AVR Studio 5]]></title>
<link>http://maxembedded.com/2011/06/12/using-avr-studio-5/</link>
<pubDate>Sun, 12 Jun 2011 10:37:53 +0000</pubDate>
<dc:creator>Mayank</dc:creator>
<guid>http://maxembedded.com/2011/06/12/using-avr-studio-5/</guid>
<description><![CDATA[Embedded C welcomes you! Hello folks! Now that you are aware of the different port operations in AVR]]></description>
<content:encoded><![CDATA[Embedded C welcomes you! Hello folks! Now that you are aware of the different port operations in AVR]]></content:encoded>
</item>
<item>
<title><![CDATA[What do we need to get started?]]></title>
<link>http://maxembedded.com/2011/06/07/what-do-we-need-to-get-started/</link>
<pubDate>Mon, 06 Jun 2011 22:44:02 +0000</pubDate>
<dc:creator>Mayank</dc:creator>
<guid>http://maxembedded.com/2011/06/07/what-do-we-need-to-get-started/</guid>
<description><![CDATA[Hello and welcome! In my previous post Basics of Microcontrollers, we came across some of the elemen]]></description>
<content:encoded><![CDATA[Hello and welcome! In my previous post Basics of Microcontrollers, we came across some of the elemen]]></content:encoded>
</item>
<item>
<title><![CDATA[Menyalakan Led - AVR Studio Cara 3 - Assembly]]></title>
<link>http://mohsodq1608.wordpress.com/2011/03/11/menyalakan-led-avr-studio-cara-3-assembly/</link>
<pubDate>Fri, 11 Mar 2011 14:39:58 +0000</pubDate>
<dc:creator>Mohamad Sodiq</dc:creator>
<guid>http://mohsodq1608.wordpress.com/2011/03/11/menyalakan-led-avr-studio-cara-3-assembly/</guid>
<description><![CDATA[Pada posting sebelumnya yaitu pada cara 1 &amp; cara 2, digunakan bahasa c, sedangkan pada cara 3 me]]></description>
<content:encoded><![CDATA[Pada posting sebelumnya yaitu pada cara 1 &amp; cara 2, digunakan bahasa c, sedangkan pada cara 3 me]]></content:encoded>
</item>
<item>
<title><![CDATA[Menyalakan Led - AVR Studio Cara 2]]></title>
<link>http://mohsodq1608.wordpress.com/2011/03/03/menyalakan-led-avr-studio-cara-2/</link>
<pubDate>Thu, 03 Mar 2011 01:00:12 +0000</pubDate>
<dc:creator>Mohamad Sodiq</dc:creator>
<guid>http://mohsodq1608.wordpress.com/2011/03/03/menyalakan-led-avr-studio-cara-2/</guid>
<description><![CDATA[Sebelumnya sudah di bahas tentang menyalakan led cara 1, berikut ini adalah source code yang lain: #]]></description>
<content:encoded><![CDATA[Sebelumnya sudah di bahas tentang menyalakan led cara 1, berikut ini adalah source code yang lain: #]]></content:encoded>
</item>
<item>
<title><![CDATA[Menyalakan Led - AVR Studio Cara 1]]></title>
<link>http://mohsodq1608.wordpress.com/2011/03/02/menyalakan-led-avr-studio-cara-1/</link>
<pubDate>Wed, 02 Mar 2011 13:16:44 +0000</pubDate>
<dc:creator>Mohamad Sodiq</dc:creator>
<guid>http://mohsodq1608.wordpress.com/2011/03/02/menyalakan-led-avr-studio-cara-1/</guid>
<description><![CDATA[Dalam membuat program untuk menyalakan led secara bergantian menggunakan bahasa c dengan AVR Studio]]></description>
<content:encoded><![CDATA[Dalam membuat program untuk menyalakan led secara bergantian menggunakan bahasa c dengan AVR Studio]]></content:encoded>
</item>
<item>
<title><![CDATA[AVR studio 与Proteus的联调]]></title>
<link>http://tangzhiyong.wordpress.com/2010/11/07/avr-studio-%e4%b8%8eproteus%e7%9a%84%e8%81%94%e8%b0%83/</link>
<pubDate>Sun, 07 Nov 2010 01:33:00 +0000</pubDate>
<dc:creator>Tang Zhiyong</dc:creator>
<guid>http://tangzhiyong.wordpress.com/2010/11/07/avr-studio-%e4%b8%8eproteus%e7%9a%84%e8%81%94%e8%b0%83/</guid>
<description><![CDATA[最近研究keil与Proteus的联调，突然想，如果用avr studio会怎么？会不会很复杂？结果答案是否定的，用avr studio与proteus联调非常的简单。 AVR studio 新建pr]]></description>
<content:encoded><![CDATA[<p>最近研究keil与Proteus的联调，突然想，如果用avr studio会怎么？会不会很复杂？结果答案是否定的，用avr studio与proteus联调非常的简单。</p>
<p>AVR studio 新建project以后，在wizard中直接可以选择调试平台，如下图：</p>
<p><a title="Proteus debug plug-in in AVR studio" href="http://cid-1eb3bebc11e222f7.photos.live.com/self.aspx/Blog%20Pics/avrstudio.jpg"><img src="http://public.blu.livefilestore.com/y1pOKn06Q4cSYNAAZhknnyWdBXhskX5BB8g2wDU2xdcxskhi0hK7pOZdSzhAeMa9MGM6i3jbIL6bWliD9LTIA3kFQ/avrstudio.jpg?psid=1" width="240" height="143" /></a></p>
<p>余下的事情，你懂的。</p>
<p><img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://tangzhiyong.files.wordpress.com/2010/11/wlemoticon-smile.png" /></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Bus Pirate STK500v2 AVR programmer firmware]]></title>
<link>http://dangerousprototypes.com/2009/11/21/bus-pirate-stk500v2-avr-isp-firmware/</link>
<pubDate>Sat, 21 Nov 2009 16:16:51 +0000</pubDate>
<dc:creator>Ian</dc:creator>
<guid>http://dangerousprototypes.com/2009/11/21/bus-pirate-stk500v2-avr-isp-firmware/</guid>
<description><![CDATA[Here&#8217;s an alternate firmware for the Bus Pirate that clones an STK500 programmer for AVR micro]]></description>
<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-2445" title="MPLAB-avrstudio" src="http://wherelabs.files.wordpress.com/2009/11/mplab-avrstudio.jpg?w=450&#038;h=303" alt="" width="450" height="303" /></p>
<p><a href="http://code.google.com/p/the-bus-pirate/downloads/detail?name=AVR-STK500-v2-clone-v0a.zip">Here&#8217;s an alternate firmware</a> for the <a href="http://dangerousprototypes.com/bus-pirate-manual/">Bus Pirate</a> that clones an <a href="http://en.wikipedia.org/wiki/Atmel_AVR#STK500_Starter_Kit">STK500</a> programmer for AVR microcontrollers. We ported the GPL&#8217;d source from Guido Socher&#8217;s <a href="http://www.tuxgraphics.org/electronics/200510/article05101.shtml">AvrUSB500</a> ATMEGA8-based programmer to the PIC.</p>
<p>The firmware should work with any applications that support the STK500 v2 protocol. We used it to program the <a href="http://dangerousprototypes.com/2009/11/16/prototype-christmas-card-ornament/">Hackable Christmas card&#8217;s</a> ATtiny13A from the latest version of <a href="http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=2725">AVR Studio</a>. You could also use it for things like programming the bootloader into an Arduino.</p>
<p>You can buy the <a href="http://www.seeedstudio.com/depot/preorderled-christmas-card-ornament-kit-p-573.html">Hackable Christmas card</a> ($12 kit, <a href="http://www.seeedstudio.com/depot/preoerderled-christmas-card-ornament-assembled-p-574.html">$15 assembled</a>) and <a href="http://www.seeedstudio.com/depot/preorder2-bus-pirate-v3-assembled-p-523.html">the Bus Pirate v3</a> ($30, assembled with shipping) at Seeed Studio.</p>
<p>More about using the programmer, and it&#8217;s limitations, after the break.</p>
<p><!--more--><strong>Firmware swap</strong></p>
<p>The STK500 firmware (vx-STK500-vx.hex) is a replacement for the normal Bus Pirate firmware. Bootload it to the Bus Pirate using your <a href="http://dangerousprototypes.com/bus-pirate-manual/">normal upgrade procedure</a>. You can change back to the regular Bus Pirate firmware at any time.</p>
<p><strong>Connection table</strong></p>
<table border="0">
<tbody>
<tr>
<td><strong>Bus Pirate</strong></td>
<td><strong>AVR ISP</strong></td>
</tr>
<tr>
<td>MOSI</td>
<td>MOSI</td>
</tr>
<tr>
<td>CLK</td>
<td>SCK</td>
</tr>
<tr>
<td>MISO</td>
<td>MISO</td>
</tr>
<tr>
<td>CS</td>
<td>/RESET</td>
</tr>
<tr>
<td>Ground</td>
<td>Ground</td>
</tr>
<tr>
<td>3.3v/5v</td>
<td>Vcc (optional)</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Notes</strong></p>
<p>The v0a release has a few limitations:</p>
<ol>
<li>Power supplies are always on. Use them if you like, or not.</li>
<li>Pin output is currently fixed at 3.3volts. The Bus Pirate pins are 5volt tolerant, but we haven&#8217;t tested it with a target running at 5volts &#8211; it may or may not work, but it shouldn&#8217;t damage the Bus Pirate.</li>
<li>Extremely slow programming modes may not work, the lowest programming speed is 30KHz (the fastest is 1MHz).</li>
<li>It&#8217;s unlikely that STK500 compatibility will be integrated into the main Bus Pirate firmware. It would be tough to get all the different modes to play well together. For now we&#8217;ll release it as a separate firmware.</li>
<li>Tested on v3 hardware, others untested.</li>
<li><span style="text-decoration:underline;"><em>V2go and v3 hardware use the same firmware.</em></span></li>
</ol>
<p>The image at the top shows MPLAB running the PIC microcontroller in debug while AVR Studio connects to it in in the background. You can also see a live display of serial communication on Portmon in the middle.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Getting started with AVRs]]></title>
<link>http://odinhg.wordpress.com/2009/07/11/getting-started-with-avrs/</link>
<pubDate>Sat, 11 Jul 2009 20:39:01 +0000</pubDate>
<dc:creator>odinhg</dc:creator>
<guid>http://odinhg.wordpress.com/2009/07/11/getting-started-with-avrs/</guid>
<description><![CDATA[Introduction If you have no experience with microcontrollers, programming or basic electronics, I re]]></description>
<content:encoded><![CDATA[<h2>Introduction</h2>
<p>If you have no experience with microcontrollers, programming or basic electronics, I recommend that you check out <a href="http://arduino.cc" target="_blank">Arduino</a> before starting with AVRs.</p>
<p>Getting started with AVRs is not that expensive or time consuming as you might think, but you should have some basic electronics skills, and some programming experience will make things much easier.</p>
<p>In this guide, I&#8217;ll use the following hardware.</p>
<blockquote><p>-AVR ISP MKII clone (~$20-30 from eBay)</p>
<p>-A simple developement board with an ATMega128 ($25 from ebay)</p></blockquote>
<p>The ISP (In System Programming) programmer is used to program the chip via USB (or RS232 on older versions)</p>
<p>On the software side, I&#8217;ll use AVR Studio 4 with WinAVR under Windows XP. If you&#8217;re using linux or mac check out this guides: <a rel="nofollow" href="http://www.ladyada.net/learn/avr/setup-mac.html">Mac</a>,<a rel="nofollow" href="http://www.ladyada.net/learn/avr/setup-unix.html"> Linux/Unix</a>.</p>
<p><!--more--></p>
<p style="text-align:center;"><a href="http://0o2471.net//10540.jpg"><img class="aligncenter" title="Developement Board ATMega128" src="http://0o2471.net//10540.jpg" alt="" width="400" height="300" /></a>The developement board I&#8217;m using</p>
<p style="text-align:center;"><a href="http://0o2471.net//10541.jpg"><img class="aligncenter" title="AVR ISP MKII Clone" src="http://0o2471.net//10541.jpg" alt="" width="400" height="300" /></a>The AVR ISP MKII clone</p>
<h2 style="text-align:left;">Installing the software under Windows</h2>
<p style="text-align:left;">First we&#8217;ll need to download and install the latest version of <a title="AVR Studio" href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725" target="_blank">AVR Studio from Atmel&#8217;s website</a>, which is the <a title="IDE" href="http://en.wikipedia.org/wiki/Integrated_development_environment" target="_blank">IDE</a> we&#8217;re going to use.</p>
<p style="text-align:left;">When you&#8217;ve done that, download and install <a title="WinAVR" href="http://sourceforge.net/project/downloading.php?group_id=68108&#38;filename=WinAVR-20090313-install.exe&#38;a=60793636" target="_blank">WinAVR from sourceforge</a>, which contains the C/C++ compiler and other developement tools.</p>
<p style="text-align:left;">You might need to install USB drivers for your ISP programmer. Most ISP Programmers comes with a CD containing all the drivers you need.</p>
<p style="text-align:left;">That&#8217;s all software you&#8217;ll need!</p>
<p style="text-align:left;">
<h2 style="text-align:left;">The DDRx, PORTx and PINx registers</h2>
<p style="text-align:left;">It&#8217;s important to understand what these registers is, and how you use them. So don&#8217;t skip this step!</p>
<p style="text-align:left;">The pins on AVRs can be used for diffrent things, some of them I2C,  other PWM and some can be used for Analog input depending on the type of AVR you&#8217;re using. But almost all the I/O pins can be used for digital inputs and outputs.</p>
<p style="text-align:left;">I/O pins on AVRs are grouped in something called ports. Often 8 by 8 pins for each port. Each of these ports have a DDRx, PORTx and a PINx register. <strong>The x is the letter of the port the register belongs to.</strong></p>
<p style="text-align:left;"><strong>The DDRx register</strong></p>
<p style="text-align:left;">DDR stands for Data Direction Register and controls which pins on the ports that should be inputs and which pins that should be outputs.</p>
<p style="text-align:left;">I made a illustration to make it easier to understand how DDR is used.</p>
<p style="text-align:left;"><a href="http://0o2471.net//10550.jpg"><img class="alignnone" title="DDR" src="http://0o2471.net//10550.jpg" alt="" width="281" height="250" /></a></p>
<p style="text-align:left;">1 means output, and 0 means input. In other words, pin 0,4,5 and 7 is inputs and pin 1,2,3 and 6 is outputs.</p>
<p style="text-align:left;">
<p style="text-align:left;"><strong>The PORTx register</strong></p>
<p style="text-align:left;">The PORTx register controls the output pins. So if you write 11111111 to the PORTx register, it will make all pins which is set as outputs in DDRx go high. But when writing 1 in the PORTx to a pin set as a input in DDRx, it will activate the internal <a title="Pull-up resistor" href="http://en.wikipedia.org/wiki/Pull-up_resistor" target="_blank">pull-up resistor</a> on that pin.</p>
<p style="text-align:left;">
<p style="text-align:left;"><strong>The PINx register</strong></p>
<p style="text-align:left;">The PINx register is used to read the current state of inputpins.  So if all pins in the port is set as inputs, and you give give them 5Volts, the PINx register will be 11111111.</p>
<p style="text-align:left;">
<p style="text-align:left;">These register might be hard to understand, but when you start to code and see how it works in action you&#8217;ll get it if you haven&#8217;t already.</p>
<p style="text-align:left;">
<p style="text-align:left;">Most people are using hexadecimal numbers when they&#8217;re writing to the registers, but in the beginning it&#8217;s okey to use binary numbers. Just remember to use 0b11111111 when using binary numbers in C, and 0xFF when useing hexadecimal numbers.</p>
<p style="text-align:left;">
<h2 style="text-align:left;">Writing the code</h2>
<p>Finally, the fun part!</p>
<ol>
<li>Open AVR Studio</li>
<li>You&#8217;ll see a dialog pop up, choose &#8220;New Project&#8221;</li>
<li>Select &#8220;AVR GCC&#8221; as &#8220;Project Type&#8221;, since we&#8217;re going to write in C, not assembly</li>
<li>Give the project a name like &#8220;MyFirstAVRProject&#8221; or something</li>
<li>Click &#8220;Next&#8221;</li>
<li>Select &#8220;AVR Simulator 2&#8243; under &#8220;Debug Platform&#8221; and the chip you are using under &#8220;Device&#8221;. In my case, Atmega128</li>
<li>Click &#8220;Finish&#8221;</li>
</ol>
<p>Now, we can write the basic structure of the program.</p>
<p style="text-align:left;">
<pre class="brush: cpp; title: ; notranslate" title="">
#include &lt;avr/io.h&gt;

int main(){
    while(1){
        //Main program loop
    }
}
</pre>
<p>First we are including the io header file, which contains port definitions and more. Then we&#8217;re opening</p>
<p>the main function, and creates a infinitive loop where the program should be.<br />
Now we can try to compile it and transfer it to the AVR to make sure everything is working as it should.</p>
<p>Go to<em> &#8220;Build &#62; Build&#8221;</em> or press F7 to build the project. This will compile the code, and give us a hex-file with machine code the AVR can understand.</p>
<p><a href="http://0o2471.net//10554.jpg"><img class="alignnone" title="Build AVR Studio" src="http://0o2471.net//10554.jpg" alt="" width="413" height="233" /></a></p>
<p>No errors? Good, let&#8217;s transfer it to the AVR. Go to <em>&#8220;Tools &#62; Program AVR &#62; Connect&#8221;</em>, select<em> &#8220;STK500 or AVRISP&#8221;</em> as Platform, <em>&#8220;Auto&#8221;</em> as port and press <em>&#8220;Connect&#8221;</em>.</p>
<p>Go to the <em>&#8220;Main&#8221;</em>-tab and select the chip you&#8217;re using and click <em>&#8220;Read Signature&#8221;</em>. If you got contact with the AVR you&#8217;ll se 3 hexadecimal numbers.</p>
<p><a href="http://0o2471.net//10549.jpg"><img class="alignnone" title="AVR Signature" src="http://0o2471.net//10549.jpg" alt="" width="280" height="300" /></a></p>
<p>Now we can upload the hex-file we compiled. Go to the <em>&#8220;Program&#8221;</em>-tab.</p>
<p><a href="http://0o2471.net//10557.jpg"><img class="alignnone" title="Program AVR" src="http://0o2471.net//10557.jpg" alt="" width="282" height="300" /></a></p>
<p>Click the button marked blue on the image above and select the hex file which you can find in <em>&#8220;&#60;ProjectName&#62;\default&#8221;</em> and press open.</p>
<p>Note:  Remeber to choose the hex-file for the current project, this is easy to forget, and can drive you crazy.</p>
<p>Now, click <em>&#8220;Program&#8221;</em>. If everything went as it should, the text box under will show something like this:</p>
<blockquote>
<pre>Getting isp parameter.. SD=0x01 .. OKOK
Reading FLASH input file.. OK
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH ..      OK!
Reading FLASH ..      OK!
FLASH contents is equal to file.. OK
Leaving programming mode.. OK!</pre>
</blockquote>
<p>Now we can write a program which does something.</p>
<p>I have 8 LEDs on port C, if you use a other port change the letter of DDRC and PORTC to the port you&#8217;re using.</p>
<pre class="brush: cpp; title: ; notranslate" title="">

#define F_CPU 16000000    //Clock frequency

#include &lt;avr/io.h&gt;
#include &lt;util/delay.h&gt;       //Header for the _delay_ms() function

int main(){
     DDRC = 0xFF;        //Set all the pins at port C as outputs (11111111 binary)
     PORTC = 0x00;     //Set all the pins at port C low (00000000 binary)
     int count = 0;         //This is the current value

      while(1){
          _delay_ms(500);     //Wait 500ms
          PORTC = count++;  //Set port C to the current value of count and increase count with 1
          if(count&gt;=255)        //If count is greater than or equal 255 (0xFF)
         count = 0;                   //Set count to 0
     }
}

</pre>
<p>This program will count from 0 to 255 with 500ms delay and display the number binary by using the LEDs.</p>
<p>First we write 0&#215;00 to PORTC which is 00000000 in binary. All LEDs off. Then we wait 500ms, increase with 1 again and again until it reach 255 which is the max value 8 LEDs can show (2^8 -1).</p>
<p>I&#8217;ve commented the code, so it should be hard to understand what&#8217;s going on. Build the project, and program the AVR as we did in the previous step and it should begin counting from 0 to 255 forever.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/p7pis0TqkSQ?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>Good sites and communities:</p>
<p><a rel="nofollow" href="http://www.avrfreaks.net/">AVRFreaks (Good forums, and lots of projects to check out)<br />
</a></p>
<p><a rel="nofollow" href="http://www.sparkfun.com/">SparkFun (Buy electronics)<br />
</a></p>
<p><a rel="nofollow" href="http://www.atmel.com/dyn/Products/app_notes.asp?family_id=607">Atmel Application Notes 8-Bit RISC (Application notes from Atmel)<br />
</a></p>
<p><a rel="nofollow" href="http://www.engbedded.com/fusecalc">AVR Fuse Calculator (Good fuse calculator for AVRs)<br />
</a></p>
<p>If you have questions, feel free to post a comment.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Think Robot]]></title>
<link>http://bk2sq1.wordpress.com/2008/12/13/rm/</link>
<pubDate>Sat, 13 Dec 2008 13:51:57 +0000</pubDate>
<dc:creator>ashwin1ao</dc:creator>
<guid>http://bk2sq1.wordpress.com/2008/12/13/rm/</guid>
<description><![CDATA[Robots have long fascinated all of us.  The age of electronics has spawned a new generation of amate]]></description>
<content:encoded><![CDATA[<p><!--[if gte mso 9]&#62;  Normal 0       MicrosoftInternetExplorer4  &#60;![endif]--> Robots have long fascinated all of us.  The age of electronics has spawned a new generation of amateur inventors and robot enthusiasts. If you too dream of building a robot but dont know how to start off , this site is just for that. Building a perfectly working robot takes a lot of time, thought and money. Here I will just show you how to take the first step.</p>
<p>We will deal with the control system, the most defining part of a robot. I&#8217;ll teach you how to build a small sensory circuit and a bit of programming.</p>
<p><span style="text-decoration:underline;">THE MICROCONTROLLER</span></p>
<p>Say hello to the brain of your robot! Its a microchip kinda thing that you can program using your own computer. Here I&#8217;ll be teaching you how to use one (just  scratch the surface). For more information just google!</p>
<p><span style="text-decoration:underline;">THE ATMEL AVR</span></p>
<div id="attachment_102" class="wp-caption alignleft" style="width: 154px"><a href="http://bk2sq1.files.wordpress.com/2008/12/mega81.jpg"><img class="size-full wp-image-102" title="ATmega8" src="http://bk2sq1.files.wordpress.com/2008/12/mega81.jpg?w=144&#038;h=144" alt="The ATmega8 Microcontroller" width="144" height="144" /></a><p class="wp-caption-text">The ATmega8 Microcontroller</p></div>
<p>The most popular of the microcontroller series developed by Atmel is the AVR. There are lot of types to choose from. Here I&#8217;ll show you the ATmega8 microcontroller and the programming using WinAVR( for windows os only).</p>
<p>The choice of ATmega is according to your needs. ATmega8 has 8kb of flash memory and 8bit RAM. Its cheap and effecient hence I&#8217;ll be using it here.</p>
<p><span style="text-decoration:underline;">PREREQUISITES</span></p>
<p>First the shopping list you need to take to the hardware store.</p>
<ul type="disc">
<li class="MsoNormal">Bread board</li>
<li class="MsoNormal">resistors 1k, 10k, 270 ohm,      150 ohm etc(buy a set of each)</li>
<li class="MsoNormal">capacitor- 1uF</li>
<li class="MsoNormal">connecting wires and clipper</li>
<li class="MsoNormal">a couple of 20milliamp leds,      colors of your choice.</li>
<li class="MsoNormal">5 and 6 volt dc voltage      regulator</li>
<li class="MsoNormal">9V batteries</li>
<li class="MsoNormal">comparator</li>
<li class="MsoNormal">some infrared leds</li>
<li class="MsoNormal">a IR photodetector</li>
<li class="MsoNormal">multimeter( a handy tool)</li>
<li class="MsoNormal">potentiometer</li>
<li class="MsoNormal">male parallel port socket</li>
<li class="MsoNormal">soldering iron, soldering      wire and flux</li>
<li class="MsoNormal">and last but not least the ATmega8      microcontroller</li>
</ul>
<p>A lot of stuff but trust me it wont cost you too much.</p>
<p><span style="text-decoration:underline;">Other Requirements</span></p>
<ul type="disc">
<li class="MsoNormal">A PC with a parallel port      running on Windows OS</li>
<li class="MsoNormal">Software- <a title="WinAVR" href="http://winavr.sourceforge.net/download.html">WinAVR</a> and <a title="AVR Studio" href="http://www.atmel.no/beta_ware/">AVR      Studio</a>. Click to download.</li>
</ul>
<p><span style="text-decoration:underline;">Know Abouts</span></p>
<ul type="disc">
<li class="MsoNormal">Familiarity with C programming and basic circuits.</li>
<li class="MsoNormal">how to solder wires.</li>
</ul>
<p>If your comps running on mac or linux the respective software compatible with your system can be downloaded from net. But here I&#8217;ll be showing you only how to use WinAVR.</p>
<p><span style="text-decoration:underline;">LETS GET IT STARTED!</span></p>
<p>Click on the links below.</p>
<p><a title="step 1" href="http://bk2sq1.wordpress.com/2008/12/13/step1/">Step 1:</a> Introduction to the componts. ATmega8, bread board, comparator and voltage regulator.</p>
<p><a title="step 2" href="http://bk2sq1.wordpress.com/2008/12/13/step2/">Step 2:</a> Using AVR Studio.</p>
<p><a title="step 3" href="http://bk2sq1.wordpress.com/2008/12/13/step3/">Step 3:</a> Getting the microcontroller- parallel port interface ready.</p>
<p><a title="step 4" href="http://bk2sq1.wordpress.com/2008/12/13/step4/">Step 4:</a> Programming the microcontroller</p>
<p><a title="step 5" href="http://bk2sq1.wordpress.com/2008/12/13/step5/">Step 5:</a> Building a simple sensor circuit</p>
<p><a title="step6" href="http://bk2sq1.wordpress.com/2008/12/13/step6/">Step 6:</a> Giving input to the microcontroller</p>
<h4>One good link to check out <span style="color:#3366ff;"><strong><a title="avr freaks" href="http://www.avrfreaks.net/">avrfreaks.net</a></strong></span></h4>
<p>Thank you for checking out my blog and I hope it was of some help to.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Using AVR Studio]]></title>
<link>http://bk2sq1.wordpress.com/2008/12/13/step2/</link>
<pubDate>Sat, 13 Dec 2008 13:50:16 +0000</pubDate>
<dc:creator>ashwin1ao</dc:creator>
<guid>http://bk2sq1.wordpress.com/2008/12/13/step2/</guid>
<description><![CDATA[Iinstall AVR Studio on your computer. Open  start menu-&gt; AVR Studio-&gt; New Project option-&gt;]]></description>
<content:encoded><![CDATA[<p>Iinstall AVR Studio on your computer. Open  start menu-&#62; AVR Studio-&#62; New Project option-&#62; AVR GCC, give Project name -&#62; click next-&#62; Choose AVR Simulator option -&#62; search for ATmega8 on the right side coloumn-&#62;Click on finish.</p>
<p>Now you may write your code. Its basically a C program.</p>
<p>Here is a sample program.</p>
<p>#include&#60;avr/io.h&#62;                      //to include all files of the library                      #include&#60;avr/delay.h&#62;</p>
<p>main()</p>
<p>{</p>
<pre>   DDRB=0XFF;              //declares PORT B as output
   PORTB=0X00;             //makes all the pins of PORT B low
while(1)               //infinite loop
{
 _delay_ms(400);  //lib function causes a delay of 400ms in the circuit
 PORTB=0XFF;      //makes all pins of PORT B high.
 _delay_ms(400);
 PORTB=0X00;
}
}</pre>
<p>What this program does is simple. It causes all the pins of PORTB( refer diagram of ATmega8 ) to switch between high and low voltage at regular intervals ie if you connect a led at an of the pins of PORTB it&#8217;ll start blinking.</p>
<p>the pins are indicated by hexadecimal notation. For example</p>
<pre>PORTB= 0X01 means that only pin 0 of PORT B will be in high state an rest in low
similarly 0X02 means only pin 2 will be high and the rest low
0X03- pins 0 and 1 will be high
0X04- pin 2 will be high only
0X08- pin 3 will be high
.....so on and so forth.
 Before we give a value to a PORT we must declare whether it is an
input or an output port first hence we use the term
DDRC=0XFF; for declaring all pins as output pins of PORTC
DDRC=0X00; for declaring all pins as input pins of PORTC
DDRC=0X01; declares only the first pin as output rest as input.</pre>
<p><img class="aligncenter size-full wp-image-46" title="using AVR Studio 4" src="http://bk2sq1.files.wordpress.com/2008/12/stdio.jpg?w=480&#038;h=301" alt="using AVR Studio 4" width="480" height="301" /></p>
<p>Once you are done with writing the code go to build in the main menu and choose build and run. If the program is free of errors it will run the simulator. Here by pressing F10 you can check the output of each and every line indicated by an arrow.  On the right window named I/O View click on PORTB option where it will show you the status of each of its pins.</p>
<p>Now you are ready to burn your program onto the microcontroller.</p>
<p><a title="step 3" href="http://bk2sq1.wordpress.com/2008/12/13/step3/">Onto Step3</a></p>
<p><a title="step 1" href="http://bk2sq1.wordpress.com/2008/12/13/step1/">Go back one Step</a></p>
<p><a title="main page" href="http://bk2sq1.wordpress.com/2008/12/13/rm/">Back to Main Post</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mengapa Lego Mindstorms NXT Education?]]></title>
<link>http://samuelchristiantjahyadiweb.wordpress.com/2008/10/31/mengapa-lego-mindstorms-nxt-education/</link>
<pubDate>Fri, 31 Oct 2008 14:58:07 +0000</pubDate>
<dc:creator>samuel4121994</dc:creator>
<guid>http://samuelchristiantjahyadiweb.wordpress.com/2008/10/31/mengapa-lego-mindstorms-nxt-education/</guid>
<description><![CDATA[Banyak sekali produk robot untuk pendidikan yang ada di pasaran, terutama produk impor. Pertanyaanny]]></description>
<content:encoded><![CDATA[<p><img class="alignleft" style="margin:5px 10px;" src="http://nextsys.web.id/site/images/stories/RobotLego.jpg" alt="" width="165" height="165" />Banyak sekali produk robot untuk pendidikan yang ada di pasaran, terutama produk impor. Pertanyaannya, dari sekian banyak pilihan pilihan produk impor yang ada, mengapa memilih Lego Mindstorms NXT Education untuk pembelajaran robotika? Mengapa tidak disarankan untuk memilih produk impor lain?</p>
<p>Pertama, ada kata Education dalam Lego Mindstorms NXT Education. Ini berarti, produk ini memang diperuntukkan bagi pendidikan. Seluruh komponen dan software yang disediakan, sudah mendukung sejumlah projek dalam konteks pembelajaran, langkah demi langkah, mulai dari yang sederhana hingga kompleks.</p>
<p>Kedua, perusahaan Lego sendiri sudah lama eksis dan mendunia, terutama di dunia anak-anak, dengan produk Lego Bricks yang sangat terkenal. Jadi, mereka yang sudah mengenal Lego, pasti tidak akan kesulitan saat membangun robot dengan set Mindstorms NXT, mengingat mayoritas komponennya adalah Lego Technic. Dengan demikian, komponen dari Lego Technic pun bisa digunakan untuk menyempurnakan robot yang dibuat. Untuk mereka yang memerlukan tahapan pra robotik, disediakan sejumlah pilihan set untuk kebutuhan tersebut.</p>
<p>Ketiga, Lego Mindstorms NXT Education merupakan produk yang digunakan sebagai referensi oleh Microsoft dalam mengembangkan produk Microsoft Robotics Studio.</p>
<p>Keempat, institusi pendidikan tinggi ternama, seperti Carnegie Mellon University, yang sangat terkenal dengan jurusan robotika-nya, mengembangkan kurikulum dan materi pembelajaran berdasarkan Lego Mindstorms NXT Education.</p>
<p>Kelima, Lego Mindstorms NXT Education dapat diprogram dengan berbagai bahasa pemrograman. Dengan NXT-G yang sederhana berbasis grafis, NXC yang mirip Bahasa C, RobotC yang 100% Bahasa C, Bahasa Java, dan yang lainnya.</p>
<p>Keenam, sebelum memasuki Lego Mindstorms NXT Education, Lego sudah menyediakan sejumlah produk untuk pembelajaran persiapan. Dengan mengikuti langkah ini, anak-anak yang masih kecil pun dapat memasuki dunia robotik dengan lancar dan menyenangkan. Jadi, ada learning path yang jelas sejak awal pembelajaran.</p>
<p>Ketujuh, Next System Robotics Learning Center menyediakan local support, serta memberikan garansi resmi dan diakui secara nasional, atas setiap komponen elektronik Lego Mindstorms NXT Education yang dijualnya.</p>
<p>Kedelapan, Next System Robotics Learning Center menyelenggarakan pelatihan yang sarat dengan muatan edukasi dalam berbagai program / kelas pelatihan yang diselenggarakannya, mulai dari tingkat Sekolah Dasar hingga Perguruan Tinggi, mulai dari anak usia 8 tahun hingga orang dewasa.</p>
<p>Kesembilan, Next System Robotics Learning Center memiliki sumber daya manusia (SDM) yang berkualitas dan berpengalaman dalam bidang pendidikan dan teknologi, sehingga dapat memberikan dukungan yang optimal terhadap pembelajaran robotika dengan Lego Mindstorms NXT Education.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mengapa High Level Language ?]]></title>
<link>http://samuelchristiantjahyadiweb.wordpress.com/2008/10/12/mengapa-high-level-language/</link>
<pubDate>Sun, 12 Oct 2008 13:18:28 +0000</pubDate>
<dc:creator>samuel4121994</dc:creator>
<guid>http://samuelchristiantjahyadiweb.wordpress.com/2008/10/12/mengapa-high-level-language/</guid>
<description><![CDATA[Kembali ke era kegelapan dari mikroprosesor, dimana pengembangan software dilakukan secara eksklusif]]></description>
<content:encoded><![CDATA[<p>Kembali ke era kegelapan dari mikroprosesor, dimana pengembangan software dilakukan secara eksklusif dengan bahasa assembly yang spesifik dari divais tertentu. Bahasa assembly ini menggunakan mnemonic sebagai pengganti dari kode numerik bahasa mesin. Untuk menuliskan 0&#215;12 0&#215;07 0xA4 0x8F yang akan memerintahkan chip untuk memasukkan sebuah nilai ke sebuah lokasi memori, kita dapat menuliskannya demikian dengan bahasa assembly: MOV 22, MYBUFFER+7.</p>
<p>Program assembler akan menerjemahkan perintah tersebut ke dalam kode mesin. Saya pernah menulis kode dalam bahasa mesin sewaktu kuliah dulu, dan percayalah saat saya mengatakan bahwa bahasa assembly merupakan langkah maju dalam upaya meningkatkan produktivitas. Namun, bahasa assembly untuk sebuah piranti terikat dengan piranti tersebut.</p>
<p>Sulit untuk menjadi mahir di dalam bahasa assembly karena ketika mikrokontroler yang dimaksud kadaluarsa atau hilang dari pasaran, maka apa yang kita pelajari pun menjadi mubazir. Bahasa assembly merupakan bahasa dengan tujuan tertentu yang hanya bekerja pada chip tertentu. Bila kita menguasai bahasa assembly untuk chip Motorola, tidak secara otomatis kita akan menguasai bahasa assembly untuk chip Zilog. Bagaimana dengan bahasa tingkat tinggi? Seperti Bahasa C misalnya?</p>
<p>Bahasa tingkat tinggi umumnya dikembangkan untuk tujuan umum, untuk pemakain secara luas. Bahasa C merupakan salah satu bahasa tingkat tinggi yang banyak diminati. Sekali kita belajar C, kita dapat berpindah dengan mudah diantara keluarga mikrokontroler, menulis software dengan lebih cepat dan kode yang dibuat lebih mudah dimengerti dan di-maintain. Namun harus dicatat, mikrokontroler yang dimaksud harus memiliki C compiler yang ditulis untuknya. Kita bisa membuat program dalam bahasa C untuk mikrokontroler AVR, bila tersedia C compiler untuk AVR.</p>
<p>Saat ini, tidak sulit mencari C compiler untuk mikrokontroler yang beredar di pasaran, walaupun harus sedikit menunggu untuk chip-chip keluaran terbaru. Satu produk C Compiler open source yang banyak diminati adalah WinAVR, yang dapat diunduh dari <a href="http://sourceforge.net/projects/winavr" rel="nofollow">http://sourceforge.net/projects/winavr</a>. WinAVR dapat diadaptasikan ke dalam AVR Studio IDE yang memiliki GCC plug-in.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Initial Forays]]></title>
<link>http://jamespollock.wordpress.com/2008/07/18/initial-forays/</link>
<pubDate>Fri, 18 Jul 2008 09:06:39 +0000</pubDate>
<dc:creator>JP</dc:creator>
<guid>http://jamespollock.wordpress.com/2008/07/18/initial-forays/</guid>
<description><![CDATA[I&#8217;ve had my first tinker around with AVR Studio 4, and it looks to be an excellent IDE so far.]]></description>
<content:encoded><![CDATA[<p>I&#8217;ve had my first tinker around with AVR Studio 4, and it looks to be an excellent IDE so far. Of course it&#8217;s been about 5 years since I&#8217;ve had to touch any assembler before, and just getting some simple stuff like a register to add and decrement is strangely exciting. Especially when you can &#8216;out&#8217; that register to a port and see the value being reflected on the I/O pins. Cool stuff! I&#8217;m halfway to a square wave generator already!</p>
<p>I also received my STK500 in the mail, now I just need to pick up some other equipment like a bench power supply, probably a basic multi-meter, a breadboard and wires. Might want to get a packet of LED&#8217;s, some switches and resistors and the like. I have vivid memories of burning through microcontrollers when I first played around with this stuff as I didn&#8217;t tie their pins down with some kind of resistance. Sinking current straight to ground? Bad move apparently&#8230; not so much if you feel like cooking some eggs on your micro.</p>
]]></content:encoded>
</item>

</channel>
</rss>
