Showing posts with label ppac. Show all posts
Showing posts with label ppac. Show all posts

Tuesday, August 17, 2010

Workshop!

After over a month of planning, boxing, and finally moving into a new home, I'm ready to get back to projects working in a dedicated workshop/office space!

Arduino-based projects, all within reach:
  • Mutetater: get it working for the Sharp TV I have, at least. This is more a challenge of IR encoding/decoding than anything else, so I'll reel back my code and try to re-approach the examples I've looked through before.
  • Resurrect Growduino for an herb garden on the upper desk, easy since there are power outlets available so I can sidestep solar power issues for now and get stuff growing.
  • Net-enabled coffee grinder timer so it can be controlled through a simple web interface, via an iPhone on the local network. I think it would mostly involve working with the ethernet shield, then maybe "shield-ifying" the grinder timer or building ethernet capability into the single-PCB circuit. Then I can start building out a control system for the Gaggia Classic.
  • Remote-controlled curtain system for the TV. Mostly involving IR decoding, simple (MOSFET) motor control, some limit switches, mounting hardware, and sewing.
  • PPAC: um, why aren't the relays firing?! Buttons work, so I need to disassemble it and check the output pins, then position the "pea" for exciting wake-up sequences.
  • Intervalometer ("intervalomejar"?): get a simple one working for timelapse using the FSM (Finite State Machine, not Flying Spaghetti Monster) library.
I'll add more later, just want to get a list going so I can start building some test sketches. Other tech to sketch for more complex projects:
  • PID for temperature and motor control
  • Temperature sensing for PID control: thermocouples

Tuesday, March 16, 2010

PPAC Fixes, Minimalduino, Timer

I've been busy lately and haven't had as much time as I'd like to tinker, but I've gotten things moving in the last two weeks and am overdue to post.

Hoping to show off the alarm clock a little, I brought the PPAC (including power block, valve tree, and tank) to the Make:SF Meetup last month, and while talking and hooking it up at the same time, plugged the AC supply into the DC power socket! The voltage regulator fizzled but the power board seems fine otherwise. Strangely, of all things, the LCD display was dead as well... though I may have killed it when disassembling the can..:o I ordered a better looking LCD replacement which I'll install in the next few days-- green-on-black instead of black-on-green: Newhaven NHD-0216K1Z-NSPG-FBW-L.

The minimalduino project is still moving forward: I'm using a test board I made at home a few weeks ago, populated with as little as possible: chip, caps, resonator, female headers, reset and male FTDI header. I'll move a few traces around but it's pretty much there, and hope to get three test boards made through the DorkbotPDX PCB order, deadline noon on March 29. I've built a spreadsheet with costs, and it seems like I could make a batch of 25 kits at just under $15 each. I'm not sure if it's worth the trouble though.

A few weeks ago, I built a new coffee grinder timer with a re-worked sketch and single board, then handed it off to fellow coffee fiend HF for ideas on how to make the ideal grinder timer. One thing we agreed on is that tenths of a second would be cool, so last night I had a great time working out a sketch to drive a common anode 3-digit 7-segment display using an SAA1064 IC. Of course having a sketch to start with made things straightforward-- thanks Alessandro Saporetti! I reworked the code to make it more general purpose, using all of the chip's functions including multiplexed (versus not) and changing the constant current output (7 output levels possible, from 3 to 21mA). [Video to come]

Sunday, January 3, 2010

100K Views!

The PPAC "Inflation" YouTube video had its 100,000th view today-- wow! Thanks, viewers!! The big spike happened on December 14 when it started showing up on my favorite blogs, and it has been getting >1000 views a day since then.
Here it is again:

Also, the first "ejection" video:

Wednesday, November 18, 2009

PPAC Demo Video

The inflation feature demonstrated with the bed unoccupied:

(Sorry for removing the original video, but... I promised Liz I'd remove it!)

Tuesday, November 17, 2009

Getting Out Of Bed: PPAC Major Components

The "Princess and the Pea Alarm Clock" (PPAC) has been working beautifully, waking me up with "buzz" alarms and literally getting me out of bed with "inflate" alarm functions! I will post more photos and videos soon, but first to outline the alarm clock's major components:
  • Alarm clock: LeSueur peas tin can containing the main circuit board, jog/shuttle dial and button input, 16x2 character LCD display, modular handset cord jack, and female 6-pin FTDI cable jack.
  • Power block: Power input/output circuit mounted in a plastic iPod Nano box, with input DC power jack and regulator, relay input power jack, two relay-switched output jacks, modular handset cord jack, status LEDs, and main power switch.
  • Valve tree: Brass and plastic fittings around the main trigger solenoid-controlled sprinkler valve, with quick-release fittings on both ends, manual safety valve before the trigger valve, and manual release valve.
  • Air pressure source: 10-gallon (red) or 5-gallon (yellow) air tanks, both with pressure gauges and female quick-release connectors, usually filled to 110-120psi.
  • Air bladder, aka "Pea": Green exercise ball between my mattress and box spring, with a hose ending in a male quick release fitting.

Sunday, July 19, 2009

PPAC Progress: UP!

I've been working on (mostly) minor tweaks to the alarm clock:
  • The can I had used to test mounting techniques served its purpose as a prototype, so I redid the mounting in a fresh can, with adjusted positioning of the LCD and (new) lit button, with use three screws per end cap instead of two. I scanned the LeSueur label and printed a copy to test the positioning of the LCD, button, and power/relay port cutouts.
  • I over-tightened the plastic ring which opens the output valve of my 10-gallon air tank, leaving me with a sealed can at 105psi! I bought a 5-gallon tank as a replacement, figuring it would be fine for a full run, and was impressed by its lightness. I "fixed" the 10-gallon tank's valve by cutting off the plastic ring, so I can turn the open/close with a small wrench, so now have 15 gallons to pressurize.
  • Testing the 5-gallon tank at 100psi, the plastic "open" safety valve popped a leak, so today I replaced all pre-solenoid valve hardware with brass-- no more leak!
  • Since the emptying valve didn't get enough pressure from the inflated "pea" to open, I replaced it with a manual valve-- not as elegant, but the alarm is about inflation, not deflation.
  • The alarm was still triggering when the alarm was "off" and the target time was reached, plus there were a few small bugs to work out.
  • The maximum inflation time was set arbitrarily at 30s, so I added another click+hold "hidden" mode branched from the alarm mode selection so the max inflate time can be adjusted. It's also stored to (Arduino) EEPROM with other "system" parameters.
The IDE tells me I still have a little headroom:
"Binary sketch size: 13566 bytes (of a 14336 byte maximum)"
I'm tweaking the program a but more, but it's late and I'm so happy with how far it has come! I plan to be woken up rudely in the morning...:D

Monday, May 18, 2009

Alarm Clock Board Built!

Last night, I finished the board layout in EAGLE and got to work making it:
  • Turned off layers in EAGLE except layer 1 and pads, and printed to a PDF,
  • Rasterized PDF in Photoshop at 1200dpi and processed into a black+white image (right),
  • Laser printed onto an L.L. Bean catalog page, with the print output set to "transparency,"
  • Ironed onto 2.5" x 2.2" single-sided copper clad,
  • Fixed gaps with etch-resist pen,
  • Rubbed off paper and etched in ferric chloride for 15 minutes (though I'll use use the HCL and peroxide method in the future),
  • Rubbed away ink with acetone,
  • Tested trace continuity and scraped away tiny bridges with a knife,
  • Drilled out all holes (1mm bit),
  • Populated with parts and soldered it up,
  • Pressed chips into sockets,
  • Hooked up LCD, jog/shuttle, a button and LED.
It behaved exactly like it did on the breadboard! Now I can focus on the right button/LED combo and casing, redoing the relay board, and tightening up the program.

This is my first from-scratch Arduino-compatible board-- sure to be the first of many...:)

Thursday, May 14, 2009

Click for A, Press and Hold for B

I planned to add a time setting mode to the alarm clock later, as gravy-- thought I wouldn't need one since the clock chip keeps time-- but with the board not yet built, I keep accidentally disconnecting the DS1307's battery and needing to reset it with a special sketch.

That's a pain, so I'm adding it to the PPAC program next, and to keep the interface simple-- jog/shuttle and a button-- a press and hold event seems appropriate for switching into an otherwise hidden mode, like shutting down a MacBook by holding down the button instead of just clicking it.

Despite a few posted examples on debouncing a button press (explicitly or with a library), I couldn't find any press+hold examples, so I took a stab at it and got a test sketch working pretty quickly with a button and two indicator LEDs. The code is posted below, as a comment.

Wednesday, May 13, 2009

PPAC Board V7.3: Hand Routed

Work on the main board (alarmduino?) is progressing nicely, but not without a false start-- after etching and building out the first board last week, I found that the 5-pin header to mate with the Futurlec DS1307 mini board was backwards! But the DS1307 doesn't need much circuitry, and the mini board had a lot of unused space, so I decided to revise the alarm clock main board with the clock built-in.

The latest PPAC layout has the DS1307 on the right side, with the battery holder on the bottom and interrupt going to A3; I would have tested the schematic on a breadboard tonight but I can't find any 10K resistors. I added an I2C EEPROM too (or, at least a socket for one-- I don't have the little sucker yet) for program settings, maybe a log of wake up times, and relief for the ATmega's built-in EEPROM.

Not to whine, but I'm getting impatient with EAGLE's autorouting for 1-layer boards-- I can usually find a route for the missed connections, and it's annoying to have to push around so many traces to fit them in. This board layout was routed completely by hand after EAGLE kept leaving at least four air wires. It might work as-is, or I may spread into the unused areas and widen the traces. Must resist the temptation to just etch it and build it before breadboarding the whole thing-- I want to have the program ready for this specific circuit, since I shuffled some pins around on the EAGLE layout after converting it from my previous working breadboard circuit.

Tuesday, April 21, 2009

PPAC Progress: RTC, Jog/Shuttle

I got my old test sketches working again for the DS1307 clock and jog/shuttle controller, and suddenly everything is working...:) It's "just" a matter of software and hardware layout at this point [gulp!].

Wednesday, April 8, 2009

Prioritizing Projects

Too many parts and projects lying around-- need to nail down an order and finish something soon!

PPAC should be the first priority-- I've gotten it to work, but attempts at packaging it have been held up by the fact that I'm still not sure about UI and whether I even want to use high pressure air or a pump. Would be great for a contest, but not unless it's (1) done and (2) demonstrated through video. First-things-first time:

  • EAGLE: set up with display, jog/shuttle, RTC, buttons, switch, power, and output. Don't worry about whether output is to relays or oo's,
  • Arduino: get a good program working on the breadboarded circuit,
  • Figure out best fill/empty plan,
  • THEN start laying it out in 3D for the final build.

Next up (while figuring out ppac fill/empty plan) is a working growduino with relays, no sensing, no logging, and no solar-- don't try everything at once! Better to get something growing.

The invervalometer is so close, but needs:

  • To be reeled back to the breadboard after the stuffing problem-- Arduino OK?!
  • Panasonic-capable trigger,
  • Serious power system consideration.

The mutetater should be a simple build:

  • Limit to Sony since that's easy to read, and I have Samid's old Sony TV,
  • Breadboard > potato should be simple using a dorkboard with female header pins.

Monday, March 16, 2009

Ping... ing... ing...

Using a bunch of Arduinos for projects, it makes sense to post about it to help keep track of what I'm doing.

Current in-progress projects:
  • PPAC: Princess and the Pea Alarm clock: "pea" inflates to eject whiny princess (or, um, me) from bed,
  • Intervalometer-in-a-jar or "intervalomejar": time lapse camera controller with beam break, light level, and audio triggers,
  • Mutetater: TV mute control with a potato (seriously),
  • EL-wire suit: audio level meter of EL-wire,
  • Cheapo general-purpose PID-based temperature controller,
  • Growduino w/logging, solar power,
  • Smart shower controller,
  • [more...]