This projects gives you a simple wav player with help of the MMC card connected to ATmega32. You can use any AVR microcontroller.
The MMC card works on 3.3v so a 3.3v regulator is used and the 5v to 3.3v level conversion is done by the combination of resistors. The LF33CV is used for the 3.3v regualtor.
The code is written for 1GB card and if you want to change then you need to change the line number 98 in the program. Now the line is "Test = 512 * 7800" you need to change this 7800 for other value of MMC card.
An 11.05Mhz crystal is used so you have to select the external high frequency crystal at the fuse bits.
The LM386 forms an audio amplifier which amplifies the audio signal. There are 3 buttons on the circuit and they are S1 for start/stop, S2 for Forward and S3 for reverse.
Circuit Diagram
Downloads
Bascom Code
Thursday, May 19, 2011
Wednesday, May 18, 2011
Tuesday, May 17, 2011
Optical Mouse Sensor
I had a cheap optical mouse sitting around where one of the wires had broken, and wanted to do something with it.
The vast majority of the sensor chips in optical mice are made by Avago. The chip in my particular mouse was labeled A1610. Looking at the other datasheets on their site, I found that the ADNS-2610 sensor had a similar pinout and features to my mystery device. The sensor is an 18x18 pixel device, with 6-bit (64-level) greyscale output. Each pixel is 1/200" and images are acquired at 1500 frames per second.
Optical mice have a low-resolution high-speed greyscale camera in them. The sensor chip contains this camera, along with a processor. This processor acquires images and determines in what direction the micro-scale features beneath the mouse are moving. It passes this data off to another processor which periodically produces the signals necessary to communicate the updates back to the computer it is plugged in to.
To tap in to the sensor chip, I cut through the data traces connecting the sensor to the interface processor. This allowed me to solder wires directly on to the pins of the sensor device. I then connected the sensor to an Atmel AVR microcontroller. I then wrote AVR code which talked to the sensor directly, extracting the raw sensor pixel and movement data and sending it back to a computer via serial port.
This particular sensor is a very low-end model. The frame rate back to the PC is on the order of 5 frames per second. Also, each pixel has to come from an individual frame, and thus a large amount of motion blur is introduced. Combining the image data with offsets returned from the actual mouse functions of the device produces a crude handheld scanner, but the lag and blur make it very difficult to use. With a higher-end sensor, much better performance should be easily obtainable.
The vast majority of the sensor chips in optical mice are made by Avago. The chip in my particular mouse was labeled A1610. Looking at the other datasheets on their site, I found that the ADNS-2610 sensor had a similar pinout and features to my mystery device. The sensor is an 18x18 pixel device, with 6-bit (64-level) greyscale output. Each pixel is 1/200" and images are acquired at 1500 frames per second.
Optical mice have a low-resolution high-speed greyscale camera in them. The sensor chip contains this camera, along with a processor. This processor acquires images and determines in what direction the micro-scale features beneath the mouse are moving. It passes this data off to another processor which periodically produces the signals necessary to communicate the updates back to the computer it is plugged in to.
To tap in to the sensor chip, I cut through the data traces connecting the sensor to the interface processor. This allowed me to solder wires directly on to the pins of the sensor device. I then connected the sensor to an Atmel AVR microcontroller. I then wrote AVR code which talked to the sensor directly, extracting the raw sensor pixel and movement data and sending it back to a computer via serial port.
This particular sensor is a very low-end model. The frame rate back to the PC is on the order of 5 frames per second. Also, each pixel has to come from an individual frame, and thus a large amount of motion blur is introduced. Combining the image data with offsets returned from the actual mouse functions of the device produces a crude handheld scanner, but the lag and blur make it very difficult to use. With a higher-end sensor, much better performance should be easily obtainable.
- Optical Mouse Sensor
RFID Tags Detector, RFID sniffer
This simple analog electronic circuit can detect the presence of 13.56 MHz RFID tags that used by all plastic cards like access badges, bank cards, library cards, loyalty cards. Also many other objects like books, toys, or clothing that may carry RFID tags without you knowing it.
Carrying tagged objects with you can show your identity or whereabouts to anyone equipped with the appropriate tools to read RFID tags. RFID sniffer helps you to find out whether an object is tagged or not. The circuit is easy to build. No MCU is needed, just op-amp, transistor and passive components.RFID sniffer is available as open-source. If you want to build it, you can download schematic (eagle) and gerber file here
Carrying tagged objects with you can show your identity or whereabouts to anyone equipped with the appropriate tools to read RFID tags. RFID sniffer helps you to find out whether an object is tagged or not. The circuit is easy to build. No MCU is needed, just op-amp, transistor and passive components.
AVR Sketch Board
The project is an electronic version of an Etch-A-Sketch toy for kids. It can electronically emulate every function of the original. The system use Hyundai HG225504 LCD as screen which displays 256 pixels wide and 128 pixels high. Instead of a complex mechanical rail and pulley system to control the X and Y movement, Etch-A(vr)-Sketch uses 10-turn potentiometers. To erase any text and drawing on the screen, user need to shake the device. The system has been equipped with piezoelectric accelerometer to accomplished this task.
The heart of system uses AVR ATmega16 Microcontroller. This includes digital IO for use with the LCD control and data busses, a 16-bit timer used to pace the system, the internal oscillator used to clock the system, and the A to D converters used to monitor the 10-turn potentiometers and the accelerometer. Even the hardware multiplier was used to speed up some calculations. The firmware was developed in C using WinAVR compiler. The Etch-AVR-Sketch project is designed by Greg Cloutier for US.
The heart of system uses AVR ATmega16 Microcontroller. This includes digital IO for use with the LCD control and data busses, a 16-bit timer used to pace the system, the internal oscillator used to clock the system, and the A to D converters used to monitor the 10-turn potentiometers and the accelerometer. Even the hardware multiplier was used to speed up some calculations. The firmware was developed in C using WinAVR compiler. The Etch-AVR-Sketch project is designed by Greg Cloutier for US.
AVR Based Basic Calculator
The purpose of the project is to build a basic calculator based on microcontroller ATMEGA32. It uses 4×4 matrix keyboard as input device with a 74C922 decoder. This decoder generates an interrupt through External Interrupt INT0 every time a key is pressed. The result of calculation displayed on 16×2 LCD.
MCU firmware is written in C language and is compiled using WinAVR. Basic math calculator project is designed by Jaime Andres Arteaga. Download : source code
MCU firmware is written in C language and is compiled using WinAVR. Basic math calculator project is designed by Jaime Andres Arteaga. Download : source code
Monday, May 16, 2011
ATtiny2313
- High-performance and Low-power RISC Architecture
- 120 Powerful Instructions – Most Single Clock Cycle Execution
- 32 x 8 General Purpose Working Registers
- Data and Non-volatile Program and Data Memories
- 2K Bytes of In-System Self Programmable Flash
- 128 Bytes In-System Programmable EEPROM
- 128 Bytes Internal SRAM
- Programming Lock for Flash Program and EEPROM Data Security
- One 8-bit Timer/Counter with Separate Prescaler and Compare Mode
- One 16-bit Timer/Counter with Separate Prescaler, Compare and Capture Modes
- Four PWM Channels
- On-chip Analog Comparator
- Programmable Watchdog Timer with On-chip Oscillator
- Universal Serial Interface
- Full Duplex USART
- In-System Programmable via SPI Port
- External and Internal Interrupt Sources
- Low-power Idle, Power-down, and Standby Modes
- Enhanced Power-on Reset Circuit
- Programmable Brown-out Detection Circuit
- Internal Calibrated Oscillator
- 18 Programmable I/O Lines
- 20-pin PDIP, 20-pin SOIC, 20-pad QFN/MLF
Details can be found
http://www.atmel.com/dyn/resources/prod_documents/doc2543.pdf
Inertial GPS with an ATMega 128
Details can be found
http://courses.cit.cornell.edu/ee476/FinalProjects/s2005/amn32/476final/index.htm
Using the AVR Analog-Digital Converter
- This tutorial will show on how to do an analog-digital conversion with AVR microcontroller.
- AVR will receive data from the it's serial port.
- Then the AVR does a Analogue to digital conversion on channel 0.
- Then transmits the results back via the serial port in ascii hex.
http://www.opend.co.za/tutorials/avrtut5.htm
USB programmer for Atmel AVR controllers (USBasp)
- One of simple design that most wanted by microcontroller player nowdays especially students.
- It is a USB in-circuit programmer for Atmel AVR controllers.
- It simply consists of an ATMega48 or an ATMega8 and a couple of passive components.
- The programmer uses a firmware-only USB driver.
- No special USB controller is needed.
Features :
- 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).
http://www.fischl.de/usbasp/
Subscribe to:
Posts (Atom)