Just For Fun: What's your simplest overkill/lame app?

Go To Last Post
25 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I had a need for an "IR remote control signal repeater" to enable the operation
of several pieces of A/V equipment now hidden behind the doors of some new
cabinets. The local video store would be happy to fix me up for only $250.00!
(Oh Boy!) Well, I had a couple Tiny12 chips that were ophaned by the arrival
of the newer Tiny13, and my obsessive/compulsive nature dictated that one
must be used for something. Two Avr port pins would easily drive two pairs of
IR leds, and a salvaged IR receiver module provided the data input. Sofware
timing is used to drive four salvaged leds at 36 khz when the receiver output goes
true. Total size of the assembly language program: 37 words. Total cost: $1.50.
In spite of the fact that this function could be accomplished with two transistors,
two capacitors and a couple resistors, the Avr solution still seemed more elegant
and satisfying 8-)

This little project made me wonder what other sorts of very simple, silly, overkill,
or even lame applications other "Freaks" may have come up with to *actually
solve* a real world problem, as opposed to just idle or educational tinkering.

I have attached my source code for all to use and enjoy!

Tom Pappano
Tulsa, Oklahoma

Attachment(s): 

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, I once wanted to make a nice little indoor water fountain with a bit of LED lighting. Then I thought it would be really cool, if it slowly changed colours. Before I knew it, I've made a huge AVR program, that produced 16 non-linear PWM outputs, and a script interpreter. The most totally overkill way of making some LEDs light up, I've ever seen.
Have a look at it here:
http://www.ejberg.dk/ledfade2/index.html

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am very interested in accomplishing the same ir repeater function, but have little experience with the avr except smokey's c guide to butterfly. What would the circuit look like? Sorry for the very newbie question, but I guess I have to start somewhere. Thanks.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I built a microprocessor board with triacs to control the entryway light. If someone walked thru the front gate (microswitch on the latch) the light would come on for 15 seconds. If someone opened the front door the light would come on for 30 seconds, unless the light was already on, in which case it would be 10 seconds after the door was closed. The light stays on as long as the door stays open.

e.g. If you came in the gate, the light would go out in 15 seconds unless you opened the door, but if you came out the door and thru the gate you got more time.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

A light chaser: A microprocessor controls 3 or 4 Solid State Relays (depending on DIP switch setting) at various speeds (depending on DIP switch setting). Pattern controlled by more switches.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

A Tiny2313 as a hex retriggerable monostable. A low-to-high transition on any input causes a 10us low pulse on the corresponding output, 100us later. If the input goes low again before the 100us is expired the pulse is cancelled.

It may be overkill, but it's not lame. It replaces six IC packages, 12 caps and 24 resistors, uses one eighth of the board area and is a quarter the cost. I could actually get 9 monostables in the same package by using the crystal and reset pins as ports.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So Peret,

It sounds to me like you are doing noise filtering, or switch debouncing with your little device. Is this correct? If so, what is its intended purpose? And if not, What function does it replace?

You can avoid reality, for a while.  But you can't avoid the consequences of reality! - C.W. Livingston

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Microcarl,

Actually it's monitoring six serial channels that are feeding FTDI FT2232 USB serial devices. The function is to pulse the "send immediate" line when there's a break in the serial stream, to defeat the time-out.

I do have another Tiny2313 on the same board doing switch debouncing - its only function is to monitor and latch switch closures until the main CPU gets round to interrogating it. But that CPU gets to work quite hard and has lots of code to play with, whereas the one-shot is so bored it gets suicidal.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Peret,

Actually, you have given me a good idea concerning the "Debounce idea. Add a littls input protection and the surface mount version of the ATtiny 3213 would save a lot of board space if it were done in hardware, It would gree up a little code too, not to mention other problems that ocur when trying to debounce inputs in software.

Thanks!

You can avoid reality, for a while.  But you can't avoid the consequences of reality! - C.W. Livingston

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That would be the ATtiny 2313 uC... A little dislexia, you think?

You can avoid reality, for a while.  But you can't avoid the consequences of reality! - C.W. Livingston

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Many interesting examples from all!

Quote:
I am very interested in accomplishing the same ir repeater function, but have little experience with the avr except smokey's c guide to butterfly. What would the circuit look like? Sorry for the very newbie question, but I guess I have to start somewhere. Thanks.

