#include <Adafruit_NeoPixel.h>
#include <FastLED.h>
const int buttonPin0 = 2;
const int buttonPin5 = 5; // the number of the pushbutton pin 5
const int buttonPin7 = 7; // the number of the pushbutton pin 7
const int buttonPin9 = 9; // the number of the pushbutton pin 9
const int buttonPin10 = 10; // the number of the pushbutton pin 10
int score = 0;
int counter = 3;
#define LED_COUNT 30
#define LED_PIN 15
#define DELAY_MS 100
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
// initialize the digital pins as inputs:
pinMode(buttonPin0, INPUT);
pinMode(buttonPin5, INPUT);
pinMode(buttonPin7, INPUT);
pinMode(buttonPin9, INPUT);
pinMode(buttonPin10, INPUT);
strip.begin();
strip.show();
// initialize serial communication:
Serial.begin(9600);
}
void loop() {
// read the state of the pushbutton value:
int buttonState2 = digitalRead(buttonPin0);
int buttonState5 = digitalRead(buttonPin5);
int buttonState7 = digitalRead(buttonPin7);
int buttonState9 = digitalRead(buttonPin9);
int buttonState10 = digitalRead(buttonPin10);
// check if any of the buttons are pressed:
if (buttonState5 == HIGH && counter !=0) {
score+=5;
Serial.print("Button 5 pressed!");
Serial.println(score);
delay(100);
counter--;
}
if (buttonState7 == HIGH && counter !=0) {
score+=7;
Serial.print("Button 7 pressed!");
Serial.println(score);
delay(100);
counter--;
}
if (buttonState9 == HIGH && counter !=0) {
score+=9;
Serial.print("Button 9 pressed!");
Serial.println(score);
delay(100);
counter--;
}
if (buttonState10 == HIGH && counter !=0) {
score+=10;
Serial.print("Button 10 pressed!");
Serial.println(score);
delay(100);
counter--;
}
if (buttonState2 == HIGH && counter !=0) {
score+=0;
Serial.print("Button 0 pressed!");
Serial.println(score);
delay(100);
counter--;
}
// delay a little bit to avoid bouncing
delay(200);
if(score == 5){
for (int i = 0; i < 5; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 7){
for (int i = 0; i < 7; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 9){
for (int i = 0; i < 9; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 10){
for (int i = 0; i < 10; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 12){
for (int i = 0; i < 12; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 14){
for (int i = 0; i < 14; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 15){
for (int i = 0; i < 15; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 17){
for (int i = 0; i < 17; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 18){
for (int i = 0; i < 18; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 19){
for (int i = 0; i < 19; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 20){
for (int i = 0; i < 20; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 21){
for (int i = 0; i < 21; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 23){
for (int i = 0; i < 23; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 25){
for (int i = 0; i < 25; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 27){
for (int i = 0; i < 27; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 29){
for (int i = 0; i < 29; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(score == 30){
for (int i = 0; i < 30; i++) {
strip.setPixelColor(i, strip.Color(255, 255 ,255));
delay(DELAY_MS);
strip.show();
}
}
if(counter == 0){
softReset();
}
}
void softReset() {
asm volatile ("jmp 0");
}
/*
int ball1 = 11;
int ball2 = 12;
int ball3 = 13;
int val = 0;
int goal10 = 10;
int goal9 = 9;
int goal7 = 7;
int goal5 = 7;
#define LED_PIN 15
#define LED_COUNT 16
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
Serial.begin(9600);
pinMode(ball1, INPUT);
pinMode(ball2, INPUT);
pinMode(ball3, INPUT);
pinMode(goal10, INPUT);
pinMode(goal9, INPUT);
pinMode(goal7, INPUT);
pinMode(goal5, INPUT);
// put your setup code here, to run once:
}
void loop() {
int try1 = 0;
int score = 0;
/* if(digitalRead(ball1) == HIGH && digitalRead(ball2) == LOW && digitalRead(ball3) == LOW){
delay(10000);
if(digitalRead(goal5) == HIGH){
try1 = 5;
Serial.println("5");
}
if(digitalRead(goal7) == HIGH){
try1 = 7;
Serial.println("7");
}
if(digitalRead(goal9) == HIGH){
try1 = 9;
Serial.println("9");
}
if(digitalRead(goal10) == HIGH){
try1 = 10;
Serial.println("10");
}
else {
Serial.println("lose");
}
}
switch (score)
{
case digitalRead(goal5):
int score = 5
break;
case :
break;
case :
break;
case :
break;
case :
break;
default:
break;
}
int try2 = 0;
int try3 = 0;
}
void rainbow(uint8_t wait) {
uint16_t i, j;
for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i*1+j) & 255));
}
strip.show();
delay(wait);
}
}
// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
if(WheelPos < 85) {
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}
else if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
}
else {
WheelPos -= 170;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
}
*/