
Preface - all external content, code, images, etc can be found here (totally FREE):
https://core-electronics.com.au/tutorials/arduino-workshop-for-beginners.html
In this chapter you'll learn about:
By the end of this chapter, you will have uploaded your first program to your Arduino board to control an LED
In this section, we look at what is Arduino, what it's good for makers, and some of the different types of Arduino boards available.
In this section, we'll be looking at what is a microcontroller (the chip at the heart of any Arduino board), an overview of how they work, and how it integrates with the Arduino environment.
In this section, you'll learn about the features and capabilities of the Arduino Uno board, how the layout of the board can affect your project, and why the Uno is such a great all-rounder.
In this section, we'll take a look at the Arduino IDE, which is where you write the code for your Arduino, upload it, and communicate with your board. We'll also cover the programming language that Arduino IDE uses, and where to download it.
Section Resources:
In this section, you'll be learning about the various ways to power your Arduino, and how to connect it up to your computer for uploading your programs, and communicating to the computer using the serial port.
Section Resources:
Arduino Power Layout

In the final section of this chapter, we'll talk through using the Arduino IDE to upload your first program to your Arduino board.
Section Resources:
Source code for 'Hello World'
void setup() {
pinMode(13, OUTPUT); //setup pin 13 as an output
}
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH outputs 5V)
delay(500); // wait for 500 milliseconds
digitalWrite(13, LOW); // turn the LED off (LOW outputs 0V)
delay(500); // wait for 500 milliseconds
}In this section you'll learn about:
By the end of the section, you will have created an input interface for your Arduino, using the Serial Monitor to display the data.
In this section, we'll be learning about how to properly structure code using indentations, nested levels, and semicolons.
Section Resources:
Example Program Structure

In this section, we'll explore the use of variables, which will allow you to write more sophisticated code.
If you're interested in learning more about the various datatypes that Arduino supports, check out the reference page.
In this section, we'll look at using different components such as LEDs, buttons, jumper wires, resistors, and a breadboard to construct a circuit.
Section Resources:
Further Reading
If you'd like to know more about how electronic components work, check out the Analogue Electronics Crash Course and All About LEDs tutorials for more in-depth information.
Wiring Diagram

In this section, we'll learn how to use the digital pins to read inputs and control outputs.
Section Resources:
Source code for 'LED Button'
int buttonPin = 2;
int ledPin = 3;
void setup() {
// setup pin modes
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
// read state of buttonPin and store it as the buttonState variable
int buttonState = digitalRead(buttonPin);
// write the value of buttonState to ledPin
digitalWrite(ledPin, buttonState);
}
Wiring Diagram for 'Digital Pins'

In this section, we'll learn how to use the analog pins to read inputs and control outputs.
Wiring Diagram for 'Analogue Pins'

In this section, we'll be looking at using the serial port on the Arduino to communicate with a computer via USB.
Wiring Diagram for 'Serial Reading'

In this chapter you'll learn about:
By the end of this chapter, you will have created your very own calculator using different functions, loops, and Serial functions.
In this section, we'll be looking at using 'If' statements, which are the backbone of decision-making for microcontrollers.
In this section, you'll learn about using 'while' loops and how to use them to change the structure of your code.
In this section, you'll look at 'for' loops which you can use to control the flow of your program.
In this section, we'll dive into using 'switch' cases to implement comparative lists and outcomes.
In this section, we'll look at how to use different mathematic functions and methods in Arduino.
In this section, we'll be learning about using and creating your own functions to write modular, reusable code.
In this chapter you'll learn about:
By the end of this chapter, you will have created an LED sequencing display using arrays, operators, and EEPROM storage.
In this section, we'll look at using arrays to store data, which allows for more powerful variable manipulation.
In this section, we're going to look at using arithmetic, relational, logical, and assignment operators. These are all used for comparing and evaluating data.
In this section, you'll be learning about control individual bits within bytes using bit-wise operators and logic.
In this section, we'll learn about storing data in the non-volatile memory known as EEPROM. This allows data to be retained when power is disconnected and accessed later.
Wiring Diagram for 'EEPROM Counter'

In this chapter you'll learn about:
In this section, we'll be looking at using code modules called 'libraries' which can be used to simplify complex applications.
Section Resources:
Here, you can find Arduino's information page regarding libraries which cover some of the changes for including and adding libraries with different revisions of the Arduino IDE.In this section, you'll learn how to use the SPI interface to send and receive serial data for interfacing with sensors and other devices.
Section Resources:
Arduino SPI Port

Wiring Diagram for 'SPI LED Shift Register'

In this section, you'll look at using the I2C interface to send and receive serial data for interfacing with sensors and other devices.
Section Resources:
I2C Packet Structure

Arduino I2C Port

In this section, we'll look at how to use interrupts. You may have heard of them before, and they're a great way to increase your program's efficiency when dealing with hardware inputs.
Wiring Diagram for 'Interrupt Debouncing'

In this section, we'll be taking a look at using hardware add-on modules known as 'shields'. They're a great way to easily expand your project's capabilities.
It's time to wrap up the Arduino Workshop, so I'm going to recommend a couple of my favourite resources for projects and questions.
Arduino has become one of the pillars of the maker movement thanks to it's wonderful design and ease of use. With that said, learning to code and work with electronics can be a little intimidating. We're here to help! Our course will walk you through each step of the process and by the end you will be empowered with new skills, ready to build your own projects.
It's important to note that we're literally full time makers and educators, so expect quick answers, high engagement and a rewarding learning experience.