Updates from November, 2012 Toggle Comment Threads | Keyboard Shortcuts

  • Unknown's avatar

    itsjennkaye 7:54 pm on November 16, 2012 Permalink | Reply  

    Arduino Sound & Light Tool 

    Download the code here ›

     
  • Unknown's avatar

    Franci Castelli 7:39 pm on November 16, 2012 Permalink | Reply  

    Assignment 11/16 

    So here is the code and the video.. it doesnt work perfectly with the LED but couldnt figure out why.

     

     
  • Unknown's avatar

    trytobegood 7:13 pm on November 16, 2012 Permalink | Reply  

    Sensor Toys 

    I had to use if statements to make the switch wires work, then I used switch statements for each of the interactions.

    Code after the jump.

    (More …)

     
  • Unknown's avatar

    lizbethc 7:01 pm on November 16, 2012 Permalink | Reply  

    Switch case sound performance toy…work in progress 

    So, I am completely confused by the wires to switch states…..What I have now grabs each case and will use the speaker and the LED in the exact state its in when I press a number….

     and here’s the code:

     

    int speakerPin= 7;
    int ledPin = 3;
    int sensorPin = 5;
    int potPin = 0;

    int sensorVal;
    int potVal;
    int LEDbrightness;
    int toneChange;
    int sensorTime;

    void setup()
    {
    pinMode(ledPin, OUTPUT);
    Serial.begin(9600);
    }

    void loop() {

    if ( Serial.available()) // Check to see if at least one character is available
    {
    char ch = Serial.read();
    switch(ch) {
    case ‘1’:

    //1st State controls LED dim level with the POT, and Speaker with the the PhotoCell
    sensorVal = analogRead(sensorPin);
    potVal = analogRead(potPin);

    LEDbrightness = map(potVal, 0, 1023, 0, 255);
    analogWrite(ledPin, LEDbrightness);
    analogWrite(ledPin, (potVal/4));
    tone(speakerPin, sensorVal*4);

    // Serial.print(sensorVal);
    // Serial.print(” “);
    // Serial.println(potVal);

    delay(20);

    break;
    case ‘2’:
    //*2nd State controls LED dim level with Photocell, and Speaker Tone with POT

    sensorVal = analogRead(sensorPin);
    potVal = analogRead(potPin);
    // sensorVal = 1023 – sensorVal;
    LEDbrightness = map(sensorVal, 0, 1023, 0, 255);
    analogWrite(ledPin, LEDbrightness);

    toneChange =map(potVal, 0, 1023, 0, 255);
    tone(speakerPin, toneChange);

    Serial.print(sensorVal);
    Serial.print(” “);
    Serial.println(potVal);

    delay(20);

    break;
    case ‘3’:
    //*3rd State controls LED blink-rate with the POT, Speaker Tone with POT, and Delay Rate (for both) with PhotoCell

    sensorTime = ((sensorVal)/10);

    Serial.println(“sensor reading = “);
    Serial.println(sensorVal); // the raw analog reading
    Serial.println(” “);
    Serial.println(“TIME reading = “);
    Serial.print(sensorTime);

    //Serial.print(” “);
    // Serial.println(potVal);

    sensorVal = analogRead(sensorPin);
    potVal = analogRead(potPin);

    LEDbrightness = map(potVal, 0, 1023, 0, 255);
    analogWrite(ledPin, LEDbrightness);
    // toneChange =map(potVal, 0, 1023, 0, 255);
    // tone(speakerPin, toneChange);
    //
    // Serial.print(sensorVal);
    // Serial.print(” “);
    // Serial.println(potVal);
    //
    // delay(sensorTime);
    delay(sensorTime);
    digitalWrite(ledPin, LOW);
    delay(sensorTime);

    break;
    case ‘4’:

    // *4rd State controls LED blink-rate with the PhotoCell, and Speaker tone with PhotoCell.

    sensorTime = ((sensorVal)/10);
    sensorVal = analogRead(sensorPin);

    analogWrite(ledPin, (potVal/4));
    tone(speakerPin, sensorVal*4);

    digitalWrite(ledPin,HIGH);
    delay(sensorTime);
    digitalWrite(ledPin, LOW);
    delay(sensorTime);
    break;

    default :
    Serial.print(ch);
    Serial.println(” was received but not expected”);
    break;

    }//switch
    } //serial available
    } //void loop
    int RCtime(int RCpin) {
    int reading=0; //startwith0
    // set the pin to an output and pull to LOW (ground)
    pinMode(RCpin, OUTPUT);
    digitalWrite(RCpin, LOW);
    // Now set the pin to an input and…
    pinMode(RCpin, INPUT);
    while (digitalRead(RCpin) == LOW) { // count how long it takes to rise up to HIGH
    reading++; // increment to keep track of time
    if (reading == 30000) {
    // if we got this far, the resistance is so high // its likely that nothing is connected!
    break; // leave the loop
    } }
    // OK either we maxed out at 30000 or hopefully got a reading, return the count
    return reading; }

     

     
  • Unknown's avatar

    tiamtaheri 6:22 pm on November 16, 2012 Permalink | Reply  

    [assignment_11/16] 

    Here is the case statement code I wrote, unfortunately I get an error, when I try to upload. But all the 4 states work, if I put them in separate sketches:

    int potentiomerPin=0;
    int photocellPin=1;
    int photocellReading;
    int ledPin=10;
    int ledBrightness;
    int speakerPin=12;
    int speakerFrequency;
    int delayPeriod;
    void setup() {
    Serial.begin(9600);
    pinMode(ledPin, OUTPUT);
    }
    void loop(){
    if(Serial.available()) {
    char ch=Serial.read();
    switch(ch);
    }

    case ‘1’:
    number1();
    break;
    case ‘2’:
    number2();
    break;

    case ‘3’:
    number3();
    break;

    case’4′:
    number4();
    break;

    default:
    Serial.print(ch);
    Serial.println(” was received but not expected”);
    break;

    }
    }

    }

    void number1 () {
    int potsensorValue=analogRead(A0);
    photocellReading=analogRead(A1);
    Serial.print(“Potentiometervalue: “);
    Serial.println(potsensorValue);

    Serial.print(“Photocellvalue: “);
    Serial.println(photocellReading);

    delay(1);

    ledBrightness=map(potsensorValue,0,1023,0,255);
    analogWrite(ledPin, ledBrightness);
    speakerFrequency=map(photocellReading, 0,1023,0,255);
    tone(speakerPin,speakerFrequency*10);
    delay(50);
    noTone(speakerPin);
    delay(50);
    }

    void number2 () {
    int potsensorValue=analogRead(A0);
    photocellReading=analogRead(A1);
    Serial.print(“Potentiometervalue: “);
    Serial.println(potsensorValue);

    Serial.print(“Photocellvalue: “);
    Serial.println(photocellReading);

    delay(1);
    photocellReading=1023-photocellReading;
    ledBrightness=map(photocellReading,0,1023,0,255);
    analogWrite(ledPin, ledBrightness);
    speakerFrequency=map(potsensorValue, 0,1023,0,255);
    tone(speakerPin,speakerFrequency*10);
    delay(50);
    noTone(speakerPin);
    delay(50);
    }

    void number3(){
    int potsensorValue=analogRead(A0);
    photocellReading=analogRead(A1);
    Serial.print(“Potentiometervalue: “);
    Serial.println(potsensorValue);

    Serial.print(“Photocellvalue: “);
    Serial.println(photocellReading);

    delay(1);
    delayPeriod=map(photocellReading,0,1023,0,255);

    ledBrightness=map(potsensorValue,0,1023,0,255);
    digitalWrite(ledPin, HIGH);
    delay(ledBrightness);
    digitalWrite(ledPin,LOW);
    delay(ledBrightness);

    speakerFrequency=map(potsensorValue, 0,1023,0,255);
    tone(speakerPin,speakerFrequency*10);
    delay(delayPeriod);
    noTone(speakerPin);
    delay(delayPeriod);

    }

    void number4 () {
    int potsensorValue=analogRead(A0);
    photocellReading=analogRead(A1);
    Serial.print(“Potentiometervalue: “);
    Serial.println(potsensorValue);

    Serial.print(“Photocellvalue: “);
    Serial.println(photocellReading);

    delay(1);
    delayPeriod=map(photocellReading,0,1023,0,255);

    ledBrightness=map(potsensorValue,0,1023,0,255);
    digitalWrite(ledPin, HIGH);
    delay(delayPeriod);
    digitalWrite(ledPin,LOW);
    delay(delayPeriod);

    speakerFrequency=map(potsensorValue, 0,1023,0,255);
    tone(speakerPin,speakerFrequency*10);
    delay(ledBrightness);
    noTone(speakerPin);
    delay(ledBrightness);
    }

     

     
  • Unknown's avatar

    YiNing 6:17 pm on November 16, 2012 Permalink | Reply  

    Assignment: sound/LED controls 

    code here:

    int state;
    void setup(){
      pinMode(9, OUTPUT);
      pinMode(2, OUTPUT);
      pinMode(12, INPUT);
      state = 1;
      Serial.begin(9600);
    }
    
    void loop(){
      int pot = analogRead(A3);
      int photo = analogRead(A1);
      int potLight = map(pot, 0, 1024, 0, 255);
      int photoLight = map(photo, 0, 1024, 0, 255);
      int photoSpeaker = map(photo, 0, 1024, 500, 80);
      int potSpeaker = map(pot, 0, 1024, 80, 500);
      int potDelay = map(pot, 0, 1024, 0, 500);
      int photoDelay = map(photo, 0, 1024, 0, 500);
      
      boolean btnRead = debouncefunction(12);
      if(btnRead == true){
       btnRead = 0;
       delay(200);
       state += 1;
         if(state > 4){
           state = 1;
         } 
      }
        
      if(state == 1){
        //state one pot->LED, photosensor->speaker
        analogWrite(9, potLight);
        tone(2, photoSpeaker);
      }
      
      if(state == 2){
        //photoell->LED, pot->speaker
        analogWrite(9, photoLight);
        tone(2, potSpeaker);
      }
      
      if(state == 3){
        // photocell->LED/speaker, pot->speaker tone and led blink rate
        tone(2, potSpeaker);
        delay(photoDelay);
        noTone(2);
        delay(photoDelay);
        analogWrite(9, photoLight);
        delay(potDelay);
        analogWrite(9, 0);
        delay(potDelay);   
      }
      
      if(state == 4){
        analogWrite(9, photoLight);
        delay(photoDelay);
        analogWrite(9, 0);
        tone(2, potSpeaker);
        delay(photoDelay);
      }
     
      Serial.println(state);
    }
    
    int debouncedelay = 500;
    boolean debouncefunction(int pin){
      boolean state;
      boolean previousState;
      
      previousState = digitalRead(pin);
      for(int counter =0; counter > debouncedelay; counter++){
        delay(1);
        state = digitalRead(pin); //readpin
          if(state != previousState)
          {counter = 0;
          previousState = state;
          }
      }
      return state;
    }
    
     
  • Unknown's avatar

    Amp 3:48 am on November 16, 2012 Permalink | Reply  

    analogRead homework 

     

     

    It’s a bit messy but the code works with cases as well.

     
  • Unknown's avatar

    Franci Castelli 3:12 pm on November 12, 2012 Permalink | Reply  

    Simon says 

    I forgot that I forgot to upload on friday after it got exported to youtube, apologies.

     
  • Unknown's avatar

    carolkozak 5:23 pm on November 9, 2012 Permalink | Reply  

    Zen Ribbit 

    Updated video: Here

     
  • Unknown's avatar

    Amp 5:01 pm on November 9, 2012 Permalink | Reply  

    SimonBot!!!! 

    I’m so proud of my first d+t prototype! It’s not much but I have learnt a lot through each process. My simonBot makes terrible sound when you loose and also shake it’s head…it’s eyes blink in rhythm along with it’s heart that blinks color leds pattern. Thanks Yury for teaching us awesome trick about…

    Here’s a link

    https://vimeo.com/53134004

     

    I also want to share my “Flower Flipper.”  I made this for cc lab class with arduino as well.

     
  • Unknown's avatar

    JeannetteSubero 4:55 pm on November 9, 2012 Permalink | Reply  

    Sandy Says 

    Sandy Says

    Construction Photo Details!

     
  • Unknown's avatar

    JeannetteSubero 4:52 pm on November 9, 2012 Permalink | Reply  

    Sandy Says 

    My Simon Game’s enclosure broke during the hurricane, and since most stores were closed, I had to improvise 🙂

    People liked the vibration buzzer when they lost!
    It was a really fun project. I really liked soldering the board for the vibration buzzer.

     
  • Unknown's avatar

    itsjennkaye 3:57 pm on November 9, 2012 Permalink | Reply  

    Jenn Kaye’s Simon-ish Game 

    Voila! Play tested and all.

     

    (and 2 “regular” videos documenting a successful game in and game loss)

    Win:

    <p><a href=”http://vimeo.com/53632459″>Simon: Win</a> from <a href=”http://vimeo.com/user8129509″>Jennifer Kaye</a> on <a href=”http://vimeo.com”>Vimeo</a&gt;.</p>

     

    Loose:

    <p><a href=”http://vimeo.com/53632337″>Simon: Lose</a> from <a href=”http://vimeo.com/user8129509″>Jennifer Kaye</a> on <a href=”http://vimeo.com”>Vimeo</a&gt;.</p>

     
  • Unknown's avatar

    sussesj 3:52 pm on November 9, 2012 Permalink | Reply  

    Simon Says In action 

    Here the video af my simons says game in action:

    https://vimeo.com/53161359

    Also find more information about my process here:

    This slideshow requires JavaScript.

     
  • Unknown's avatar

    salome 11:48 am on November 9, 2012 Permalink | Reply  

    simonSays 

     
  • Unknown's avatar

    lizbethc 7:47 am on November 9, 2012 Permalink | Reply  

    Simon Says 

    Here is my Simon Says game!!

     

     

     

    <p><a

    AND THE CODE:::

    //buttons
    const int greenSwitch = 10; //green
    const int blueSwitch = 8;//blue
    const int redSwitch = 4;//red
    const int yellowSwitch = 6;//yellow

    //leds
    const int greenLED = 9;
    const int blueLED = 7;
    const int redLED = 3;
    const int yellowLED = 5;

    //values
    //const int greenValue=1; // declare values for colors for buttons
    //const int blueValue=2;
    //const int redValue=3;
    //const int yellowValue=4;

    const int redValue = 1; // declare values for colors for buttons
    const int yellowValue = 2;
    const int blueValue = 3;
    const int greenValue = 4;

    const int speakerPin = 2;

    int playerSays=0;//value to hold user imput
    int playerStep=0;//user step counter;

    boolean simonDone;
    int simonSays[99]={
    };// array that holds simon’s sequence, allows for 99 steps
    int nextStep = 0; //var that counts how many steps in simon’s current sequence, used to move up in steps
    int simonSpeed = 500;

    void setup () {
    Serial.begin(9600);
    //Serial.println(“Try to Guest the Contents of simonArray, try a number between 1-4!”);

    pinMode(greenLED, OUTPUT);
    pinMode(blueLED, OUTPUT);
    pinMode(redLED, OUTPUT);
    pinMode(yellowLED, OUTPUT);
    pinMode(speakerPin, OUTPUT);

    pinMode(greenSwitch, INPUT_PULLUP); //set pull-up resistors on Buttons, So closing the switch will bring Pin to Ground.
    pinMode(blueSwitch, INPUT_PULLUP);
    pinMode(redSwitch, INPUT_PULLUP);
    pinMode(yellowSwitch, INPUT_PULLUP);

    randomSeed(analogRead(0)); //seed makes more random

    }

    void loop () {

    if (simonDone ==false) { //did simon play sequence yet? bool is false by default

    simonSays[nextStep] = random (1,5);

    // Serial.println(“simonDone ==false”);
    Serial.print(“nextStep: “); ///just to see whats happening
    Serial.println(nextStep);
    Serial.print(“simonSays: “);

    // Serial.print(“simonSpeed: ” ); // Show how the new time feature works
    // Serial.println(simonSpeed); // Show how the new time feature works

    // Serial.print(“simonSays: “);

    for(int i=0; i <=nextStep; i++) {
    Serial.print(simonSays[i]); //to see count
    Serial.print(",");
    delay(simonSpeed);//controls speed that simonSays something

    ToneAndLight(simonSays[i]);
    }

    //simonSpeed=(simonSpeed-(nextStep*5)); //THis speeds up simon on each turn by formula (500-(nextStep*5)
    //Change the multiplier (5 here) to make game faster or slower
    //multiplier=MAJOR factor in how hard game is

    simonSpeed=max(simonSpeed, 200);//max() assigns simonTime to the larger of simonTime or 200 in this case
    //Sets Simon's top speed. Also important in making game interesting yet winable

    simonDone=true; //ok, simon done, set to true
    //Serial.println(" ");
    nextStep++; //add another to simon's sequence
    playerStep=0; //make user step from first step
    }

    if (simonDone==true) {

    if (playerStep =nextStep) {

    simonDone=false; //user completeed successfully, give simon next turn
    // nextStep++; //add another step to simons sequence
    }

    }
    }

    if(color == 1) // 1 = Red
    {
    digitalWrite( redLED,HIGH);
    tone(speakerPin,1000);
    delay(simonSpeed);
    digitalWrite( redLED,LOW);
    noTone(speakerPin);
    }

    if(color == 2)
    {
    digitalWrite( yellowLED,HIGH);
    tone(speakerPin,2000);
    delay(simonSpeed);
    digitalWrite( yellowLED,LOW);
    noTone(speakerPin);
    }

    if(color == 3)
    {
    digitalWrite( blueLED,HIGH);
    tone(speakerPin,3000);
    delay(simonSpeed);
    digitalWrite( blueLED,LOW);
    noTone(speakerPin);
    }

    if(color == 4)
    {
    digitalWrite( greenLED,HIGH);
    tone(speakerPin,4000);
    delay(simonSpeed);
    digitalWrite( greenLED,LOW);
    noTone(speakerPin);
    }
    }
    void youLose() {
    //LOSE SOUND #4*****

    // tone(speakerPin,200);
    // delay(400);
    // tone(speakerPin,100);
    // delay(600);
    // tone(speakerPin,50);
    // delay(1500); ///play with dealy “ratio”
    // noTone(speakerPin);

    for (int y=200; y>80; y-=50){

    tone(speakerPin, y);
    delay(150); ///play with dealy “ratio”
    tone(speakerPin , (y-30));
    delay(100);
    noTone(speakerPin);
    delay(50);

    }

    nextStep = 0;
    playerStep = 0;
    simonSpeed = 400;
    simonDone = false;

    delay(1500);
    restartSeq();

    delay(1500);

    }

    ///DONT USE YET

    void restartSeq(){

    tone(speakerPin,600);//800
    delay(100);
    digitalWrite(redLED,HIGH);
    digitalWrite(yellowLED,HIGH);
    digitalWrite(blueLED,HIGH);
    digitalWrite(greenLED,HIGH);
    tone(speakerPin,700);//850
    delay(100);

    digitalWrite(redLED,LOW);
    tone(speakerPin,900);
    delay(400);

    digitalWrite(yellowLED,LOW);
    tone(speakerPin,1000);
    delay(300);

    digitalWrite(blueLED,LOW);
    tone(speakerPin,2000);
    delay(250);

    digitalWrite(greenLED,LOW);
    tone(speakerPin,3000);
    delay(200);

    noTone(speakerPin);

    }

     
  • Unknown's avatar

    Yury Gitman 4:04 am on November 9, 2012 Permalink | Reply  

    analogRead & analogWrite Assignment for next class 

    Do:

    1)  http://arduino.cc/en/Tutorial/AnalogReadSerial  [POT]

    2) Photocells – Adafruit Learning System

    3)  2.16 from Arduino CookBook (on Switch Statements)

    Read:

    1) analogRead  http://www.arduino.cc/en/Reference/AnalogRead

    2) http://www.arduino.cc/en/Reference/AnalogWrite

    Assignment:

    Build a Sound Performance Toy.  The Interface should be one POT, one LED, one Speaker, and one Photocell.  There should be four case statements, and two jumper wire.  If jumper wire are in or out, there are 4 possible states.

    *1st State controls LED dim level with the POT, and Speaker with the the PhotoCell

    *2nd State controls LED dim level with Photocell, and Speaker Tone with POT

    *3rd State controls LED blink-rate with the POT,  Speaker Tone with POT, and Delay Rate (for both) with PhotoCell

    *4rd State controls LED blink-rate with the PhotoCell, and Speaker tone with PhotoCell.

    Use with Case Statements to switch between 4 states.

    Upload Code and Video of Circuit before Class.

    Use Code and Pics for Hints: https://docs.google.com/folder/d/0B5C5Fh-HOLYFenF2UmthZWJ1QVk/edit

     
  • Unknown's avatar

    trytobegood 3:15 am on November 9, 2012 Permalink | Reply  

    Simon Says Documentation 

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel