1
0
mirror of https://github.com/taigrr/arduinolibs synced 2025-01-18 04:33:12 -08:00

Document the BlinkLED and ChaseLEDs examples

This commit is contained in:
Rhys Weatherley 2012-04-11 17:05:13 +10:00
parent 45c2d09347
commit 4a4ff39952
16 changed files with 1063 additions and 20 deletions

View File

@ -1,19 +0,0 @@
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}

View File

@ -688,7 +688,7 @@ EXAMPLE_RECURSIVE = NO
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH =
IMAGE_PATH = ../libraries/BlinkLED/examples/Cylon ../libraries/BlinkLED/examples/Cylon4
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program

80
doc/blink-blink.dox Normal file
View File

@ -0,0 +1,80 @@
/*
* Copyright (C) 2012 Southern Storm Software, Pty Ltd.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
/**
\file blink-blink.dox
\page blink_blink Blinking LED Example
The BlinkLED class provides support logic for blinking a LED connected
to an output pin. The traditional way to blink a LED uses a delay loop:
\code
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
\endcode
The problem with this code is that the entire application is blocked
during the <tt>delay()</tt>. No other activities can be serviced.
BlinkLED provides a re-entrant timer-based implementation that is
simple to use in any application and which won't block other activities.
We start this example by including the BlinkLED class and instantiating an
object instance:
\dontinclude BlinkLED/examples/Blink/Blink.pde
\skip #include
\until statusBlink
In this example we have specified that the LED is on pin D13, the LED
should be on for 70 milliseconds, and off for 930 milliseconds. This
will cause the status LED to "strobe" once per second. The LED will
be initially off for 930 milliseconds after device reset. To start
with the LED on, use the following initialization code instead:
\code
BlinkLED statusBlink(13, 70, 930, true);
\endcode
The remaining code we need is a call to BlinkLED::loop() every time around
the main application loop:
\dontinclude BlinkLED/examples/Blink/Blink.pde
\skip loop()
\until }
As can be seen, BlinkLED simplifies the process of blinking a LED quite
considerably. It is also possible to \ref BlinkLED::pause() "pause()"
and \ref BlinkLED::resume() "resume()" the blinking. This is useful in
applications where a blinking LED indicates a certain state such as
an error condition or a long-running operation that is in progress;
with the LED off at other times. The on/off blink rate can be modified at
runtime using BlinkLED::setBlinkRate(), and the LED can be set to a
specific value using BlinkLED::setState().
The full source code for the example follows:
\include BlinkLED/examples/Blink/Blink.pde
*/

101
doc/blink-cylon.dox Normal file
View File

@ -0,0 +1,101 @@
/*
* Copyright (C) 2012 Southern Storm Software, Pty Ltd.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
/**
\file blink-cylon.dox
\page blink_cylon Cylon Eyes Example
This example shows how to use the ChaseLEDs class to simulate the Cylon
eye effect from Battlestar Galactica. Digital outputs are used to drive
six LED's in a back and forth motion, using the following schematic:
\image html Cylon.png
We start by including the ChaseLEDs class:
\dontinclude BlinkLED/examples/Cylon/Cylon.pde
\skip ChaseLEDs.h
\until ChaseLEDs.h
The next step is to define the pins that the chase will run over:
\dontinclude BlinkLED/examples/Cylon/Cylon.pde
\skip byte pins
\until cylonEyes
The chase runs from the first pin to the sixth pin and back again,
with each LED lit for 100 milliseconds before moving onto the next one.
To complete the example, we need to call ChaseLEDs::loop() each time
around our main loop to cause the chase to run:
\dontinclude BlinkLED/examples/Cylon/Cylon.pde
\skip loop()
\until }
While this example uses only six pins, it can be easily extended to any
number of pins by modifying the \c pins array and altering the schematic
accordingly.
So far we are chasing only a single LED. We could change this to chase
two adjacent LED's instead by defining a new \c CylonChase class that
inherits from ChaseLEDs:
\dontinclude BlinkLED/examples/Cylon2/Cylon2.pde
\skip class CylonChase
\until };
The important part is the implementation of the <tt>advance()</tt> method,
which overrides ChaseLEDs::advance() to provide our own scheme for lighting
the LED's each time the chase advances. We use ChaseLEDs::previousPin() to
get the pin that is 2 steps back in the sequence, set it to LOW, and then
set the previous pin (1 step back) and the next pin to HIGH. All that
remains is to change our chase initialization to use the new class:
\dontinclude BlinkLED/examples/Cylon2/Cylon2.pde
\skip byte pins
\until cylonEyes
We can do even better than this. Instead of fully lighting both LED's,
we could instead use the PWM outputs to dim the previous pin, creating a
kind of "trailing flame" effect:
\dontinclude BlinkLED/examples/Cylon3/Cylon3.pde
\skip advance(
\until }
The current chase is fixed at 100 milliseconds per LED, which takes a full
second to run the sequence. An alternative to hard-wiring the chase
rate is to hook up a 10K potentiometer to the A0 analog input:
\image html Cylon4.png
We then modify the <tt>advance()</tt> method to read the new chase rate
from the potentiometer each time the LED advances:
\dontinclude BlinkLED/examples/Cylon4/Cylon4.pde
\skip advance(
\until }
The full source code for the final version of the example follows:
\include BlinkLED/examples/Cylon4/Cylon4.pde
*/

