Showing posts with label AVR projects. Show all posts
Showing posts with label AVR projects. Show all posts

Monday, 20 February 2012

LED Cube 8x8x8



 8x8x8  LED Cube


Here we are going to see a wonderful led cube and its awesome displays

LED Cube 8x8x8





SEE THE VIDEO



Reade more >>

Tuesday, 13 December 2011

MAKE A 24X6 LED MATRIX


Make a 24X6 LED matrix














This is a simple project that says how to build a 24x6 led matrix. It is very easy to do this work with low cost and with less period. Because all the components are available for us.  Let’s try for a while…
The steps are given below..





Make a 24X6 LED matrix







Make a 24X6 LED matrix







Step 1Getting All The Right Things

Getting All The Right Things



Getting All The Right Things

So there will need the basic set of tools for this project : a soldering iron, some solder wire, a cutter, a needle nosed plier,some wire, wire striper, and some desoldering tools etc..

For the matrix the listed components are needed:


For the matrix you will:
1. 144 LEDs
2. 24 resistors( The value is determent by the type of LEDs, in my case 91 ohm)
3. 4017 decade counter
4. 6 1KOhm resistors
5. 6 2N3904 transistors
6. A long Perfboard
7. Arduino
8. 3 x 74HC595 shift register
10. some pin headers

Step 2How it works?


How it works?





The tricky behind the display is multiplexing and the idea is the same as withe the 8x10 LED matrix: It is basically a way to split information in to little peaces and send it one by one.
this way you can save a lot of pins on the Arduino and keep your program quite simple.

                        Now this time we have 3 shift registers which multiply the number of outputs and save lots of arduino pins. Each shift register has 8 outputs and you only need 3 arduino pins to control almost an limited numbers of shift registers.
                        We also use the 4017 decade counter to scan the rows, and you can scan up to 10 rows with it because you have only 10 outputs but to control it you need only 2 pins. The 4017 is a very useful chip and it's a good idea to know how to work with it. Like the scanning is done with the 4017, by connecting one row at a time to ground and sending the right data via the shift registers to the columns.


Step 3:

Schematics


Schematics



Schematics

Schematics


Schematics



The only thing didn't specified in the schematics is the value of the current limiting resistors because they change from each type of LEDs, so it will need to calculate them by ourself.

                        First there should get some specs on the LEDs, we should know their forward voltage and forward current, these informations are get from the seller. The circuit operates on 5V so the  Source voltage is 5V.

                        There is a added a PCB layout of the control board. It will be very helpful for us.


Step 4:

Soldering The LEDs


Soldering The LEDs




Soldering 144 LEDs in a matrix formation can be a little tricky. It is very tough to solder by using lots of wire jumpers. So the above showing methods are more creative to do this.
 
                        It is need to bend the positive lead of the LED down towards the other ones and make a column, and snip off the leads that didn't use and try to make the connections as low as we can get, and can be done this to all of the positive leads.

                        Now the negative leads are connected in a column and thats make soldering tricky because the positive rows are in the way, so it will need to make a 90 degrees bend with the negative lead and make a bridge over the positive row to the next negative lead, and so on to the next LEDs. It is very easy to solder the shift registers and all the parts because every one has hes own style and methods.


Step 5:

Programming The Display


Programming The Display


Now the only thing thats left is the program. So far there are two programs for it that do pretty much the same thing. In the program that gets a word or a sentence from the arduino IDE serial monitor and displays it on the matrix, the code is very basic and may be not the best in the world but it does the work, and it is free to write our own code and modify mine as we wish.

In the excel file we can create our own symbols and characters.
The way it works is like so:
First create the symbol that want  pixel by pixel(don't worry it's very easy) and copy the output line like so - #define {OUTPUT LINE}.



Thus the work had done successfully. Now the 24x6 LED is ready to work.


Make a 24X6 LED matrix

Reade more >>

SCROLLING DISPLAY SIMULATION USING PROTEUS



PROTEUS SIMULATION OF MOVING MESSAGE DISPLAY USING 89C52

Hi this is my next good one for you , this is a simplified schematic diagram of  scrolling message display using 89c52 it is very simple in construction and it is cost effective for your scrolling message display circuit to watch the video please click here







