Yufeng’s Arduino Homework 2

Digital Input

Code:

<pre>

/*

  Button

  Turns on and off a light emitting diode(LED) connected to digital pin 13,

  when pressing a pushbutton attached to pin 2.

  The circuit:

  – LED attached from pin 13 to ground

  – pushbutton attached to pin 2 from +5V

  – 10K resistor attached to pin 2 from ground

  – Note: on most Arduinos there is already an LED on the board

    attached to pin 13.

*/

// constants won’t change. They’re used here to set pin numbers:

const int buttonPin = 2;     // the number of the pushbutton pin

const int ledPin =  13;      // the number of the LED pin

// variables will change:

int buttonState = 0;         // variable for reading the pushbutton status

void setup() {

  // initialize the LED pin as an output:

  pinMode(ledPin, OUTPUT);

  // initialize the pushbutton pin as an input:

  pinMode(buttonPin, INPUT);

}

void loop() {

  // read the state of the pushbutton value:

  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is LOW:

  if (buttonState == LOW) {

    // turn LED on:

    digitalWrite(ledPin, HIGH);

  } else {

    // turn LED off:

    digitalWrite(ledPin, LOW);

  }

}

</pre>

The Serial Monitor & Analog Input

Code:

<pre>

/*

  Analog input, analog output, serial output

  Reads an analog input pin, maps the result to a range from 0 to 255 and uses

  the result to set the pulse width modulation (PWM) of an output pin.

  Also prints the results to the Serial Monitor.

  The circuit:

  – potentiometer connected to analog pin 0.

    Center pin of the potentiometer goes to the analog pin.

    side pins of the potentiometer go to +5V and ground

  – LED connected from digital pin 9 to ground

*/

// These constants won’t change. They’re used to give names to the pins used:

const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to

const int analogOutPin = 9; // Analog output pin that the LED is attached to

int sensorValue = 0;        // value read from the pot

int outputValue = 0;        // value output to the PWM (analog out)

void setup() {

  // initialize serial communications at 9600 bps:

  Serial.begin(9600);

}

void loop() {

  // read the analog in value:

  sensorValue = analogRead(analogInPin);

  // map it to the range of the analog out:

  outputValue = map(sensorValue, 0, 1023, 0, 255);

  // change the analog out value:

  analogWrite(analogOutPin, outputValue);

  // print the results to the Serial Monitor:

  Serial.print(“sensor = “);

  Serial.print(sensorValue);

  Serial.print(“\t output = “);

  Serial.println(outputValue);

  // wait 2 milliseconds before the next loop for the analog-to-digital

  // converter to settle after the last reading:

  delay(2);

}

</pre>

Two buttons control one LED (lighter and off)

Code:

<pre>

/*

  Button

  Turns on and off a light emitting diode(LED) connected to digital pin 13,

  when pressing a pushbutton attached to pin 2.

  The circuit:

  – LED attached from pin 13 to ground

  – pushbutton attached to pin 2 from +5V

  – 10K resistor attached to pin 2 from ground

  – Note: on most Arduinos there is already an LED on the board

    attached to pin 13.

*/

// constants won’t change. They’re used here to set pin numbers:

const int buttonPin = 2;     // the number of the pushbutton pin

const int buttonPin2 = 4;     // the number of the pushbutton pin

const int ledPin =  13;      // the number of the LED pin

// variables will change:

int buttonState = 0;         // variable for reading the pushbutton status

int buttonState2 = 0;  

void setup() {

  // initialize the LED pin as an output:

  pinMode(ledPin, OUTPUT);

  // initialize the pushbutton pin as an input:

  pinMode(buttonPin, INPUT);

  pinMode(buttonPin2, INPUT);

}

void loop() {

  // read the state of the pushbutton value:

  buttonState = digitalRead(buttonPin);

  buttonState2 = digitalRead(buttonPin2);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:

  if (buttonState == HIGH) {

    // turn LED on:

    digitalWrite(ledPin, HIGH);

    // turn LED off:

    digitalWrite(ledPin, HIGH);

  }

    if (buttonState2 == LOW) {

    // turn LED on:

    digitalWrite(ledPin, HIGH);

  } else {

    // turn LED off:

    digitalWrite(ledPin, LOW);

  }

}

</pre

Author: yufengyvan

Hi I’m Yufeng or you can call me Yvan. I’m from ShenZhen which is a beautiful modern city in the south of China. My undergrads major was Urban Planning which is considering a larger scale of development and design for the certain area of city. But I’m also interested in making beautiful and functional products as well as the thinking in systematic problem. I’m looking forward to the course for learning all kinds of new making methods with all of you.