View File

@ -35,4 +35,14 @@ LCD shield.
\li \ref lcd_hello_world "Hello World" example for the Freetronics LCD shield.
\li \ref lcd_form "Form" example for LCD displays.
\section main_BlinkLED BlinkLED Utility Library
\li BlinkLED class that simplifies the process of blinking a LED connected
to a output pin.
\li ChaseLEDs class that simplifies the process of performing a LED chase
over several output pins.
\li \ref blink_blink "Blink" example of using BlinkLED.
\li \ref blink_cylon "Cylon" example of using ChaseLEDs to simulate
the Cylon eye effect from Battlestar Galactica.
*/

View File

@ -46,6 +46,9 @@
* uint8_t pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
* ChaseLEDs chaser(pins, sizeof(pins), 150);
* \endcode
*
* See the \ref blink_cylon "Cylon" example for more information on
* how to use the ChaseLEDs class in a practical application.
*/
/**

View File

@ -0,0 +1,16 @@
/*
Blink the status LED using the BlinkLED utility class.
This example is placed into the public domain.
*/
#include <BlinkLED.h>
BlinkLED statusBlink(13, 70, 930);
void setup() {}
void loop() {
statusBlink.loop();
}

View File

@ -0,0 +1,238 @@
#FIG 3.2 Produced by xfig version 3.2.5b
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
6 5175 1530 7200 2475
6 5535 1755 5985 1845
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 1800 5535 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 1800 5868 1760 5814 1840 5760 1760 5706 1840 5652 1760
5625 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 1800 5890 1800
-6
6 6345 1665 6705 1890
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 1800 6480 1755 6480 1845 6570 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 1800 6705 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 1855 6570 1745
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 1665 6570 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 1665 6525 1665 6525 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 1665 6435 1665 6435 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 1665 6480 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 1800 6480 1800
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 1800 5175 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 1800 6390 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 1800 7200 1800 7200 2475
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 1665 220R\001
-6
6 5175 2205 7200 3150
6 5535 2430 5985 2520
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 2475 5535 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 2475 5868 2435 5814 2515 5760 2435 5706 2515 5652 2435
5625 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 2475 5890 2475
-6
6 6345 2340 6705 2565
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 2475 6480 2430 6480 2520 6570 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 2475 6705 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 2530 6570 2420
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 2340 6570 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 2340 6525 2340 6525 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 2340 6435 2340 6435 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 2340 6480 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 2475 6480 2475
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 2475 5175 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 2475 6390 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 2475 7200 2475 7200 3150
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 2340 220R\001
-6
6 5175 2880 7200 3825
6 5535 3105 5985 3195
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 3150 5535 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 3150 5868 3110 5814 3190 5760 3110 5706 3190 5652 3110
5625 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 3150 5890 3150
-6
6 6345 3015 6705 3240
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 3150 6480 3105 6480 3195 6570 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3150 6705 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3205 6570 3095
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 3015 6570 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 3015 6525 3015 6525 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 3015 6435 3015 6435 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 3015 6480 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 3150 6480 3150
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 3150 5175 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 3150 6390 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 3150 7200 3150 7200 3825
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3015 220R\001
-6
6 5175 3555 7200 4500
6 5535 3780 5985 3870
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 3825 5535 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 3825 5868 3785 5814 3865 5760 3785 5706 3865 5652 3785
5625 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 3825 5890 3825
-6
6 6345 3690 6705 3915
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 3825 6480 3780 6480 3870 6570 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3825 6705 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3880 6570 3770
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 3690 6570 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 3690 6525 3690 6525 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 3690 6435 3690 6435 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 3690 6480 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 3825 6480 3825
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 3825 5175 3825
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 3825 6390 3825
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 3825 7200 3825 7200 4500
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3690 220R\001
-6
6 5175 4230 7200 5175
6 5535 4455 5985 4545
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 4500 5535 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 4500 5868 4460 5814 4540 5760 4460 5706 4540 5652 4460
5625 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 4500 5890 4500
-6
6 6345 4365 6705 4590
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 4500 6480 4455 6480 4545 6570 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 4500 6705 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 4555 6570 4445
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 4365 6570 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 4365 6525 4365 6525 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 4365 6435 4365 6435 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 4365 6480 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 4500 6480 4500
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 4500 5175 4500
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 4500 6390 4500
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 4500 7200 4500 7200 5175
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 4365 220R\001
-6
6 5175 4905 7200 5850
6 5535 5130 5985 5220
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 5175 5535 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 5175 5868 5135 5814 5215 5760 5135 5706 5215 5652 5135
5625 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 5175 5890 5175
-6
6 6345 5040 6705 5265
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 5175 6480 5130 6480 5220 6570 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 5175 6705 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 5230 6570 5120
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 5040 6570 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 5040 6525 5040 6525 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 5040 6435 5040 6435 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 5040 6480 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 5175 6480 5175
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 5175 5175 5175
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 5175 6390 5175
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 5175 7200 5175 7200 5850
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 5040 220R\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2700 1350 5175 1350 5175 6300 2700 6300 2700 1350
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7200 5850 5175 5850
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 2565 DOUT5\001
4 0 0 50 -1 0 12 0.0000 4 135 1065 2880 3870 Arduino Uno\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 1845 DOUT3\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3195 DOUT6\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3870 DOUT9\001
4 0 0 50 -1 0 12 0.0000 4 135 735 4275 4545 DOUT10\001
4 0 0 50 -1 0 12 0.0000 4 135 735 4275 5220 DOUT11\001
4 0 0 50 -1 0 12 0.0000 4 135 405 4500 5895 GND\001
4 0 0 50 -1 0 12 0.0000 4 135 1560 7470 3510 6 x 3mm RED LED\001

