Arduino Sketches
Arduino Sketches from the Arduino Uno Hardware Manual can be found below. Select the desired sketch and copy the code, then paste it to the Arduino IDE. Sketches are displayed below under the section number that they occur in in the book, with the page number that they can be found on.
1.5.2.2 – Page 45
Modified Blink sketch.
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // configure L LED pin as output
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // switch L LED ON
delay(200); // leave L LED ON for period
digitalWrite(LED_BUILTIN, LOW); // switch L LED OFF
delay(200); // leave L LED OFF for period
}
2.7.4.1 – Page 71
Arduino Uno pin 12 configured as an output and driven high and low.
void setup() {
pinMode(12, OUTPUT); // configure digital pin 12 as an output pin
}
void loop() {
digitalWrite(12, HIGH); // set pin 12 voltage to 5V on an Arduino Uno
delay(500);
digitalWrite(12, LOW); // set pin 12 voltage to 0V or GND
delay(500);
}
2.7.4.1 – Page 72
Defining a pin with a user friendly name.
#define MY_LED 12
void setup() {
pinMode(MY_LED, OUTPUT); // configure digital pin as an output pin
}
void loop() {
digitalWrite(MY_LED, HIGH); // set pin voltage to 5V on an Arduino Uno
delay(500);
digitalWrite(MY_LED, LOW); // set pin voltage to 0V or GND
delay(500);
}
2.7.4.4 – Page 75
Arduino Uno PWM on pin 3 with 50% duty cycle.
void setup() {
pinMode(3, OUTPUT);
analogWrite(3, 127);
}
void loop() {
}
2.7.5.3 – Page 79
Calculating analog input voltage on Arduino Uno A0 pin.
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0); // read ADC value
float voltage = (5.0 / 1024.0) * (float)sensorValue; // calculate voltage
Serial.print(voltage); // display voltage
Serial.println(" V");
delay(1);
}
2.7.5.5 – Page 80
Arduino Uno analog pin A0 used as a digital output pin.
void setup() {
pinMode(A0, OUTPUT);
}
void loop() {
digitalWrite(A0, HIGH);
delay(500);
digitalWrite(A0, LOW);
delay(500);
}
3.3.1.2 – Page 106
Pull-down Resistor
Read Arduino Uno pin 2 state with pull-down resistor.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(2, INPUT);
}
void loop() {
if (digitalRead(2)) {
// pin state is high or 1, switch is closed (pull-down resistor)
digitalWrite(LED_BUILTIN, HIGH); // switch L LED on
}
else {
// pin state is low or 0, switch is open (pull-down resistor)
digitalWrite(LED_BUILTIN, LOW); // switch L LED off
}
}
3.3.1.2 – Page 108
Pull-up Resistor
Read Arduino Uno pin 2 state with pull-up resistor.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(2, INPUT);
}
void loop() {
if (digitalRead(2)) {
// pin state is high or 1, switch is open (pull-up resistor)
digitalWrite(LED_BUILTIN, LOW); // switch L LED off
}
else {
// pin state is low or 0, switch is closed (pull-up resistor)
digitalWrite(LED_BUILTIN, HIGH); // switch L LED on
}
}
3.3.1.2 – Page 109
Internal Pull-up Resistors
Read Arduino Uno pin 2 state with internal pull-up resistor enabled.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(2, INPUT_PULLUP);
}
void loop() {
if (digitalRead(2)) {
// pin state is high or 1, switch is open (pull-up resistor)
digitalWrite(LED_BUILTIN, LOW); // switch L LED off
}
else {
// pin state is low or 0, switch is closed (pull-up resistor)
digitalWrite(LED_BUILTIN, HIGH); // switch L LED on
}
}
3.3.4.2 – Page 113
Read the first byte from an AT24C16C EEPROM connected to the Arduino Uno TWI bus pins.
// Reads a single byte from a AT24C16C EEPROM on the TWI or I2C bus
#include <Wire.h>
void setup() {
Wire.begin(); // join TWI bus as a master
Serial.begin(9600); // for displaying results in Serial Monitor window
// *** Perform Random Read ***
// address byte 0 of EEPROM
Wire.beginTransmission((0xA0 >> 1));
Wire.write(0x00);
Wire.endTransmission();
// read 1 byte from EEPROM at address 0
Wire.requestFrom((0xA0 >> 1), 1);
// *** End Perform Random Read ***
while (Wire.available()) { // check for response from EEPROM
byte data8 = Wire.read(); // read byte from the EEPROM
Serial.print("Byte read is: ");
Serial.println(data8, HEX); // display the byte
}
}
void loop() {
}
7.4.2 – Page 172
Use all of the PWM pins on the Arduino Uno to produce PWM waveforms with different duty cycles.
void setup() {
analogWrite(3, 51); // PWM 20% 490Hz
analogWrite(5, 89); // PWM 35% 976Hz
analogWrite(6, 127); // PWM 50% 976Hz
analogWrite(9, 166); // PWM 65% 490Hz
analogWrite(10, 204); // PWM 80% 490Hz
analogWrite(11, 230); // PWM 90% 490Hz
}
void loop() {
}
7.4.3 – Page 172
Arduino Uno serial port or UART test square wave.
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print('U');
}
7.4.5 – Page 175
Send a character on the Arduino Uno SPI bus.
#include <SPI.h>
void setup() {
SPI.begin();
SPI.beginTransaction(SPISettings(10000, MSBFIRST, SPI_MODE1));
}
void loop() {
SPI.transfer('U');
delay(1);
}
