diff --git a/Blink/Blink.pde b/Blink/Blink.pde deleted file mode 100644 index 1953c390..00000000 --- a/Blink/Blink.pde +++ /dev/null @@ -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 -} diff --git a/doc/Doxyfile b/doc/Doxyfile index c884ae54..cbf818b1 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -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 diff --git a/doc/blink-blink.dox b/doc/blink-blink.dox new file mode 100644 index 00000000..5a435d62 --- /dev/null +++ b/doc/blink-blink.dox @@ -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 delay(). 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 +*/ diff --git a/doc/blink-cylon.dox b/doc/blink-cylon.dox new file mode 100644 index 00000000..e3cefdf3 --- /dev/null +++ b/doc/blink-cylon.dox @@ -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 advance() 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 advance() 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 +*/ diff --git a/doc/mainpage.dox b/doc/mainpage.dox index 204a7ab1..da63ec1d 100644 --- a/doc/mainpage.dox +++ b/doc/mainpage.dox @@ -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. + */ diff --git a/libraries/BlinkLED/ChaseLEDs.cpp b/libraries/BlinkLED/ChaseLEDs.cpp index a7eb6612..a9ae25c2 100644 --- a/libraries/BlinkLED/ChaseLEDs.cpp +++ b/libraries/BlinkLED/ChaseLEDs.cpp @@ -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. */ /** diff --git a/libraries/BlinkLED/examples/Blink/Blink.pde b/libraries/BlinkLED/examples/Blink/Blink.pde new file mode 100644 index 00000000..4784455c --- /dev/null +++ b/libraries/BlinkLED/examples/Blink/Blink.pde @@ -0,0 +1,16 @@ +/* +Blink the status LED using the BlinkLED utility class. + +This example is placed into the public domain. +*/ + +#include + +BlinkLED statusBlink(13, 70, 930); + +void setup() {} + +void loop() { + statusBlink.loop(); +} + diff --git a/libraries/BlinkLED/examples/Cylon/Cylon.fig b/libraries/BlinkLED/examples/Cylon/Cylon.fig new file mode 100644 index 00000000..9d61f269 --- /dev/null +++ b/libraries/BlinkLED/examples/Cylon/Cylon.fig @@ -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 diff --git a/libraries/BlinkLED/examples/Cylon/Cylon.pde b/libraries/BlinkLED/examples/Cylon/Cylon.pde new file mode 100644 index 00000000..ea2e8324 --- /dev/null +++ b/libraries/BlinkLED/examples/Cylon/Cylon.pde @@ -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 + +byte pins[] = {3, 5, 6, 9, 10, 11, 10, 9, 6, 5}; +ChaseLEDs cylonEyes(pins, sizeof(pins), 100); + +void setup() {} + +void loop() { + cylonEyes.loop(); +} + diff --git a/libraries/BlinkLED/examples/Cylon/Cylon.png b/libraries/BlinkLED/examples/Cylon/Cylon.png new file mode 100644 index 00000000..231ccb78 Binary files /dev/null and b/libraries/BlinkLED/examples/Cylon/Cylon.png differ diff --git a/libraries/BlinkLED/examples/Cylon2/Cylon2.pde b/libraries/BlinkLED/examples/Cylon2/Cylon2.pde new file mode 100644 index 00000000..185e1596 --- /dev/null +++ b/libraries/BlinkLED/examples/Cylon2/Cylon2.pde @@ -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 + +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(); +} + diff --git a/libraries/BlinkLED/examples/Cylon3/Cylon3.pde b/libraries/BlinkLED/examples/Cylon3/Cylon3.pde new file mode 100644 index 00000000..007f45ce --- /dev/null +++ b/libraries/BlinkLED/examples/Cylon3/Cylon3.pde @@ -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 + +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(); +} + diff --git a/libraries/BlinkLED/examples/Cylon4/Cylon4.fig b/libraries/BlinkLED/examples/Cylon4/Cylon4.fig new file mode 100644 index 00000000..0b6ffbe5 --- /dev/null +++ b/libraries/BlinkLED/examples/Cylon4/Cylon4.fig @@ -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 diff --git a/libraries/BlinkLED/examples/Cylon4/Cylon4.fig.bak b/libraries/BlinkLED/examples/Cylon4/Cylon4.fig.bak new file mode 100644 index 00000000..9d61f269 --- /dev/null +++ b/libraries/BlinkLED/examples/Cylon4/Cylon4.fig.bak @@ -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 diff --git a/libraries/BlinkLED/examples/Cylon4/Cylon4.pde b/libraries/BlinkLED/examples/Cylon4/Cylon4.pde new file mode 100644 index 00000000..9b38dff0 --- /dev/null +++ b/libraries/BlinkLED/examples/Cylon4/Cylon4.pde @@ -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 + +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(); +} + diff --git a/libraries/BlinkLED/examples/Cylon4/Cylon4.png b/libraries/BlinkLED/examples/Cylon4/Cylon4.png new file mode 100644 index 00000000..a4212868 Binary files /dev/null and b/libraries/BlinkLED/examples/Cylon4/Cylon4.png differ