author
24Instructables213,075Views60CommentsGreen Bay WIJoined June 14th, 2009
I like to read all about the creative ideas everyone has here. I love to make "one of" projects, learn something about doing it and then move on to something new. Hope you like my ideas.

Achievements

10K+ Views Earned a bronze medal
  • Driving Two Nixie Tubes With an Arduino Via a Shift Register and Two SN74141s.

    What is the download file supposed to be? No extension...

    View Instructable »
  • badjer1 commented on invadersilke's instructable ANGELIQUE / HELLRAISER BLOODLINE1 week ago
    ANGELIQUE / HELLRAISER BLOODLINE

    Awesome! Professional look!

    View Instructable »
  • badjer1 commented on badjer1's instructable HAL-9000 Arduino Talking Extension Cord1 month ago
    HAL-9000 Arduino Talking Extension Cord

    Here is the code I used:// Random HAL demo; adapted from PiSpeak sketch. When button// on A0 is pressed, plays a random WAV file from a list.#include "WaveHC.h";#include "WaveUtil.h";// REPLACE THESE WITH YOUR ACTUAL WAVE FILE NAMES:// These should be at the root level, not in a folder.static const char PROGMEM file00[] = "0.wav", file01[] = "1.wav", file02[] = "2.wav", file03[] = "3.wav", file04[] = "4.wav", file05[] = "5.wav", file06[] = "6.wav", file07[] = "7.wav", file08[] = "8.wav", file09[] = "9.wav", file10[] = "10.wav", file11[] = "11.wav", file12[] = "12.wav", file13[] = "13.wav", file14[] = "14.wav&...

    see more »

    Here is the code I used:// Random HAL demo; adapted from PiSpeak sketch. When button// on A0 is pressed, plays a random WAV file from a list.#include "WaveHC.h";#include "WaveUtil.h";// REPLACE THESE WITH YOUR ACTUAL WAVE FILE NAMES:// These should be at the root level, not in a folder.static const char PROGMEM file00[] = "0.wav", file01[] = "1.wav", file02[] = "2.wav", file03[] = "3.wav", file04[] = "4.wav", file05[] = "5.wav", file06[] = "6.wav", file07[] = "7.wav", file08[] = "8.wav", file09[] = "9.wav", file10[] = "10.wav", file11[] = "11.wav", file12[] = "12.wav", file13[] = "13.wav", file14[] = "14.wav", file15[] = "15.wav", file16[] = "16.wav", file17[] = "17.wav", file18[] = "18.wav", file19[] = "19.wav", file20[] = "20.wav", file21[] = "21.wav", file22[] = "22.wav", file23[] = "23.wav", file24[] = "24.wav", file25[] = "25.wav", file26[] = "26.wav", file27[] = "27.wav";// If adding files above, include corresponding items here:static const char * const filename[] PROGMEM = { file00, file01, file02, file03, file04, file05, file06, file07, file08, file09, file10, file11, file12, file13, file14, file15, file16, file17, file18, file19, file20, file21, file22, file23, file24, file25, file26, file27 };// Sorry for the sillyness, but this is how PROGMEM string// arrays are handled.#define error(msg) error_P(PSTR(msg))SdReader card;FatVolume vol;FatReader root;FatReader file;WaveHC wave;uint8_t debounce = 0, // Button debounce counter prev = 255; // Index of last sound playedvoid setup() { Serial.begin(9600); if(!card.init()) error("Card init. failed!"); if(!vol.init(card)) error("No partition!"); if(!root.openRoot(vol)) error("Couldn't open dir"); // PgmPrintln("Files found:"); // root.ls(); digitalWrite(A0, HIGH); // Enable pullup on button randomSeed(analogRead(A1)); // Randomize first sound}void loop() { if(digitalRead(A0) == HIGH) { // Button not pressed debounce = 0; // Reset debounce counter return; // and nothing else } if(++debounce = 20) { // Debounced button press uint8_t n; char name[20]; do { // Choose a random file... n = random(sizeof(filename) / sizeof(filename[0])); } while(n == prev); // ...but don't repeat last one prev = n; // Save file # debounce = 0; // Reset debounce counter strcpy_P(name, (char *)pgm_read_word(&filename[n])); // PROGMEM->RAM if(wave.isplaying) wave.stop(); // Stop WAV if playing if(!file.open(root, name)) { PgmPrint("Couldn't open file "); Serial.print(name); return; } if(!wave.create(file)) { PgmPrintln("Not a valid WAV"); return; } wave.play(); // Start playing while(wave.isplaying); // Wait for completion sdErrorCheck(); // Check for error during play while(digitalRead(A0) == LOW); // Wait for button release }}void error_P(const char *str) { PgmPrint("Error: "); SerialPrint_P(str); sdErrorCheck(); for(;;);}void sdErrorCheck(void) { if(!card.errorCode()) return; PgmPrint("\r\nSD I/O error: "); Serial.print(card.errorCode(), HEX); PgmPrint(", "); Serial.println(card.errorData(), HEX); for(;;);}

    View Instructable »
  • badjer1 commented on badjer1's instructable HAL-9000 Arduino Talking Extension Cord1 month ago
    HAL-9000 Arduino Talking Extension Cord

    There are some typo bugs in the Aidafruit code... these are easily seem when you try to compile. However, once those are fixed the likely, more complex errors you may get are likely due to not having your library set up correctly and at the correct levels. This is a very fussy piece of Arduino programming. The wavefiles took a ton of editing from the internet to get them all at the same volume level and clarity. I used an audio editing software I found on the internet which I do not know or have it anymore. As far as the Aidafruit code and the waveforms I used... they are large files, so post your email address here and I'll send you everything.

    I think there is enough here to be an instructable to show what is possible without giving away a cookbook approach to copying. The idea here is for you to take the journey and take the time to develop the answers to your questions through research from the internet. It will be all the more rewarding to learn where the difficult steps are, then realize there are many ways to resolve the issue and you implement a solution what YOU discovered.

    View Instructable »
  • badjer1's instructable Bones - the Arduino Fortune Teller's weekly stats: 12 months ago
    • Bones - the Arduino Fortune Teller
      532 views
      11 favorites
      2 comments
  • badjer1 commented on badjer1's instructable Bones - the Arduino Fortune Teller12 months ago
    Bones - the Arduino Fortune Teller

    Thanks! I had a lot of fun building it!

    View Instructable »
  • badjer1 commented on Thereisonlyme's instructable Nixie Jacobs ladder pumpkin1 year ago
    Nixie Jacobs ladder pumpkin

    I just built your circuit for a project and it rocks - but you have a program bug in it...you need the double "++" signs to increment the for statement. like this:for (int i=0; i<256; i++)

    View Instructable »
  • badjer1 followed Thereisonlyme1 year ago
  • badjer1 commented on Thereisonlyme's instructable Nixie Jacobs ladder pumpkin1 year ago
    Nixie Jacobs ladder pumpkin

    I am wanting to build this circuit and try my hand a IN-9 nixies, but I have a question about your circuit...I can't tell how you are handling the ground connections in the schematic versus the photo. Don't the grounds coming off the Caps (C1) have to go back to the GND pin on the trinket and the grounds coming off the R2 have to go back to the High Voltage driver board? It looks like in the photo there are not tied this way but all together and would this not fry the trinket?

    View Instructable »
  • badjer1 commented on badjer1's instructable Nixie Tube Pen Watchdog1 year ago
    Nixie Tube Pen Watchdog

    I buy mine here... from Sergey in Russia! It takes a LONG time to get them but his site is very good. It is written in English and has a lot of reference material for each tube. Just be patient to get them and know that it is much cheaper and the selection is great over ebay. http://tubes-store.com/index.php?cPath=32_130

    View Instructable »
  • badjer1 commented on badjer1's instructable Man Cave Extension Cord1 year ago
    Man Cave Extension Cord

    The EASY part was that the tail light was completely flat on the mounting to the face of the plywood box. Most tail lights have a curve in them so getting a flat mount would be a challenge to fabricate. I'm glad it gave you ideas!

    View Instructable »
  • badjer1 commented on badjer1's instructable Stained Glass Orrery USB Charger1 year ago
    Stained Glass Orrery USB Charger

    I made the main drive gear off the motor the one glued together. and to ensure the teeth stayed phased together or aligned, I pinned them together to hold them as well in case the glue let go.

    Yes I did glue them together and it did make them more reliable but the tooth size is still too small / fine. It would be great if there were a good source of small brass spur gears that were about 1/8" thick.

    View Instructable »
  • F-104 Starfighter Steampunk Lamp and Outlet

    Thanks! Just more practice!

    View Instructable »
  • F-104 Starfighter Steampunk Lamp and Outlet

    Thanks! Most of my projects start with a simple trigger like that bomb panel and then they evolve over weeks as ideas germinate, sprout then grow into reality! I totally stumbled on that NOS B-17 part while searching eBay for airplane parts. I felt I was in a time machine when I opened the box.

    The F104 panel lights are very delicate in functioning because of the very thin foil traces to power them. I can't imagine flying a plane and landing impacts etc. making panel lights go out.... WOW!

    View Instructable »