The circuit is very simple. In my example, a generic 3-pin IR receiver module's (salvaged from
a dead TV set) data output is connected to PB2. The module's other two pins go to +5 and
ground. PB0 and PB1 are used as outputs to switch the ground legs of two pairs if IR leds, two
on PB0, two on PB1. Each led has a current limiting resistor of 200 ohms. The four leds are
stuck to the fronts of four different pieces of audio/video equipment concealed inside a cabinet.
A salvaged wall wart drives a ua7805 regulator which powers the Tiny12, the IR receiver and the
leds, which are mounted inside a small plastic box. The box is positioned so that it can see the
signals from the various hand held remotes. The IR receiver module detects the (approx) 36 khz
pulses transmitted by a remote, and puts out a clean logic level. The Avr simply looks at the
receiver output and when it goes "true", uses a simple software loop to generate a 36 khz square
wave that drives the leds, essentially reconstructing and retransmitting the IR messages bit by bit.
Any Avr will do the job, no timers or special funtions are used. Whatever cpu clock speed is used,
an appropriate number of cpu cycles need to be wasted in the delay loops to result in the proper
modulation frequency. I used a Tiny12 and a 1.8432 mhz crystal because I had samples
I felt compelled to use for "something". For grins, I also wrote a version in C to run on a Tiny13,
but I am using the Tiny12 because they bacame surplus, and the Tiny13s are brand new 8-)

Tom Pappano
Tulsa, Oklahoma

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the more detailed circuit description. That makes a lot more sense. I actually think I can do that. I hate to be annoying, but could you also post the C code. Thanks.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here is the *huge* C program 8-)

// Tiny13 IR repeater
// 1.2mhz system clock is 9.6mhz RC clock/8
// Avr-Gcc optimization set to "1" to permit empty "for" loops
// By Tom Pappano, in Tulsa, Oklahoma

#include 
#include 

#define pbsetup   0x03                   // portb setup
#define pbinitial 0xff                   // PB0 & PB1 drive leds
#define datain    0x04                   // PB2 IR data input

int main (void)
{
    ACSR    = 0x80;                      // analog comp off
    DDRB    = pbsetup;                   //
    PORTB   = pbinitial;                 //
    wdt_reset();                         // setup watchdog timer
    wdt_enable(WDTO_250MS);              //
    for(;;)                              // 33 cpu cycles = 36.36 khz:
    {                                    // 2
        wdt_reset();                     // 1
        if( (PINB & datain))             // 2 signal received?
        {
            PORTB=0xfc;                  // 1 leds on
            for(uint8_t i=5; i>0; --i);  // 15
            asm("nop");                  // 1
            PORTB=0xff;                  // 1 leds off
            for(uint8_t i=3; i>0; --i);  // 9
            asm("nop");                  // 1
        }
        else                             // idle, leds off
        {
            PORTB=0xff;                  //
        }
    }
}

Tom Pappano
Tulsa, Oklahoma

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I use the Analog compare of the Tiny 11 as a guitar fuzzbox. A fuzz box output has the same wave shape as a TTL data stream except that its size is +/- 0.5V instead of gnd<>Vcc.

The negative input of the comparator is set to 1/2 VCC plus 0.1 volts. The positive input is 1/2 VCC. The guitar is capacitively coupled to the positive input.

Playing a note or chord causes 1v p-p sine waves on the positive input of the Tiny11 comparator. The Tiny11 program polls the Analog Compare flag. When it goes high, one of the other port pins is brought high. When the flag goes low, the out port pin is pulled low.

The output port pin signal goes to a pair of resistors which brings the output voltage to 1v P-P just like the input. The sharply rising and falling edges of the output waveform give odd-harmonic distortion to the input guitar signal for a 25 cent fuzz box.

I'm still scratching my head for ways to use the other features of the AVR to add more color to sound. Maybe using the timer to measure the interval between the on/off of the analog compare flag and adding harmonics. Any ideas welcome.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

8 MIPS RISC flashlight?

I replaced the batteries in a 2-cell flashlight with a single 3.6V LiIon cell, and decided to pwm the bulb to get 3V RMS. Unfortunately the the LiIon cell drops from 4.2V to 2.6V, and power dissipated is the square of the voltage, so a fixed pwm wouldn't work, and it was far too complicated, and overdischarging is dangerous...

A Mega16 is measuring battery voltage and pwm'ing the bulb to obtain 3V RMS. It is also soft power switch and low voltage monitor.
Total component count: 3 + hot glue.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

KKP wrote:
8 MIPS RISC flashlight?

I replaced the batteries in a 2-cell flashlight with a single 3.6V LiIon cell, and decided to pwm the bulb to get 3V RMS. Unfortunately the the LiIon cell drops from 4.2V to 2.6V, and power dissipated is the square of the voltage, so a fixed pwm wouldn't work, and it was far too complicated, and overdischarging is dangerous...

A Mega16 is measuring battery voltage and pwm'ing the bulb to obtain 3V RMS. It is also soft power switch and low voltage monitor.
Total component count: 3 + hot glue.

Geez, wouldn't a hand powered flashlight been easier to get?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hand powered flashlights:
I've seen those, the type where you wind a spring and it'll glow for some time. Pretty reliable power source, hands are usually - at hand. I'd like to buy one, even if just for the experimental value, but I've never seen one for sale in a reachable store (.dk)
As with various other quite useful things, it's not available on the assumption that people won't buy it.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Check out Sharper Image in the malls. I've seen one that you shake up and down, which slings a magnet in and out of a coil, charging it up.

Back on topic, lame app ... My daughter has a tough time brushing her teeth long enough. A 2313, battery, couple of 7-seg displays and a piezo buzzer gets her a 2 minute timer, with boops every 15 secs. Point-to-point wiring, no power switch (it sleeps after it's done). Teeth have never been better :)

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When we were moving across the road my wife asked for a way to know about the whereabouts of your cat. The easiest way to follow it was to attach a tiny transmitter to its collar and follow with a scanner and a directional antenna.

As transmitter I used a 433Mhz xmit module, to drive it the easiest was a tiny22, programmed to emit 'beep-beep' and an occasional ham callsign in morse.

While a solution with a timer chip (ne555) would have been possible, the result is far more flexible and smaller.

Components:
- Tiny22
- RFM AT101 transmitter
- CR3032 lithium cell
- 1 capacitor

Power comsumption is a couple of mA, I'm still on the first battery...

Markus

Markus

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My dining table was a bit wobbly, so I jammed a Mega128 under one of the legs. I'll post the software, if anyone's interested.

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Actually, I used to use the burnt out TO3 transistors from my Phase Linear amps as 'sphinx glides' on the bottom of my road cases....

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
I use the Analog compare of the Tiny 11 as a guitar fuzzbox.
...
I'm still scratching my head for ways to use the other features of the AVR to add more color to sound. Maybe using the timer to measure the interval between the on/off of the analog compare flag and adding harmonics. Any ideas welcome.

Something fun might be to derive and add back *sub* harmonics. Years ago
I added a pressure transducer to a wind instrument, squared and limited the signal,
ran it through some dividers and an analog delay line, and got some neat
fuzz, doubling, echo, and harmonizer effects.

Tom Pappano
Tulsa, Oklahoma

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi:

The most unusual project I did with AVR is a hammond organ tonewheel replacement unit. I simply used the schema of tiny DDS at a fixed frecuency
but wit a 7.32MHz crystal (the value I got that moment)
(no comms, no interrupt) generating a sinewave to replace a dead tonewheel.
After it was necesary single filtering and amplification (following the B3 spec chart) and voilá.

On the other hand I´m planning to do a complete tonewheel organ based on Tiny11 as TOS chip (12units 12 notes) then dividing, then shaping, then 91 sinewaves, reed switches, tube amplifiction etc etc weird app.

On the other side (and following this app) does anyone know where to get an organ keyboard? I mean the part, the keys with switches but new or "standard" (Or do I have to scavenge it from a dead organ?)

Regards
Nachus

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Get a midi keyboard

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
On the other hand I´m planning to do a complete tonewheel organ based on Tiny11 as TOS chip (12units 12 notes) then dividing, then shaping, then 91 sinewaves, reed switches, tube amplifiction etc etc weird app.

Sounds like a fun project! Be sure and include a means to "bend" the
notes like you can on a Hammond by turning the motor on and off 8-)

Wish your post (or I guess mine) had been a couple months ago, I
had to give up a Hammond Spinet for a lack of space 8-(
I gotta say that the Hammond scheme was one of the most clever
inventions of the early 20th century. It took another
half-century before the development of methods that could come
close to equalling the Hammond sound!

Tom Pappano
Tulsa, Oklahoma

Tom Pappano
Tulsa, Oklahoma