-->






-->














-->


-->






to download the hex code click here


Reade more >>

Friday, 21 October 2011

ATMEL AVR USB Programmer and Rapid Prototyping Board




PICKIT2 clone



pickit2 components

pickit2 with case
PICKIT 2 is simple but powerfull programmer/debugger for Microchip microcontrollers. First firmware/software version was able to debug only one type of microcontrollers, but currently (May 2008) compatibility list is nearly as reach as for ICD2. With latest software package new gadgets were added: simple 3-channel logic analyzer and UART console. Price of original device is also very low.

PICKIT2 scheme (pdf)
Scheme + PCB (Eagle Light)




Tips:
  • After opening .brd file ground plane probably will not be visible - you will see only cut-off polygon (dotted line). Enter "ratsnest" in command line to generate ground plane.
  • To get a printout suitable for PCB etching click View, Display/Hide layers and select (only) layers: Bottom, Pads, Vias, Dimension, Holes, centerDrill.
  • Software and firmware is available at Microchip website. Search for "PICkit 2 v2.55.01 Setup B.zip" or similar archive. Hex file will be copied to application directory. To load firmware for the first time you will need another programmer with ICSP plug, i.e. COM84, connect it to ICSP connecter at the PCB center. Later firmware upgrades will use USB bootloader, so you will probably not need another programmer later.
Revision history:
  • 2008.10.24 Corrected swapped A0 and A2 address pins of EEPROM IC1 (thanks to Achira)
Problems found:
  • LM358 is not a rail-to-rail operational amplifier and if you are experiencing problem vith voltage calibration try to replace it with preferably MCP6002 or similar,
  • target circuit can not draw more than 25 mA; if I try to debug PIC18F4550 with USB on, high core clock, only one LED connected without external power supply I get message "PK2Error 0024 PICkit2 was unable to establish Vdd on the target. (Attempted 5.00V - Read 0.00V),"
  • to debug another circuit I had to configure fusebits (configuration bits) manually in source code (watchdog OFF, LVP OFF); with default fusebits or when I let MPLAB PICKIT 2 plugin to change them debugging failed with message "PK2Error 0028 Unable to enter debug mode" (example for PIC18F2550).
PIC, PICkit2, ICD2 and others are registered trademarks of Microchip, Inc.

Reade more >>

AVR USB programmer

This is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega8 and a few passive components. The programmer uses a software USB driver, no USB controller is needed.


Features:
  • Programs most AVR microcontrollers
  • Works under multiple platforms. Linux, Mac OS X and Windows are tested.
  • No special USB controllers or smd components are needed.
  • Programming speed is up to 5kBytes/sec.
  • Works with the programming software AVRDude



Reade more >>

Thursday, 20 October 2011

ATMEL AT89SXX ISP Flash SERIAL Programmer v1.4




HI   Welcome to the world of Microcontrollers,here  first thing you need is a Device Programmer. This In System Programmer use RS232 (serial port)  for communication. 
Hardware
Figure 1 shows  the  Block diagram of the in-system programmer interface,  the programmer can be self powered or target powered it depends on how you plan to use it.





-->




Figure 1:   Block Diagram of the ISP Programmer

Figure 2  shows  the  actual circuit  diagram. The Programmer has just two ICs. IC1 = AT89C2051, IC2 = MAX 232. Few Resistors, LEDs, capacitors etc. The value of the crystal is critical and must be 11.0592 MHz.  



-->



Firmware.

Assemble the circuit and burn the firmware into an AT89C2051(you will need a conventional parallel Programmer to Program the AT89C2051).

Software

