Month: August 2013

Be an unreasonable person

“The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.”
— George Bernard Shaw

How to control any infrared device using Arduino

If you want to control your TV, Ar-conditioner or any other device that uses a infrared remote control using an Arduino, then you need to know this project:

http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html

The source code is available at github:
https://github.com/shirriff/Arduino-IRremote

NOTE: This tip could be used for people looking for Timer/TPM programming for Freescale Kinetis: https://community.freescale.com/thread/309444

Controlling a LED strip using a Lilypad board

I’m using this example to control my LED strip:
http://bleaklow.com/2012/12/02/driving_the_ws2811_at_800khz_with_a_16mhz_avr.html

Just download the source code from here:
http://sourceforge.net/p/abavr/lib/ci/21a95bf1f6c437cac414e8efb0c80558e5c369db/tree/WS2811/

Compile it using the tips from this site:

$ avr-gcc -g -Wall -Os -fno-inline-small-functions -fno-split-wide-types -mshort-calls -mmcu=atmega328p -DF_CPU=16000000L threepixeldemo.c -o led -std=c99

Generate the Intel HEX file:

$ avr-objcopy -j .text -j .data -O ihex led led.hex

Flash it on your board:

# avrdude -p m328p -c usbasp -e -U flash:w:led.hex

Connect the VCC and GND to your board and to LED strip. Then connect the IN wire from LED strip to Lilypad pin label 8.

UPDATE: This guy implemented a PWM to control this WS2811 LED strip: http://techblog.zenrobotics.com/2013/04/bit-banging-ws2811-led-strips-with-pwm.html

UPDATE2: Nice tutorial to getting started with AVR and GCC: http://www.micahcarrick.com/tutorials/avr-microcontroller-tutorial/getting-started.html