11.3. ReadSwitchInput Arduino Sketch¶
This sketch is used by Exercise: Read Switch Input.
11.3.1. Full Source Code¶
The full code is all in one file ReadSwitchInput.ino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | // ReadSwitchInput - read a digital input and report its value using the LED and serial monitor
//
// Copyright (c) 2016, Garth Zeglin. All rights reserved. Licensed under the
// terms of the BSD 3-clause license as included in LICENSE.
//
// This program assumes that:
//
// 1. An SPST switch connected between digital pin 2 and ground, and a 10K
// pullup resistor between digital pin 2 and +5V.
//
// 2. The serial console on the Arduino IDE is set to 9600 baud communications speed.
// ================================================================================
// Define constant values.
// The wiring assignment.
#define SWITCH_PIN 2
// ================================================================================
// Configure the hardware once after booting up. This runs once after pressing
// reset or powering up the board.
void setup()
{
// Initialize the serial UART at 9600 bits per second.
Serial.begin(9600);
// Initialize the hardware digital pin 13 as an output. The 'OUTPUT' symbol
// is pre-defined by the Arduino system.
pinMode(LED_BUILTIN, OUTPUT);
// Initialize the switch pin for input.
pinMode(SWITCH_PIN, INPUT);
}
// ================================================================================
// Run one iteration of the main event loop. The Arduino system will call this
// function over and over forever.
void loop()
{
// Read the switch value. As wired, it is 'active-low', so if the switch is
// open the value will be 1 (HIGH), else 0 (LOW).
int value = digitalRead(SWITCH_PIN);
// Output the value to the onboard LED.
digitalWrite(LED_BUILTIN, value);
// Print the value out the serial port so it can be seen on the console. This
// can take time, so this delay is the primary determinant of the inptu
// sampling rate.
Serial.println(value);
}
// ================================================================================
|