As computing becomes more ubiquitous in our objects, designers need to be more aware of how to design meaningful interactions into electronically enhanced objects. At the University of Washington, a class of junior Interaction Design majors is exploring this question. These pages chronicle their efforts.

Friday, June 12, 2020

Analog Output Experimentation

In this project, I used the photoresistor and buzzer to make a buzzer that would interact with the photoresistor and button.

BREADBOARD:


CODE:
The code is very simple and just takes the reading of the photosensor and maps that as the pitch for the buzzer. When the button is pressed the buzzer will sound at the frequency based on the photoresistor.

int buttonPin = 2;

void setup() {
  // initialize serial communications (for debugging only):
  Serial.begin(9600);
}

void loop() {
  // read the sensor:
  int sensorReading = analogRead(A0);
  // print the sensor reading so you know its range
  Serial.println(sensorReading);
  // map the analog input range (in this case, 400 - 1000 from the photoresistor)
  // to the output pitch range (120 - 1500Hz)
  // change the minimum and maximum input numbers below depending on the range
  // your sensor's giving:
  int thisPitch = map(sensorReading, 0, 500, 120, 1500);

  // play the pitch:
  if (digitalRead(buttonPin)){
    tone(9, thisPitch, 10);
    delay(1);        // delay in between reads for stability
  }
}

No comments:

Post a Comment