Hacky Halloween

From Kwartzlab
(Difference between revisions)
Jump to: navigation, search
m (Programming)
Line 111: Line 111:
 
=== Programming ===
 
=== Programming ===
  
Optiboot bootloader (download)
+
Optiboot bootloader ([[Media:Optiboot_hackyhalloween.hex|optiboot_hackyhalloween.hex]])
 +
 
 
Makefile:
 
Makefile:
 
  <nowiki>
 
  <nowiki>
Line 119: Line 120:
 
hh: AVR_FREQ = 1000000L  
 
hh: AVR_FREQ = 1000000L  
 
hh: LDSECTION  = --section-start=.text=0x7800
 
hh: LDSECTION  = --section-start=.text=0x7800
hh: $(PROGRAM)_hackyhalloween.hex
+
hh: $(PROGRAM)_hackyhalloween.hex</nowiki>
</nowiki>
+
  
 
To compile bootloader:
 
To compile bootloader:
 
  <nowiki>
 
  <nowiki>
 
make clean
 
make clean
make hh
+
make hh</nowiki>
</nowiki>
+
  
 
Append to boards.txt and select in the Arduino IDE under Tools->Board
 
Append to boards.txt and select in the Arduino IDE under Tools->Board
Line 147: Line 146:
 
HackyHalloween.build.f_cpu=1000000L
 
HackyHalloween.build.f_cpu=1000000L
 
HackyHalloween.build.core=arduino
 
HackyHalloween.build.core=arduino
HackyHalloween.build.variant=standard
+
HackyHalloween.build.variant=standard</nowiki>
</nowiki>
+
  
 
=== Arduino sketch ===
 
=== Arduino sketch ===

Revision as of 21:58, 27 October 2011


Thanks to a $1000 grant from the KW Awesome Foundation, we will be conducting a pumpkin carving and learn-to-solder workshop for kids 8+.

Contents

Meta-Bits

Organizer
Participants
...
Date
Mid-to-late October, 2011

Who's doing what?

Materials needed

  • pumpkins
  • blades (these break)
  • scoops (these break too)
  • pokey tools for pattern transfer. plastic pushpins work great
  • toothpicks, to repair pumpkin after carving accident
  • patterns, printed out from zombiepumpkins.com
  • scissors, for cutting excess paper from the patterns
  • tape, to hold the pattern on the pumpkin while transferring the pattern
  • newspapers, to protect tables from pumpkin guts
  • pails, to hold pumpkin guts
  • fine point markers, for marking out patterns
  • large kitchen knife to slice goop off the lids

after the pumpkins are carved,

  • a few electronic candles for lighting
  • camera for photo gallery

Tasks

Venue

The Museum: Saturday 29th October. The Museum opens at 10am. There will be a parallel pumpkin painting event for little kids, run by The Museum.

Pumpkin Team

co-ordinator: Doug Moen

Nauman's Farm will give us 100 pumpkins for $250. Pumpkin team picks them up at 9am (verify), returns unused pumpkins and pumpkin waste to farm for composting.

Karl: Honda Element

Need: truck

We'll find a pumpkin farm or other vendor who is willing to bring pumpkins to the venue, sell them, and take back the unsold pumpkins. (We'd like to avoid this task ourselves.)

  • Herrle's (doesn't have the staff or trucks to bring out and sell pumpkins. They recommended we try the Shantz family or a smaller pumpkin farm). They would sell us pumpkins at a wholesale price, though.
  • Closest grocery store (Valu-Mart if we're at Waterloo Square)

Setup Team

set up tables at Museum.

James, Agnes

Pumpkin carving knives

Co-ordinators: Steph, Jeff

Carving team will supervise and teach pumpkin carving.

Electronics: the "pumpkin card"

James is working on a thru-hole design that incorporates an AVR microcontroller two LEDs (yellow and orange) and two AA batteries. Since the device will be programmable we can also have hacking kits & sessions later on at the lab.

Soldering irons, solder, LEDs, etc

One-page soldering comic: http://www.tvbgone.com/mfaire/soldercomic/soldercomic.pdf

Soldering Stations

  • James can provide 2 stations
  • the lab can provide 2
  • Ben can provide 1
  • email list for other people who can lend a soldering station (not a firestarter)

rubber mats, so that work doesn't move around while soldering

lighting: should be fine

Soldering team will supervise and teach soldering. It would be good to have a dry run/practice session

Publicity

Press release:

  • Write and send it on to CTV, The Record, The Chronicle, and the UW and WLU papers.
  • Banner on our front page
  • Short blurb: Learn how to carve a pumpkin and solder your own LED lighting system. Pumpkins, electronics and admission are free. 10am - 5pm at THEMUSEUM.ca, 10 King St W Kitchener. Sponsored by kwartzlab.ca

Insurance

  • Gus is looking into insurance we'll need for the event
  • Maybe this depends on the venue. If we are one of the events at Science Open House, maybe we are covered by their insurance? Ditto for The Museum?

Budget and capacity planning

How much money are we spending per kid (cost of electronics, knife, etc)? What are the fixed costs (venue, possibly insurance)? Based on the foregoing, and a $1000 budget, how many pumpkin carvers can we support?

The current rough estimate is 100 kids.

Assuming each participant doesn't get a dedicated carving station (i.e., there will be rolling attendance), we also need to determine how many stations we can set up.

Event Management (on the day of)

Hacking

Programming

Optiboot bootloader (optiboot_hackyhalloween.hex)

Makefile:

hh: TARGET = atmega328
hh: MCU_TARGET = atmega328p
hh: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -DBAUD_RATE=9600
hh: AVR_FREQ = 1000000L 
hh: LDSECTION  = --section-start=.text=0x7800
hh: $(PROGRAM)_hackyhalloween.hex

To compile bootloader:

make clean
make hh

Append to boards.txt and select in the Arduino IDE under Tools->Board

HackyHalloween.name=Hacky Halloween w/ ATmega328P (1MHz IRC)

HackyHalloween.upload.protocol=arduino
HackyHalloween.upload.maximum_size=30720
HackyHalloween.upload.speed=9600

HackyHalloween.bootloader.low_fuses=0xFF
HackyHalloween.bootloader.high_fuses=0xDA
HackyHalloween.bootloader.extended_fuses=0xFF
HackyHalloween.bootloader.path=atmega
HackyHalloween.bootloader.file=optiboot_hackyhalloween.hex
HackyHalloween.bootloader.unlock_bits=0x3F
HackyHalloween.bootloader.lock_bits=0x0F

HackyHalloween.build.mcu=atmega328p
HackyHalloween.build.f_cpu=1000000L
HackyHalloween.build.core=arduino
HackyHalloween.build.variant=standard

Arduino sketch

/*
  Hacky Halloween
      by
    kwartzlab  

  October 2011

  Code by James Bastow <bastow@gmail.com>

  This software is in the public domain.
*/


int LED1 = 9;    // LED on digital pin 9
int LED2 = 10;   // LED on digital pin 10

void setup()
{
  randomSeed(analogRead(0));
} 

void loop()
{ 
  analogWrite(LED1, random(127,255));
  analogWrite(LED2, random(127,255));
  delay(random(20,100));                            
}

Personal tools
Navigation