Monday, July 22, 2013

AVR Atmega MAX7219 7-segment / led matrix display driver library

Updated to version 03

The MAX7219/MAX7221 are compact, serial input/output common-cathode display drivers that interface microprocessors to 7-segment numeric LED displays of up to 8 digits, bar-graph displays, or 64 individual LEDs.



MAX7219 prevents the use of microprocessor resorces, indeed all the logic to drive LED drivers is built inside this small IC.
This library use 3 ports to control MAX7219 ic. It can control more than one ic, without the need of SPI. User can setup scan limit, intensity and other parameter of the ic.



Setup parameters are stored in file max7219.h

This library was developed on Eclipse, built with avr-gcc on Atmega8 @ 1MHz.


Changelog

  • added atomic enabler on shift out function
  • added get status functions
  • first version

Code

Notes
  • read risk disclaimer
  • excuse my bad english

Sunday, July 14, 2013

Mi Chiamavo Eva

This times is not about electronics, it'a about my brand new album!


You can listen to, and download it for free here: http://www.jamendo.com/it/list/a123309/mi-chiamavo-eva

This is the album website: http://michiamavoeva.altervista.org/

Below a video from one of the album songs.



It's all played, recorded, mixed and mastered by me.

I would like to thanks all the peaple who help me in developing this project, the "EvaGomma", Fausto and Mauro, Teo Cava, Teo Ellio and Elena.
Also thanks to Dave Pensado's http://www.pensadosplace.tv/, there I've found so many helpfull lessons that improved my mixing skills.

Monday, July 8, 2013

An AVR Atmega LCD Menu builder library

Updated to version 02

lcdmenu1 is a simple and small lcd menu builder for AVR Atmega.



It works with only 4 buttons (up, down, right, left), additional buttons can be added.
It can also store values to eeprom


User can use button up and down to list menu categories, right and left to browse child and parent.
If an item is selected, the right button makes the menu enter in edit-mode.
In this mode button up and down changes the item value, left exit without save to eeprom, right exit and save to eeprom.
The menu costructor is based upon Dean Camera micro-menu. It works on 2x16 lcd using the Peter Fleury lcd library for HD44780, but it can also be change to fit other lcd resolution.
It is test on 2x16 HD44780 device, sample code is provided.

The main function is the builder function:

lcdmenu1_makemenu(name, next, prev, parent, sibling, selectfunc, enterfunc, exitfunc, text);
name is the name of the menuitem
next is the pointer to next menuitem
prev is the pointer to the prev menuitem
parent is the parent of the menuitem
sibling is the child of the menuitem
enterfunc is the function to be called when user enter this menuitem
exitfunc is the function to be called when user exit this menuitem
text is the text view on lcd for the menuitem

The sample  code provided build menu item, menu folder, menu subfoder.


This library was developed on Eclipse, built with avr-gcc on Atmega8 @ 8MHz.


Code

Notes
  • read risk disclaimer
  • excuse my bad english

Tuesday, July 2, 2013

AMT1001 humidity and temperature sensor library for AVR Atmega

The AMT1001 is a Resistive-type humidity and temperature sensor/module.


It can detect humidity from 20 to 90 %RH with and accurancy of +-5%RH.
Temperature sensing is built using an NTC thermistor.




This library here implements a way to get humidity and temperature data from this sensor.
Setup parameters are stored in file amt1001.h

Humidity conversion formula is based upon graph 1 of the datasheet (see below).


Temperature conversion it is based upon the Beta Model Equation, given the know beta printed above the amt1001 sensor.
Also two Open Office helpers are provided to built the lookup table used for ADC to temperature conversion and for beta estimation from points.

This library was developed on Eclipse, built with avr-gcc on Atmega8 @ 1MHz.


Code

Notes
  • read risk disclaimer
  • excuse my bad english