The Software is a Windows GUI application and supports all programming functions. When you run the software for the first time it looks for a valid programmer on COM1. If the Programmer is connected to say COM2 you will receive an error message but when the application starts select Options->Settings on the Menu and specify the correct COM Port.
Following are the main features of this software,







  • Device Supported - AT89S51, AT89S52, AT89S8252, AT89S8253.











  • Read and write  Intel Hex files.











  • Chip Erase.











  • Verify.











  • Lock.











  • Read Device Signature.











  • Advanced Device Specific Functions.










  • Download


    AT89SXX ISP Flash Programmer Software   ISP_PROG v1.4.zip
    Firmware for AT89C2051             Firmware v1.4.zip.
    Reade more >>

    USBasp PCB


    USBasp PCB



    Hi in this post i would like to share one of my reference about usb programmer
    PCB for amazing AVR programmer with software USB implementation. For detailed description, firmware package and license information look at Thomas Fischl's USBasp webpage.
    Note: I have some problems with long USB cable connection: device doesn't work so well if it's connected to front-side USB socket of my PC - I have to connect it to back panel. Probably cable length is critical - I recommend use 1,8m or shorter USB cable.


    Latest hardware version - files modified 17.04.2008 - added 2 3V6 Zener diodes for better compatibility with some motherboards
    Approximate speed (ATmega32@Really short manual in Polish
    electrical scheme
    routing scheme (mirrored bottom side)
    assembly scheme (four 0805 capacitors with mirrored partname are located at bottom side)
    additional .eps routing file4.9152MHz, file size = 8366B): FLASH programming 3.15kB/s, FLASH reading 4.85kB/s.
    2006.03.17: avrdude-gui (754kB zip) with added usbasp option (sourcecode v0.2.0 and binary, dev-c++ 4.9.9.2-wx-beta-6.8). Thomas Fischl's patched avrdude included.
    2006.04.06 WinAVR project template available.
    2006.05.24 Added info about wrong signature reading and device programming error with low microcontroller operating frequency (i.e. RC 1MHz, just like default for ATmega8) - use jumper 3 in this case.


    2006.12.21 Some modifications to avrdude-gui, avrdude-gui_v0.2.1.zip (652kB):
    • corrected command line for writing fuses (0xAB:m format),
    • "-F Verify the device signature" description changed to "Override signature check"
    • changed component displaying output from wxlistctrl to memo: auto-scrolled, no long line cut, mouse text selection,
    • removed "terminal mode" checkbox,
    • slightly compacted UI,
    • format comboboxes: changed to read-only
    • changed some fonts to courier new (useful i.e. with avrdude verbose output),
    • changed output for readed fuses values from "con" to "[fusename].dat"; I don't think con output has any effect.
    2006.01.03 I had problems with usbasp.2006-09-16.tar.gz + avrdude 5.2, but latest usbasp.2006-12-29.tar.gz with avrdude 5.3.1 seems to work fine. Here is avrdude 5.3.1 compiled for win32 (Cygwin).
    Notice: I undefined HAVE_LIBHID macro, so there could be problem with AVR-Doper programmer if you'd like to use this.
    Notice 2: cygusb0.dll required by avrdude binary made with cygwin = libusb0.dll or libusb.dll, just rename it and place in avrdude or (better) system directory.
    2007.06.22 Added Avrdude 5.4 win32/cygwin (zip 569kB), compiled with default options. If you'd like to build this release on your own, upgrade libusb library package to 0.1.12.1 (avrdude bug #19889).
    2007.12.15 Added Avrdude 5.5 win32/cygwin (zip 558kB) and cygusb0.dll.
    2009.03.18 Added Avrdude 5.6 win32/cygwin (zip 528kB). Notice: if avrdude shows message about not finding device with VID = 0x16C0, PID = 0x05DC but you can see usbasp under device manager and it's VID/PID pair is the same as required by avrdude, update libusb driver to 0.1.12.1 version. You can find both this and older driver version inside usbasp.2009-02-28.tar.gz archive.
    2009.05.10 Added file avrdude_5_6_r815.7z (7-zip 316kB) - avrdude 5.6 z with patch fromRevision 815.
    Using usbasp 2009-02-28 firmware this avrdude version allows to select SPI frequency during programming by -B spi_delay option. SPI frequencies have discrete values, avrdude selects SPI period to value near to requested spi_delay microseconds.
    With small modification in default avr-gcc makefile this version allows fast programming of "fresh" MCUs that have default RC 1MHz clock without touching SCK jumper. If you are loading firmware to more than a few AVR boards in a row than you will definitely this usefull:
    AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
    AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
    AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
    # added:
    AVRDUDE_SCK_FLAGS = -B 5
    ...
    # Program the device.  
    program: $(TARGET).hex $(TARGET).eep
     # Set LFUSE, HFUSE to switch to fast MCU clock,
     # i.e. crystal (low SPI frequency is used)
     $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_SCK_FLAGS) \
     $(AVRDUDE_WRITE_HFUSE) $(AVRDUDE_WRITE_LFUSE)
     # Program MCU using fast SPI clock
     $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_LOCK)
        
    2009.08.17 Added Avrdude 5.8 win32/cygwin (zip 250kB, debug symbols stripped - smaller executable, giveio and .conf included in archive, cygusb0.dll 0.1.12.1 required).
    2010.04.11 Added Avrdude 5.10 win32/cygwin (zip 263kB, debug symbols stripped - smaller executable, giveio and .conf included in archive, cygusb0.dll 0.1.12.1 required).
    * New devices supported:
          - AVR32A0512 (JTAGMKII only)
          - ATmega32U4
          - ATtiny4
          - ATtiny5
          - ATtiny9
          - ATtiny10
      * New programmers supported:
          - BusPirate
          - Arduino
          - JTAGICEmkII and AVR Dragon in PDI mode (ATxmega devices)
          - STK600 and AVRISP mkII in TPI mode (ATtiny4/5/9/10)  
      * Bugfixes
          - see ChangeLog and ChangeLog-2009 for details          
        
    2011.03.23 Added step-by-step compilation description for avrdude / MinGW+MSYS
    USBasp1.jpg USBasp2.jpg
    Reade more >>

    STK200/STK300 with long cable


    STK200/STK300 with long cable

    From my experience some problems with STK200/300 programmer could be solved by adding additional capacitor to minimize SCK line ringing (line with fastest state changing). You can find more suggested programmer modifications at avrfreaks.net.STK200/300 poprawka
    Reade more >>

    USB programmer for Atmel AVR controllers


     USB programmer for Atmel AVR controllers


    USBasp Foto

    USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega88 or an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.

    Features

    • Works under multiple platforms. Linux, Mac OS X and Windows are tested.
    • No special controllers or smd components are needed.
    • Programming speed is up to 5kBytes/sec.
    • SCK option to support targets with low clock speed (< 1,5MHz).
    • Planned: serial interface to target (e.g. for debugging).

    Download

    Firmware and circuit

    The following packages include circuit and firmware.
    usbasp.2011-05-28.tar.gz (519 kB) TPI support (upcoming release of avrdude will use it), supports programmers with ATMega88 and ATMega8.
    usbasp.2009-02-28.tar.gz (260 kB)
    usbasp.2007-10-23.tar.gz (172 kB)
    usbasp.2007-07-23.tar.gz (176 kB)
    usbasp.2006-12-29.tar.gz (118 kB) Supports programmers with ATMega48 and ATMega8.
    usbasp.2006-09-16.tar.gz (116 kB) New VID/PID!
    usbasp.2005-11-14.tar.gz (175 kB)
    usbasp.2005-07-03.tar.gz (166 kB)
    usbasp.2005-04-21.tar.gz (169 kB)

    Please refer to Readme.txt for details on building, installing and using USBasp.

    Drivers

    On Linux and MacOS X no kernel driver is needed. Windows requires a driver for USBasp:
    usbasp-windriver.2011-05-28.zip (70 kB)

    Software

    Hardware

    Schematic







    please post your comments


    Reade more >>

    Wednesday, 19 October 2011

    AVR serial programmer

    Simple AVR serial programmer





















    Finished programmer




    Reade more >>

    ATmega103 / ATmega128 adapter

    atmega.gif (19724 byte)

    ATmega103 / ATmega128 connect diagram to base board
    Note that this AVR don't use MISO, MOSI pins for SPI programming, instead use PE0, PE1
    Reade more >>

    AVR microcontroller adapter


    AVR microcontroller adapter
    avr20p.gif (5732 byte)


    AVR 20 pin (AT90S1200, AT90S2313) connection diagram


    avr40p.gif (9281 byte)


    AVR 40 pin (AT90S4414, AT90S8515) connect diagram to base board




    avr8p.gif (4403 byte)






    AVR 8 pin (AT90S2323, AT90S2343, ATtiny12) connect diagram to base board
    Reade more >>

    adhitz

    Twitter