Blinky Fish - Kickstarter Project
by marc.cryan in Circuits > Arduino
5578 Views, 9 Favorites, 0 Comments
Blinky Fish - Kickstarter Project
A PDF copy is attached to this step.
- Step-by-step assembly instructions
- Code example
- Eagle files
- Fabrication files
- Invoices
***
Downloads
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
Large Images
LEDs
Resistors: 220ohm
Resistor: 10K
Button
Header
Connect to Arduino
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 //Pins int Led1 = 11; int Led2 = 10; int Led3 = 9; int Button = 12; int PullUp = 13; int ButtonState = 0; int oldButtonState = 0; void setup() { pinMode(Led1, OUTPUT); pinMode(Led2, OUTPUT); pinMode(Led3, OUTPUT); pinMode(Button, INPUT); pinMode(PullUp,OUTPUT); digitalWrite(PullUp, HIGH); } void loop() { 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; } }
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);
}
}
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
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/
Downloads
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 |
|||||||||
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.
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)