Showing posts with label avr. Show all posts
Showing posts with label avr. Show all posts

Sunday, May 25, 2008

Updates with Pictures!


I decided to upload several pictures to show what exactly my little area looks like. I keep my soldering stuff off to the side, since what I mainly do deals with plug in prototyping and breadboarding. I realize my area is messy, but I do get things done.



This is my desk's electronics section, situated to the right of my computer. Since most of what I do involves interfacing the computers to program the microcontrollers, it works out to be a great spot. I'm thinking about putting a table next to my desk, but my parents probably won't like that idea. As you can see, my power supply is still being used to its fullest, making that $50 investment so worth it. You can also see my programmer and my STK500 and some paperwork.


Heres a closer shot of my microcontroller, GLCD, and the power supply. As you can tell it is extremely messy with wires, but as far as I'm concerned if they are connected right then why bother wasting time neatening it up. As you can see there is a Slurpee positioned right next to a power supply and sensitive electronics. I did not put that there, and I only realized it was there after I started taking pictures.


Here is the JTAGICEMKII that I bought recently. This thing is amazing, and was totally worth the investment. In fact, the debugger came in real handy earlier.

Just thought I'd include a picture of the STK500 since it is lying right next to the JTAGICEMKII. On the far right you'll see the header that connects to the JTAGICEMKII, which is very nice for quick programming and debugging.


And finally, a picture of my GLCD in action. Unfortunately when moving all the equipment for the electronics lab renovations at my college I forgot to backup all the programs onto my flash drive. I spent today redoing the entire program, and was able to make a better version of it. I next want to make it go through images like a slideshow, and that will require use of the PROGMEM feature of the AVR to prevent each picture from being loaded directly into RAM upon startup. Each 128x64 pixel monochrome image takes up 1024 bytes, or a quarter of the RAM.

Well, there it is, my work area. It isn't much, but it will be much once I get the STK600. I can't wait to move onto more advanced areas such as GPS, Wireless communication, Color GLCDs and 32 Bit processors.

Saturday, May 24, 2008

Just received the JTAGICEMKII!


I am the proud new owner of the new JTAGICEMKII! I consider it to be a present to myself for taking up this job. It was very expensive, but very awesome. You could look at it as an investment, since its use covers nearly all the AVR devices. This thing both programs and debugs in real-time. When running AVR Studio 4 you simply choose the jtagicemkii as your debugger platform and the rest is done automatically. Instead of the usually debugging which is done all in a simulator on your computer, this thing works in real time single stepping through your program and displaying each step on your microcontroller. I am just amazed at this thing. No more worrying about whether or not it will run correctly after loading the entire thing onto the flash. With this I can manually guide the microcontroller through its functions and see for myself what is going on (instead of hoping that a 50mS blip of port changes worked correctly). I'm thinking about buying myself one more toy over the summer, the STK600. The STK600 will allow me to expand my options to the SMD world, and give me access to the AVR32 line of microcontrollers. I definitely want to have a good go at trying 32 bit processors, especially since I have a programmer (the jtagicemkii) that will work for the AVR32. This programmer/debugger cost me about $300, and the STK600 costs $200, not including the two socket adapters I'd buy for it. All together I'll probably need to spend $400 on it to get the best selection, opening up my options to most of the ATMegas, the CAN AVR, the AVR32 Flash microcontrollers, and finally I expect it to come with the TQFP-100 socket allowing me access to the ATXMegas coming out soon. Is it worth the investment? Well, $700 for the ultimate AVR setup should be worth it.

The only reason I'm planning on getting all this stuff is that it does dramatically aid my education in the field I am majoring in (Computer Engineering). Knowing this stuff will give me an edge over other people. On top of that, it seems as though I may be working more than I originally expected. Lately I have been working full time hours, and have been working late and through my lunch. This all equates to cash that I can use for both school and my personal hobbies. To put it simply, this past week more than covered the cost of the device I'm using now. I'm still saving the majority for school, but buying things like the jtagicemkii gives me an incentive to work and grows my hobby options. The unfortunate drawback to working is that it heavily cuts into my hobby time. I figure if I'm going to sacrifice so much time for work, I might as well make up for it. Hopefully my boss hires another part-timer so I can have more time for my personal work. I love my job, but it is taking up so much time.

Monday, March 24, 2008

Learning C Programming


I've decided to take up learning C for the AVR 8-bit microcontroller. Although I enjoy programming in ASM, larger scale projects require C programming. I suppose the LCD program was a wake up call as to how useful C programming is. I wanted to create a function in C that would output a string to the LCD display. Essentially I wanted to be able to type LCDPrint("Testing!"); and have "Testing!" appear on the display. After a few days working with C, I came up with a simple program that does just that. Arrays are fabulous for just this type of thing, and this was a great chance to learn the language.

Mr. Harrill, my electronics professor, has requested a project on outputting a keyboard to a LED display. I plan on interfacing the keyboard to an LCD display and then having that output go to the larger LED displays. This LCD program I made is the first step in that process. Since I don't want to have a large bundle of wires going to every LED controller or setting up extra hardware such as shift registers on the LED end, I need to work on doing USART communication between microcontrollers, and also interfacing with a keyboard. The keyboard seems to be quite easy, since I could probably setup an interrupt based system where it reads the bit value after each clock pulse. USART will be used simply because it's easy to use and is supported by nearly all AVR microcontrollers. I wish I had more time to work on all this, I barely had time to setup the LCD program. As stated earlier, classes, in this case macroeconomics, are crowding up my free time. Anyways, attached in this post is the program to interface with the 2x16 character LCD.

EDIT: Oh and did I mention I got a new job at the college?

LCD Interfacing Program: http://salgat.googlepages.com/LCDInterface.zip