Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Adafruit_NeoPixel.h> //Library for Neopixel strip
- #define LED_PIN 12 //Pin for the eyes.
- #define button_LEFT 7
- #define button_RIGHT 8
- #define button_STARTPAUSE 13
- #define startFace 0 //The face to start with.
- #define NUMPIXELS 25 // How many NeoPixels are attached to the Arduino?
- int face = startFace;
- Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
- //Defining all the faces/eyes for the radio
- void face0(){
- pixels.setPixelColor(19, pixels.Color(255,140,0));
- pixels.setPixelColor(11, pixels.Color(255,140,0));
- pixels.setPixelColor(7, pixels.Color(255,140,0));
- pixels.setPixelColor(13, pixels.Color(255,140,0));
- pixels.setPixelColor(15, pixels.Color(255,140,0));
- pixels.show();
- myDelay(300);
- reset();
- pixels.setPixelColor(10, pixels.Color(255,140,0));
- pixels.setPixelColor(8, pixels.Color(255,140,0));
- pixels.setPixelColor(2, pixels.Color(255,140,0));
- pixels.setPixelColor(6, pixels.Color(255,140,0));
- pixels.setPixelColor(14, pixels.Color(255,140,0));
- pixels.show();
- myDelay(300);
- reset();
- }
- void face1(){
- pixels.setPixelColor(23, pixels.Color(0,255,0));
- pixels.setPixelColor(17, pixels.Color(0,255,0));
- pixels.setPixelColor(11, pixels.Color(0,255,0));
- pixels.setPixelColor(7, pixels.Color(0,255,0));
- pixels.setPixelColor(3, pixels.Color(0,255,0));
- pixels.show();
- myDelay(300);
- reset();
- pixels.setPixelColor(22, pixels.Color(0,255,0));
- pixels.setPixelColor(18, pixels.Color(0,255,0));
- pixels.setPixelColor(10, pixels.Color(0,255,0));
- pixels.setPixelColor(8, pixels.Color(0,255,0));
- pixels.setPixelColor(2, pixels.Color(0,255,0));
- pixels.show();
- myDelay(300);
- reset();
- }
- void face2(){
- pixels.setPixelColor(18, pixels.Color(255,255,255));
- pixels.setPixelColor(11, pixels.Color(255,255,255));
- pixels.setPixelColor(8, pixels.Color(255,255,255));
- pixels.setPixelColor(7, pixels.Color(255,255,255));
- pixels.setPixelColor(6, pixels.Color(255,255,255));
- pixels.setPixelColor(13, pixels.Color(255,255,255));
- pixels.setPixelColor(16, pixels.Color(255,255,255));
- pixels.setPixelColor(17, pixels.Color(255,255,255));
- pixels.show();
- myDelay(300);
- reset();
- pixels.setPixelColor(20, pixels.Color(255,255,255));
- pixels.setPixelColor(19, pixels.Color(255,255,255));
- pixels.setPixelColor(10, pixels.Color(255,255,255));
- pixels.setPixelColor(9, pixels.Color(255,255,255));
- pixels.setPixelColor(0, pixels.Color(255,255,255));
- pixels.setPixelColor(1, pixels.Color(255,255,255));
- pixels.setPixelColor(2, pixels.Color(255,255,255));
- pixels.setPixelColor(3, pixels.Color(255,255,255));
- pixels.setPixelColor(4, pixels.Color(255,255,255));
- pixels.setPixelColor(5, pixels.Color(255,255,255));
- pixels.setPixelColor(14, pixels.Color(255,255,255));
- pixels.setPixelColor(15, pixels.Color(255,255,255));
- pixels.setPixelColor(24, pixels.Color(255,255,255));
- pixels.setPixelColor(23, pixels.Color(255,255,255));
- pixels.setPixelColor(22, pixels.Color(255,255,255));
- pixels.setPixelColor(21, pixels.Color(255,255,255));
- pixels.show();
- myDelay(300);
- reset();
- }
- void face3(){
- pixels.setPixelColor(20, pixels.Color(250,0,0));
- pixels.setPixelColor(18, pixels.Color(250,0,0));
- pixels.setPixelColor(12, pixels.Color(250,0,0));
- pixels.setPixelColor(13, pixels.Color(250,0,0));
- pixels.setPixelColor(17, pixels.Color(250,0,0));
- pixels.setPixelColor(21, pixels.Color(250,0,0));
- pixels.setPixelColor(6, pixels.Color(250,0,0));
- pixels.setPixelColor(4, pixels.Color(250,0,0));
- pixels.setPixelColor(5, pixels.Color(250,0,0));
- pixels.show();
- }
- void face4(){
- for(int i=0;i<256;i++){
- pixels.setPixelColor(22, pixels.Color(0,0,i));
- pixels.setPixelColor(17, pixels.Color(0,0,i));
- pixels.setPixelColor(12, pixels.Color(0,0,i));
- pixels.setPixelColor(7, pixels.Color(0,0,i));
- pixels.setPixelColor(2, pixels.Color(0,0,i));
- i=i+4;
- pixels.show();
- myDelay(20);
- }
- for(int i=255;i>0;i--){
- pixels.setPixelColor(22, pixels.Color(0,0,i));
- pixels.setPixelColor(17, pixels.Color(0,0,i));
- pixels.setPixelColor(12, pixels.Color(0,0,i));
- pixels.setPixelColor(7, pixels.Color(0,0,i));
- pixels.setPixelColor(2, pixels.Color(0,0,i));
- i=i-4;
- pixels.show();
- myDelay(20);
- }
- }
- void face5(){
- pixels.setPixelColor(24, pixels.Color(50,205,50));
- pixels.setPixelColor(16, pixels.Color(50,205,50));
- pixels.setPixelColor(12, pixels.Color(50,205,50));
- pixels.setPixelColor(8, pixels.Color(50,205,50));
- pixels.setPixelColor(0, pixels.Color(50,205,50));
- for(int i=0;i<NUMPIXELS;i++){
- if(i==1||i==2||i==3||i==4){
- pixels.setPixelColor(1, pixels.Color(0,0,255)); // Moderately bright green color.
- pixels.show();
- myDelay(300);
- pixels.setPixelColor(1, pixels.Color(0,0,0)); // Moderately bright green color.
- pixels.setPixelColor(2, pixels.Color(0,0,255)); // Moderately bright green color.
- pixels.show();
- myDelay(300);
- pixels.setPixelColor(2, pixels.Color(0,0,0)); // Moderately bright green color.
- pixels.setPixelColor(3, pixels.Color(0,0,255)); // Moderately bright green color.
- pixels.show();
- myDelay(300);
- pixels.setPixelColor(3, pixels.Color(0,0,0)); // Moderately bright green color.
- pixels.setPixelColor(4, pixels.Color(0,0,255)); // Moderately bright green color.
- pixels.show();
- myDelay(300);
- pixels.setPixelColor(4, pixels.Color(0,0,0)); // Moderately bright green color.
- }
- }
- }
- void face6(){
- for(int i=0;i<NUMPIXELS;i++){
- pixels.setPixelColor(i, pixels.Color(150,150,150));
- }
- pixels.setPixelColor(11, pixels.Color(0,0,0));
- pixels.setPixelColor(8, pixels.Color(0,0,0));
- pixels.setPixelColor(13, pixels.Color(0,0,0));
- pixels.setPixelColor(18, pixels.Color(0,0,0));
- pixels.setPixelColor(7, pixels.Color(0,0,0));
- pixels.setPixelColor(16, pixels.Color(0,0,0));
- pixels.setPixelColor(6, pixels.Color(0,0,0));
- pixels.show();
- myDelay(300);
- reset();
- for(int i=0;i<NUMPIXELS;i++){
- pixels.setPixelColor(i, pixels.Color(150,150,150));
- }
- pixels.setPixelColor(11, pixels.Color(0,0,0));
- pixels.setPixelColor(8, pixels.Color(0,0,0));
- pixels.setPixelColor(13, pixels.Color(0,0,0));
- pixels.setPixelColor(18, pixels.Color(0,0,0));
- pixels.setPixelColor(17, pixels.Color(0,0,0));
- pixels.setPixelColor(16, pixels.Color(0,0,0));
- pixels.setPixelColor(6, pixels.Color(0,0,0));
- pixels.show();
- myDelay(300);
- reset();
- }
- void face7(){
- pixels.setPixelColor(21, pixels.Color(50,50,105));
- pixels.setPixelColor(17, pixels.Color(50,50,105));
- pixels.setPixelColor(12, pixels.Color(50,50,105));
- pixels.setPixelColor(7, pixels.Color(50,50,105));
- pixels.setPixelColor(1, pixels.Color(50,50,105));
- pixels.show();
- }
- void face8(){
- pixels.setPixelColor(23, pixels.Color(50,105,50));
- pixels.setPixelColor(17, pixels.Color(50,105,50));
- pixels.setPixelColor(12, pixels.Color(50,105,50));
- pixels.setPixelColor(7, pixels.Color(50,105,50));
- pixels.setPixelColor(3, pixels.Color(50,105,50));
- pixels.show();
- }
- //Checks which face is to be set
- void checkFace(){
- if(face == 9){
- face = 0;
- face0();
- }else if(face == -1){
- face = 8;
- face8();
- }else if(face == 0){
- face0();
- }else if(face == 1){
- face1();
- }else if(face == 2){
- face2();
- }else if(face == 3){
- face3();
- }else if(face == 4){
- face4();
- }else if(face == 5){
- face5();
- }else if(face == 6){
- face6();
- }else if(face == 7){
- face7();
- }else if(face == 8){
- face8();
- }else {
- face0();
- }
- }
- //Changes the face on each Buttoninput
- void changeFace(){
- if(digitalRead(button_RIGHT) == LOW){
- face++;
- reset();
- delay(250);
- }
- if(digitalRead(button_LEFT) == LOW){
- face--;
- reset();
- delay(250);
- }
- }
- //Resets all the pixels on the Neopixel strip
- void reset(){
- for(int i=0;i<NUMPIXELS;i++){
- pixels.setPixelColor(i, pixels.Color(0,0,0));
- }
- pixels.show();
- }
- //Defining an own delay, which can be interrupted at any time by an input
- void myDelay(int delayTime){
- for(int i=0;i<delayTime;i++){
- if(digitalRead(button_RIGHT) == LOW || digitalRead(button_LEFT) == LOW){
- break;
- }else{
- delay(1);
- }
- }
- }
- void setup() {
- //Defining all buttons as pull-ups
- pinMode(button_LEFT, INPUT_PULLUP);
- pinMode(button_RIGHT, INPUT_PULLUP);
- pinMode(button_STARTPAUSE, INPUT_PULLUP);
- //This initializes the NeoPixel library.
- pixels.begin();
- }
- void loop() {
- changeFace();
- checkFace();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement