Introduction: Blinky Fish - Kickstarter Project
A PDF copy is attached to this step.
- Step-by-step assembly instructions
- Code example
- Eagle files
- Fabrication files
- Invoices
***
Attachments
Step 1: The Parts
1 - Blinky Fish board
3 - Red LEDs
3 - 220ohm resistors
1 - 10Kohm resistor
1 - right angle header with 6 pins
1 - push button
Some solder
Here is the soldering iron I am using: Hakko FX888D-23BY Digital Soldering Station FX-888D FX-888
Step 2: Large Images
Step 3: LEDs
Step 4: Resistors: 220ohm
Step 5: Resistor: 10K
Step 6: Button
Step 7: Header
Step 8: Connect to Arduino
Step 9: Arduino Code
Here is the code shown in the Kickstarter video. Hold the button down and the LEDs light up one at a time, release the button and they go off one at a time.
You can copy and paste the code below into the Arduino program, get it here -- http://arduino.cc/en/Main/Software
//****ARDUINO CODE *******// blinky_1 //LED'S on one at a time// LED'S OFF one at a time//Pinsint Led1 = 11; int Led2 = 10; int Led3 = 9; int Button = 12; int PullUp = 13; int ButtonState = 0; int oldButtonState = 0; voidsetup() { pinMode(Led1, OUTPUT); pinMode(Led2, OUTPUT); pinMode(Led3, OUTPUT); pinMode(Button, INPUT); pinMode(PullUp,OUTPUT); digitalWrite(PullUp, HIGH); } voidloop() { ButtonState = digitalRead(Button); if (ButtonState != oldButtonState){ if (ButtonState == HIGH){ digitalWrite(Led1, HIGH); delay(300); digitalWrite(Led2,HIGH); delay(300); digitalWrite(Led3,HIGH); delay(300); } else{ digitalWrite(Led3,LOW); delay(300); digitalWrite(Led2,LOW); delay(300); digitalWrite(Led1,LOW); delay(300); } oldButtonState = ButtonState; } }
Step 10: More Code - Larsen Scanner
when the button is pressed, it will turn the leds on and blink them like a Larsen Scanner. And if you hold down the button for a few seconds, it'll turn it off.
///////////////////// ARDUINO CODE //////////////////////////////////////
/*Combines code from "Getting Started with Arduino" by Massimo Banzi
http://shop.oreilly.com/product/9780596155520.do */
/*
from Kathy on Kickstarter - 4/7/2013
when the button is pressed, it will turn the leds on and blink them like a Larsen Scanner. And if you hold down the button for a few seconds, it'll turn it off.
*/
int button = 12; //button on pin 12
int pullup = 13; // use pullup on pin 13
int button_state = 0; // see if button has been pressed
int val = 0; // used to store the state of the input pin
int old_val = 0; // previous value of "val"
int delay_time = 250; // how fast or slow the leds blink
void setup(){
// set up leds as output
for (int i = 11; i > 8; i--){
pinMode(i, OUTPUT);
}
pinMode(button, INPUT); //set up button as input
digitalWrite(pullup, HIGH); // set up the pullup to be on
}
void loop(){
{
val = digitalRead(button); //read if the button is pressed
//check to see if there is a change
if ((val == HIGH) && (old_val == LOW)) {
button_state = 1 - button_state;
delay(10);
}
old_val = val;
if (button_state == 1){
for (int i = 11; i > 8; i--){
digitalWrite(i, LOW); // if the leds are on and the button is pressed, turn them off
}
}
else {
blinky_fish(); // if the leds are off and the button is pressed, turn them on
}
}
}
void blinky_fish(){
//blink the leds on and off in sequence like KITT in Knight Rider (aka Larsen
for (int i = 11; i > 8; i--){
digitalWrite(i, HIGH);
delay(delay_time);
digitalWrite(i, LOW);
}
for (int i = 9; i < 11; i++){
digitalWrite(i, HIGH);
delay(delay_time);
digitalWrite(i, LOW);
}
}
Step 11: Eagle Files That You Can Change
A sample version can be downloaded here http://www.cadsoftusa.com/download-eagle/
The schematic is Blinky_2.sch
The board design is Blinky_2.brd
Attachments
Step 12: Fabrication Files
Each file shows a layer of the circuit board.
You can view the actual files with a gerber viewer, but they are difficult to change correctly -- I am using GerbV Gerber File Viewer http://gerbv.gpleda.org/
Attachments
Step 13: Parts
Here is a large order of parts from DigiKey -
This table does NOT include the 10K resistor and the circuit boards.
Index | Quantity | Part Number | Description | Customer Reference | Unit Price USD | Extended Price USD | ||||
1 | 1000 | 160-1853-ND | LED RED 5MM RND DIF | RED LED | 0.05711 | $57.11 | ||||
2 | 2500 | CF14JT220RCT-ND | RES 220 OHM 1/4W 5% CARBON FILM | 220 RES | 0.00675 | $16.88 | ||||
3 | 100 | 952-2328-ND | 36 POS SIL VERT PIN HDR | RA HEADER | 0.7425 | $74.25 | ||||
4 | 300 | 450-1804-ND | SWITCH TACTILE SPST-NO 0.05A 12V | BUTTON | 0.07584 | $22.75 | ||||
5 | 1 | KE1132-ND | SOLDER NO-CLEAN .025" 23AWG 1LB | SOLDER | 123.61 | $123.61 | ||||
6 | 1 | SMDSWLF.020 4OZ-ND | SLD WIRE NO-CLEAN 96.5/3/.5 4OZ. | 1 | $21.75 | $21.75 | ||||
Subtotal | $316.35 | |||||||||
Shipping | unknown | |||||||||
Estimated Sales Tax | $19.77 | |||||||||
Total | unknown | |||||||||
Step 14: Order Printed Circuit Boards From China
This is from Golden Phonix PCB -- they have 'quick quotes' here.
This is the manufacturer used by the SparkFun company BatchPCB -- they are good for small orders especially if you are ordering multiple designs.
Step 15: To Buy One Now...
A few people have asked about buying this, the Kickstarter project is over. I thought I would try selling them right in the instructable... but that didn't work.
So, here is link that goes to a webpage, that only has the paypal button to buy the kits.
https://sites.google.com/site/shopmarcnow/
You can get either the Blinky Fish Kit alone, the FishBowl "Fish Out of Water" kit alone, or get both. Shipping is $2. If you are not in the USA.... I'm not sure what will happen....
Each kit is to make ONE thing (the kickstarter rewards included parts to make a whole bunch, that is why the price here is a little lower)
You can get either the Blinky Fish Kit alone, the FishBowl "Fish Out of Water" kit alone, or get both. Shipping is $2. If you are not in the USA.... I'm not sure what will happen....
Each kit is to make ONE thing (the kickstarter rewards included parts to make a whole bunch, that is why the price here is a little lower)