View File

@ -0,0 +1,18 @@
/*
Sketch that manipulates Arduino outputs to create the "Cylon Eyes" effect from
Battlestar Galactica. It uses the ChaseLEDs utility class.
This example is placed into the public domain.
*/
#include <ChaseLEDs.h>
byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
ChaseLEDs cylonEyes(pins, sizeof(pins), 100);
void setup() {}
void loop() {
cylonEyes.loop();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,32 @@
/*
Sketch that manipulates Arduino outputs to create the "Cylon Eyes" effect from
Battlestar Galactica. It uses the ChaseLEDs utility class.
This example is placed into the public domain.
*/
#include <ChaseLEDs.h>
class CylonChase : public ChaseLEDs
{
public:
CylonChase(const byte *pins, int num, unsigned long advanceTime)
: ChaseLEDs(pins, num, advanceTime) {}
protected:
void advance(byte prevPin, byte nextPin) {
digitalWrite(previousPin(2), LOW);
digitalWrite(prevPin, HIGH);
digitalWrite(nextPin, HIGH);
}
};
byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
CylonChase cylonEyes(pins, sizeof(pins), 100);
void setup() {}
void loop() {
cylonEyes.loop();
}

View File

@ -0,0 +1,32 @@
/*
Sketch that manipulates Arduino outputs to create the "Cylon Eyes" effect from
Battlestar Galactica. It uses the ChaseLEDs utility class.
This example is placed into the public domain.
*/
#include <ChaseLEDs.h>
class CylonChase : public ChaseLEDs
{
public:
CylonChase(const byte *pins, int num, unsigned long advanceTime)
: ChaseLEDs(pins, num, advanceTime) {}
protected:
void advance(byte prevPin, byte nextPin) {
digitalWrite(previousPin(2), LOW);
analogWrite(prevPin, 32);
digitalWrite(nextPin, HIGH);
}
};
byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
CylonChase cylonEyes(pins, sizeof(pins), 100);
void setup() {}
void loop() {
cylonEyes.loop();
}

View File

@ -0,0 +1,261 @@
#FIG 3.2 Produced by xfig version 3.2.5b
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
6 5175 1530 7200 2475
6 5535 1755 5985 1845
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 1800 5535 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 1800 5868 1760 5814 1840 5760 1760 5706 1840 5652 1760
5625 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 1800 5890 1800
-6
6 6345 1665 6705 1890
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 1800 6480 1755 6480 1845 6570 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 1800 6705 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 1855 6570 1745
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 1665 6570 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 1665 6525 1665 6525 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 1665 6435 1665 6435 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 1665 6480 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 1800 6480 1800
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 1800 5175 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 1800 6390 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 1800 7200 1800 7200 2475
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 1665 220R\001
-6
6 5175 2205 7200 3150
6 5535 2430 5985 2520
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 2475 5535 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 2475 5868 2435 5814 2515 5760 2435 5706 2515 5652 2435
5625 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 2475 5890 2475
-6
6 6345 2340 6705 2565
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 2475 6480 2430 6480 2520 6570 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 2475 6705 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 2530 6570 2420
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 2340 6570 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 2340 6525 2340 6525 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 2340 6435 2340 6435 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 2340 6480 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 2475 6480 2475
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 2475 5175 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 2475 6390 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 2475 7200 2475 7200 3150
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 2340 220R\001
-6
6 5175 2880 7200 3825
6 5535 3105 5985 3195
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 3150 5535 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 3150 5868 3110 5814 3190 5760 3110 5706 3190 5652 3110
5625 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 3150 5890 3150
-6
6 6345 3015 6705 3240
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 3150 6480 3105 6480 3195 6570 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3150 6705 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3205 6570 3095
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 3015 6570 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 3015 6525 3015 6525 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 3015 6435 3015 6435 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 3015 6480 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 3150 6480 3150
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 3150 5175 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 3150 6390 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 3150 7200 3150 7200 3825
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3015 220R\001
-6
6 5175 3555 7200 4500
6 5535 3780 5985 3870
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 3825 5535 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 3825 5868 3785 5814 3865 5760 3785 5706 3865 5652 3785
5625 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 3825 5890 3825
-6
6 6345 3690 6705 3915
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 3825 6480 3780 6480 3870 6570 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3825 6705 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3880 6570 3770
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 3690 6570 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 3690 6525 3690 6525 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 3690 6435 3690 6435 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 3690 6480 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 3825 6480 3825
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 3825 5175 3825
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 3825 6390 3825
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 3825 7200 3825 7200 4500
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3690 220R\001
-6
6 5175 4230 7200 5175
6 5535 4455 5985 4545
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 4500 5535 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 4500 5868 4460 5814 4540 5760 4460 5706 4540 5652 4460
5625 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 4500 5890 4500
-6
6 6345 4365 6705 4590
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 4500 6480 4455 6480 4545 6570 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 4500 6705 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 4555 6570 4445
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 4365 6570 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 4365 6525 4365 6525 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 4365 6435 4365 6435 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 4365 6480 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 4500 6480 4500
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 4500 5175 4500
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 4500 6390 4500
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 4500 7200 4500 7200 5175
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 4365 220R\001
-6
6 5175 4905 7200 5850
6 5535 5130 5985 5220
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 5175 5535 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 5175 5868 5135 5814 5215 5760 5135 5706 5215 5652 5135
5625 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 5175 5890 5175
-6
6 6345 5040 6705 5265
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 5175 6480 5130 6480 5220 6570 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 5175 6705 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 5230 6570 5120
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 5040 6570 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 5040 6525 5040 6525 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 5040 6435 5040 6435 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 5040 6480 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 5175 6480 5175
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 5175 5175 5175
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 5175 6390 5175
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 5175 7200 5175 7200 5850
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 5040 220R\001
-6
6 1305 3375 1530 3825
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
1395 3600 1465 3565 1465 3635 1395 3600
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
1350 3730 1350 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
1350 3465 1390 3492 1310 3546 1390 3600 1310 3654 1390 3708
1350 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
1350 3375 1350 3470
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
1530 3600 1440 3600
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2700 1350 5175 1350 5175 6300 2700 6300 2700 1350
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7200 5850 5175 5850
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
1485 3600 2700 3600
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
1350 3375 1350 1800 2700 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
1350 3780 1350 5850 2700 5850
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 2565 DOUT5\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 1845 DOUT3\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3195 DOUT6\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3870 DOUT9\001
4 0 0 50 -1 0 12 0.0000 4 135 735 4275 4545 DOUT10\001
4 0 0 50 -1 0 12 0.0000 4 135 735 4275 5220 DOUT11\001
4 0 0 50 -1 0 12 0.0000 4 135 405 4500 5895 GND\001
4 0 0 50 -1 0 12 0.0000 4 135 1560 7470 3510 6 x 3mm RED LED\001
4 0 0 50 -1 0 12 0.0000 4 135 1065 3285 2880 Arduino Uno\001
4 0 0 50 -1 0 12 0.0000 4 135 435 2835 3645 AIN0\001
4 0 0 50 -1 0 12 0.0000 4 135 240 2835 1845 5V\001
4 0 0 50 -1 0 12 0.0000 4 135 405 2790 5895 GND\001
4 0 0 50 -1 0 12 0.0000 4 135 345 810 3645 10K\001

View File

@ -0,0 +1,238 @@
#FIG 3.2 Produced by xfig version 3.2.5b
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
6 5175 1530 7200 2475
6 5535 1755 5985 1845
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 1800 5535 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 1800 5868 1760 5814 1840 5760 1760 5706 1840 5652 1760
5625 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 1800 5890 1800
-6
6 6345 1665 6705 1890
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 1800 6480 1755 6480 1845 6570 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 1800 6705 1800
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 1855 6570 1745
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 1665 6570 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 1665 6525 1665 6525 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 1665 6435 1665 6435 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 1665 6480 1710
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 1800 6480 1800
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 1800 5175 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 1800 6390 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 1800 7200 1800 7200 2475
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 1665 220R\001
-6
6 5175 2205 7200 3150
6 5535 2430 5985 2520
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 2475 5535 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 2475 5868 2435 5814 2515 5760 2435 5706 2515 5652 2435
5625 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 2475 5890 2475
-6
6 6345 2340 6705 2565
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 2475 6480 2430 6480 2520 6570 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 2475 6705 2475
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 2530 6570 2420
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 2340 6570 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 2340 6525 2340 6525 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 2340 6435 2340 6435 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 2340 6480 2385
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 2475 6480 2475
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 2475 5175 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 2475 6390 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 2475 7200 2475 7200 3150
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 2340 220R\001
-6
6 5175 2880 7200 3825
6 5535 3105 5985 3195
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 3150 5535 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 3150 5868 3110 5814 3190 5760 3110 5706 3190 5652 3110
5625 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 3150 5890 3150
-6
6 6345 3015 6705 3240
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 3150 6480 3105 6480 3195 6570 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3150 6705 3150
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3205 6570 3095
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 3015 6570 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 3015 6525 3015 6525 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 3015 6435 3015 6435 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 3015 6480 3060
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 3150 6480 3150
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 3150 5175 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 3150 6390 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 3150 7200 3150 7200 3825
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3015 220R\001
-6
6 5175 3555 7200 4500
6 5535 3780 5985 3870
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 3825 5535 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 3825 5868 3785 5814 3865 5760 3785 5706 3865 5652 3785
5625 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 3825 5890 3825
-6
6 6345 3690 6705 3915
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 3825 6480 3780 6480 3870 6570 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3825 6705 3825
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 3880 6570 3770
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 3690 6570 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 3690 6525 3690 6525 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 3690 6435 3690 6435 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 3690 6480 3735
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 3825 6480 3825
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 3825 5175 3825
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 3825 6390 3825
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 3825 7200 3825 7200 4500
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 3690 220R\001
-6
6 5175 4230 7200 5175
6 5535 4455 5985 4545
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 4500 5535 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 4500 5868 4460 5814 4540 5760 4460 5706 4540 5652 4460
5625 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 4500 5890 4500
-6
6 6345 4365 6705 4590
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 4500 6480 4455 6480 4545 6570 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 4500 6705 4500
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 4555 6570 4445
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 4365 6570 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 4365 6525 4365 6525 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 4365 6435 4365 6435 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 4365 6480 4410
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 4500 6480 4500
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 4500 5175 4500
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 4500 6390 4500
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 4500 7200 4500 7200 5175
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 4365 220R\001
-6
6 5175 4905 7200 5850
6 5535 5130 5985 5220
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5630 5175 5535 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 7
5895 5175 5868 5135 5814 5215 5760 5135 5706 5215 5652 5135
5625 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
5985 5175 5890 5175
-6
6 6345 5040 6705 5265
2 1 0 1 0 -1 0 0 20 0.000 0 0 -1 0 0 4
6570 5175 6480 5130 6480 5220 6570 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 5175 6705 5175
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6570 5230 6570 5120
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6525 5040 6570 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6570 5040 6525 5040 6525 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 3
6480 5040 6435 5040 6435 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6435 5040 6480 5085
2 1 0 1 0 -1 0 0 -1 0.000 0 0 -1 0 0 2
6345 5175 6480 5175
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5535 5175 5175 5175
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5985 5175 6390 5175
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6660 5175 7200 5175 7200 5850
4 0 0 50 -1 0 12 0.0000 4 135 450 5535 5040 220R\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2700 1350 5175 1350 5175 6300 2700 6300 2700 1350
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7200 5850 5175 5850
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 2565 DOUT5\001
4 0 0 50 -1 0 12 0.0000 4 135 1065 2880 3870 Arduino Uno\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 1845 DOUT3\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3195 DOUT6\001
4 0 0 50 -1 0 12 0.0000 4 135 630 4275 3870 DOUT9\001
4 0 0 50 -1 0 12 0.0000 4 135 735 4275 4545 DOUT10\001
4 0 0 50 -1 0 12 0.0000 4 135 735 4275 5220 DOUT11\001
4 0 0 50 -1 0 12 0.0000 4 135 405 4500 5895 GND\001
4 0 0 50 -1 0 12 0.0000 4 135 1560 7470 3510 6 x 3mm RED LED\001

View File

@ -0,0 +1,33 @@
/*
Sketch that manipulates Arduino outputs to create the "Cylon Eyes" effect from
Battlestar Galactica. It uses the ChaseLEDs utility class.
This example is placed into the public domain.
*/
#include <ChaseLEDs.h>
class CylonChase : public ChaseLEDs
{
public:
CylonChase(const byte *pins, int num, unsigned long advanceTime)
: ChaseLEDs(pins, num, advanceTime) {}
protected:
void advance(byte prevPin, byte nextPin) {
digitalWrite(previousPin(2), LOW);
analogWrite(prevPin, 32);
digitalWrite(nextPin, HIGH);
setAdvanceTime(map(analogRead(A0), 0, 1023, 25, 250));
}
};
byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5};
CylonChase cylonEyes(pins, sizeof(pins), 100);
void setup() {}
void loop() {
cylonEyes.loop();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB