Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What practical use does this serve? Just for fun hacking?

For anything of significant use, I think you need something like the Beagle Board (beagleboard.org) or a Gumstix. Anyone know of any others?



The boards you're suggesting use a lot more power and provide a lot more computation power than the AT90USB162. This has 21 I/O lines. You could drive H-bridges for five stepper motors off of it, or a 14-digit LCD display, or an 8-digit LCD display and a 3×3 keypad, etc. It doesn't have an ADC but with a little external electronics you could easily use it to digitize signals from e.g. thermistors or pressure sensors or tilt sensors. You can run it from USB power, and USB power adapters are cheap and widely available. You can generate voice-quality audio using PWM, although I don't think you have enough CPU power to synthesize voice in real-time; you'd have to be reading it off a flash chip or a network or something.

If you want to build a white-LED-driven stroboscope to check your engine timing, or get fault codes out of your OBD-II, or sound an alarm when the air conditioner is on and the window is open, or control your five-axis robot, etc etc etc., something like this is ideal.

Atmel has a set of application notes for the chip at http://www.atmel.com/dyn/products/app_notes.asp?part_id=4097 that show some example things you can do with it.


I know you can make a DAC by using pulse width modulation.

Can you do that in reverse? i.e. make an oscillator who's frequency depends on the input (resistance presumably), then each time the oscillation goes above a certain voltage it would trigger a digital 'on' signal (edge trigger I guess). Count how many of those you get per time, and you have an ADC.

Would that work?


Yes. The way this is done is to make the oscillator's frequency dependent on the parameter you want to measure (normally a voltage) and the A/D conversion is done by measuring the osc. frequency. There are temperature sensors and accelerometers that provide output as a varying frequency so they can be fed straight into a digital input.I've been playing with a Maxim temperature sensor that works this way and it works really well.

Alternately, there is an old technique that generates a PWM-like output that is added with the signal-under-test (the thing you want to measure :-) and the output of that addition is monitored by an input pin. Measure the on vs. off time (PWM) at the input pin and you have a fairly accurate ADC. Low resolution, but it works.

But honestly, with so many precise, accurate and cheap ADCs available these days, doing conversions like this in software is relegated to designs where pennies are significant and the manufacturing costs dwarf the development time.


Yup, a good way of getting analog sensor data around eg:

http://www.analog.com/en/analog-to-digital-converters/voltag...

Also, sometimes all you care about is the value of a signal relative to a threshold, so you use a simple comparator to make a higher/lower signal.


You could also just feed a ramping pwm output to a lowpass filter and have it go into a comparator, with the other input to the comparator be the analog signal to be measured. You watch the pwm count and when the comparator fires, you have the digitized signal in the pwm count.


Right, and this sweet little chip already has the PWM output and the analog comparator, and you can get a wakeup interrupt from the comparator. And then there's the VFC/VCO approach someone else suggested. But I think you can get a higher sample rate with a dedicated ADC. How fast can you do the PWM/comparator trick on a device like this?


You can always get a higher rate with a dedicated chip, and they are pretty cheap these days. The max you can do the pwm trick is a function of the max clock rate, divide down pwm clock, and the number of bits you want for resolution. Take a look here:

http://www.designingwithsensors.com/applications/all_article...


Looks like fun to me.

I know very little about hardware hacking but I had an idea the other day: I wanted to rig a mini-stoplight up (green, amber, red LEDs) that I could plug into my computer's USB port and hit hot keys to change which LED was lit.

Then my wife could look over and see if I was super-focused or not. When I was thinking about code or trying to do science writing, I would toggle the thing to the red LED; when I was screwing around on HN, I would toggle it to green.

I looked around naively but couldn't find something small & easy. This product could maybe fit the bill nicely.

Whether my wife would appreciate such a thing is another matter. :)


This can be taken one step further to create a hacker-wife-trainer. Add a water pistol, a microphone and a stepper motor to the set up. Audio signal in wife's frequency range when LED is in red should trigger water pistol in the appropriate direction.


Hm, I wonder if you are married...


If so, it obviously hasn't been that long, since it's only a water pistol ..


Bonus if you write some code to detect your activity (based on active application or typing/clicking patterns or who knows what) and then communicate via usb to your stoplight.

At that point, you could probably sell the thing on thinkgeek.com and watch cubicles everywhere fill up with activity indicators. Of course, there would have to be manual override, so cube workers could set it to red all day when they don't feel like doing anything.


Nice. Maybe let user build rules like:

When a Terminal window is in the foreground and has an open ssh session --> amber

When Firefox in foreground, displaying news.ycombinator.com --> green.

Never automatic red, though: I would want to conserve its signaling value, so that it would always mean, "if you talk to me right now you are going to mess up a thought structure that was difficult to build".

[edit:

Hm, a little bluetooth-enabled one of these actually would be a pretty cool thinkgeek product.

]


  -- In AppleScript while I wait for tea to steep...  
  if application "Terminal" is frontmost then
  	tell application "Terminal"
  		get name of first item of windows of it
  		if result contains "ssh" then
  			set red to false
  			set yellow to true
  			set green to false
  		end if
  	end tell
  end if
  
  -- or a one-liner...  
  if application "Terminal" is frontmost then tell application "Terminal" to ¬
  if (name of first item of windows of it contains "ssh") then set stoplight to "yellow"


This is even easier with a window manager like Xmonad, since you can configure it to "log" state changes. No polling necessary.


Fold a piece of paper into a triangular prism.

Color and write text on it.

Turn so appropriate color is facing outward

Voilà.


You're missing the point. This is the festival of inappropriate technology. If you take your little tri-color prism and mount it end on, on a stepper motor with an optical sensor to detect which color is facing in the signal direction; then you're talking.

Extra points for if it: a. has an ethernet port b. reads rss feeds or email


I like it, but your idea only works if your back is to a wall.

My wife did the boolean version of this, though, when I told her I wanted to spend $100 on a fancy board from National Instruments. She folded a piece of paper in two, wrote "DO NOT DISTURB" on one half, and propped it up next to me.


Or maybe you could even rig it up to light up based on what programs were active on your computer.

IDE/text edit open -> red light, web browser -> yellow, game -> green.


Arduinos seem pretty popular around here (http://arduino.cc/), but I think they fall under the "just for fun hacking" category.

Once adafruit (http://adafruit.com/) gets the starter kit (http://is.gd/4sRs) back in stock, I'm going to order one for myself.


I just quoted someone about $3k to develop a simple datalogger that among other things needs to read a few switches through a USB connection. This would be perfect for that. Basically I would just need to get one of these, add connectors for the switch inputs, put it in an industrial enclosure along with a mini ITX mobo and write a few lines of code and I'm golden. It will save me a few hours of development time over using an FTDI chip and I can pocket that difference. Money changes hands and everyone's happy!


Since modern motherboards don't have serial / parallel ports, it seems like something like this would still let people get their feet wet with basic electronics hacking. A simple example that we did back in my day was to build our own TI-LINK cables for the parallel port with $5 in Radio Shack parts rather than the $40 for the cable.

When I saw this I also started thinking of connecting it to a relay for lighting applications. It'd be fun at a party to connect this to a set of relays and lamps and drive it from the output of a beat detection algorithm. Or to have it automatically dim the lights in the living room when the PVR computer starts a movie.


Fun hacking = prototyping.

This is a great way to test ideas on the cheap.


i've been using a butterfly, myself, which is what i learned on and know the best. plus, it does a good bit of stuff.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: