Monday, October 20, 2014

//This is an updated code for the light that lights up when pressed
//And dims when not pressed. The last code turned it on and off
//completely, whereas this one can move between 0-250 whenever the
//button is pressed or released without having to to to a max.
//Includes "Serial.println's" for debugging.
int led=3;
int val;
int buttonstate;
int fadeValue;
int switchpin=2;
int Val2;

void setup()
{
  pinMode(switchpin,INPUT);
  Serial.begin(9600);
  buttonstate=digitalRead(switchpin);
}
void loop()
{
  val=digitalRead(switchpin);
  Serial.println("AAAAAAAAAAAAA");
  if(val!=buttonstate)
  {
    if(val==HIGH)
    {
      Serial.println("INCREASING");
      Val2=1;
      delay(70);
    }
    else
    {
      Serial.println("DECREASING");
      Val2=2;
      delay(70);
    }
  }
  if(Val2==1)
  {
    if(fadeValue<=250)
    {
    fadeValue=fadeValue+5;
    }
  }
  if(Val2==2)
  {
    if(fadeValue>=5)
    {
    fadeValue=fadeValue-5;
    }
  }
  analogWrite(led, fadeValue);
  Serial.println(fadeValue);
  buttonstate=val;
}
   

Thursday, October 16, 2014

//A simple code that brightens and dims an Led.
int brightness=0;
int fadeamount=5;

void setup(){
  pinMode(3, OUTPUT);
}

void loop(){
  analogWrite(3, brightness);
  brightness=brightness+fadeamount;
 
  if(brightness==0||brightness==255){
    fadeamount=-fadeamount;
  }

  delay(30);
}

//Unlike the other dimming code, you cannot control
//the individual speed of dimming and increasing of brightness
//you have 1 speed for both, which is the delay
//This code is a code for a true togglable Led. Where when you turn it on, it stays //on until you press it again.
int switchpin=2;
int val;
int buttonstate;
int led=7;
int ledstate=0;

void setup(){
  pinMode(switchpin, INPUT);
  pinMode(led, OUTPUT);
  Serial.begin(9600);
  buttonstate=digitalRead(switchpin);
}

void loop(){
  val=digitalRead(switchpin);
  if(val !=buttonstate){

    if (val==HIGH){

      if(ledstate==0){

        Serial.println("BUTTON PRESSED");
        digitalWrite(led, HIGH);
        ledstate=1;
      }

      else{
        Serial.println("BUTTON RELEASED");
        digitalWrite(led, LOW);
        ledstate=0;
      }
    }
  }
  buttonstate=val;
}
//This is a code for a turn signal button which uses a variable system.
int switchpin=2;
int val;
int buttonstate;
int led=9;
int ledstate=0;
int val2;
void setup(){
  pinMode(switchpin, INPUT);
  pinMode(led, OUTPUT);
  Serial.begin(9600);
  buttonstate=digitalRead(switchpin);
}

void loop(){
  Serial.println(ledstate);
  val=digitalRead(switchpin);
 
  if(val !=buttonstate){

    if (val==HIGH){
      if(ledstate<=2){
        ledstate++;
    }}
      else{
      }}
      buttonstate=val;
 
  if(ledstate==1){
    for(int led=9; led>=7; led=led-1){
      pinMode(led, OUTPUT);
      digitalWrite(led, HIGH);
      delay(200);
      digitalWrite(led, LOW);
    }
  }
  if(ledstate==0){
    digitalWrite(led, HIGH);
    delay(500);
    digitalWrite(led, LOW);
    delay(500);
  }
  if(ledstate==2){
    digitalWrite(led, HIGH);
    delay(80);
    digitalWrite(led, LOW);
    delay(80);
  }
  if(ledstate>2){
  ledstate=0;}
}
int led;
int val;
int buttonstate;
int switchpin=2;
int ledstate;
int time=500;
int LED=11;
int LED2=10;
int LED3=9;
int LED4=8;
int LED5=7;
int level=0;
void setup(){
  pinMode(switchpin, INPUT);
  pinMode(led, OUTPUT);
  Serial.begin(9600);
  buttonstate=digitalRead(switchpin);
  

}

void loop(){
code();

buttonstate=val;
   
    if(ledstate=0){
      digitalWrite(led, LOW);
    }
   if (led==4)
   {delay (1000);
   time=time-40;
   level++;
   Serial.println(level);}
  
   if(led==0){
   level=0;
   Serial.println("You Lost");
   digitalWrite(LED,HIGH);
   digitalWrite(LED2, HIGH);
   digitalWrite(LED3, HIGH);
   digitalWrite(LED4, HIGH);
   digitalWrite(LED5, HIGH);
   delay(300);
   digitalWrite(LED,LOW);
   digitalWrite(LED2, LOW);
   digitalWrite(LED3, LOW);
   digitalWrite(LED4, LOW);
   digitalWrite(LED5, LOW);
   delay(500);
   digitalWrite(LED,HIGH);
   digitalWrite(LED2, HIGH);
   digitalWrite(LED3, HIGH);
   digitalWrite(LED4, HIGH);
   digitalWrite(LED5, HIGH);
   delay(500);
   digitalWrite(LED,LOW);
   digitalWrite(LED2, LOW);
   digitalWrite(LED3, LOW);
   digitalWrite(LED4, LOW);
   digitalWrite(LED5, LOW);
   delay(1000);
   time=500;
  
   }
}



 void code()
 {
   for(led=11; led>6;led=led-1){
    pinMode(led, OUTPUT);
    digitalWrite(led, HIGH);
    delay(time);
    digitalWrite(led, LOW);
 //   Serial.println(buttonstate);
    val=digitalRead(switchpin);
    if(val!=buttonstate){
      if (val==HIGH){
        if (led==10){
       digitalWrite(led, HIGH);
       led=5;
   
  } else{
        led=1;}}
        }
    } 
  }
 
// This is my code for a game called "catch the light". A set of Led's light up in a sequence, one led being a different color from the rest. One tries to push the button when the different colored led is lit. If you "catch" it, it stays on for a second, then the lights start moving in sequence again, but speed up, untill you press the button at the wrong time, in which case, all the lights flash on and off, and the speed resets to the speed at the beginning. It also keeps score of how many times you pressed the button.