Arduino: Zero to Virtual Prototyping in Seven Hours

Overview of Class

This class provides an introduction to Arduino, covering the following topics:

Arduino Board

The Arduino board, nicknamed "Strong Friend," was created in Ivrea, Italy, in 2005 by Massimo Banzi and David Cuartielles. It is an open-source hardware platform featuring an Atmel processor. Coding for Arduino is accessible using languages like C++, Processing, ModKit, and MiniBloq.

The core Arduino team includes David Cuartielles and Massimo Banzi, along with Gianluca Martino.

Getting Started

Installation

Requires Arduino IDE (v.22), Fritzing, Java, and necessary drivers.

Materials

Includes SIK Guide, handouts on Analog I/O, Digital I/O, Serial Communication, and Fritzing.

Applications

Key software applications used are:

Fritzing

Fritzing is an open-source virtual electrical prototyping project that began in 2007 at the Interaction Design Lab at the University of Applied Science Potsdam, Germany. It aims to help users document, share, and manufacture their open-source prototypes.

Arduino Shields

Arduino Shields are add-on boards that can be plugged into an Arduino board to extend its functionality. Examples include:

Fritzing can be used to design Printed Circuit Boards (PCBs) and visualize how shields are built and inserted.

MODKIT, Alpha & Beta

MODKIT is a graphical user interface designed for intuitive coding of Arduino. Developed by Ed Baafi and Collin Reisdorf, it consists of two main components: an Online Editor and a downloadable application. The download allows for uploading code to the Arduino board, while the programming environment provides a visual interface for creating programs.

Components

A variety of electronic components can be used with Arduino:

Name Type Function Notes
Button Digital Input Closes or opens a circuit Polarized, needs resistor
Trimpot Analog Input Variable resistor Variable resistor
Photoresistor Analog Input Variable resistor Responds to light levels
Relay Digital Output & Input Switches between circuits Used to control larger voltages
Temp Sensor Analog Input Variable resistor Measures temperature
Flex Sensor Analog Input Variable resistor Bends one way only
Soft Trimpot Analog Input Variable resistor Be careful of shorts
RGB LED Dig. & Analog Output Outputs 16,777,216 different colors "Ooh... So pretty."

Ohm's Law

Ohm's Law describes the direct relationship between Voltage (V), Current (I), and Resistance (R) in a circuit. The formulas are:

Importance of Voltage

Voltage allows electricity to travel through circuit components. The voltage of the power source must be greater than the total voltage drop across the circuit for electricity to flow from power to ground.

Importance of Current

Current is the aspect of electricity that performs physical work or movement.

Importance of Continuity

Continuity is crucial for ensuring portions of circuits are connected. It is considered the simplest and possibly most important setting on a multimeter.

What's a Breadboard?

A breadboard is a highly useful tool for engineers and makers. Key points to remember:

Analog and Digital Signals

All Arduino signals are either Analog or Digital. Computers, including Arduino, understand only Digital signals. It is important to recognize the difference, as Analog signals require an Analog-to-Digital Conversion (ADC).

Output

Output refers to any signal exiting an electrical system. Most physical computing systems utilize some form of output.

Arduino outputs are always Digital (On or Off). To output a digital signal, use the command: digitalWrite(pinNumber, value); where value is HIGH or LOW.

To output a signal that simulates analog behavior, use: analogWrite(pinNumber, value); where value is a number from 0 to 255.

Using a digital signal that simulates analog behavior is called Pulse Width Modulation (PWM). PWM is available on Arduino pins #3, #5, #6, #9, #10, and #11.

Even when using PWM, the output is fundamentally digital. The Arduino pin rapidly switches between HIGH and LOW to simulate intermediate values.

The relationship between PWM value (0-255) and the effective voltage is linear, with 0 corresponding to 0V and 255 corresponding to approximately 5V.

Input

Input is any signal entering an electrical system. Both digital and analog sensors serve as forms of input. Input can also come from keyboards, mice, infrared sensors, biometric sensors, or direct voltage from a circuit.

Analog Input

Connect analog inputs to Arduino using Analog Pins #0 through #5. To read an analog value, use the command: analogRead(pinNumber);. Analog input on Arduino typically ranges from 0 to 1023.

Analog Sensors

Examples of analog sensors and their readings include:

Digital Input

Connect digital inputs to Arduino using Digital Pins #0 through #13 (note that pins #0 and #1 are also used for serial communication). Digital input requires setting the pin mode using the command: pinMode(pinNumber, INPUT); (ensure INPUT is in uppercase). To read a digital value, use: digitalRead(pinNumber);. Digital input values are binary: HIGH (On) or LOW (Off).

Digital Sensors

Digital sensors are generally more straightforward than analog ones. Regardless of the specific sensor, there are typically only two states: On or Off. The signal is always either HIGH (On) or LOW (Off). For a HIGH signal on an Arduino Uno, the voltage is typically slightly less than 5V, while a LOW signal is 0V.

Further Information

For more details and resources, visit:

SparkFun
6175 Longbow Drive, Suite 200
Boulder, Colorado 80301

PDF preview unavailable. Download the PDF instead.

ArduinoSectionI Mac OS X 10.6.8 Quartz PDFContext Microsoft PowerPoint

Related Documents

Preview Arduino 入门指南:了解开源电子原型平台
一份图文并茂的Arduino入门指南,介绍开源电子原型平台的基础知识、基本电路概念、编程方法和简单项目,帮助初学者快速上手Arduino。
Preview Arduino Documentation: A Comprehensive Guide to Arduino Boards, Software, and Components
Explore the world of Arduino with this detailed documentation covering Arduino boards like UNO, Nano, and Mini, along with essential software, programming techniques, and a wide array of electronic components for creating interactive projects. Ideal for beginners and experienced makers.
Preview Arduino Documentation: Boards, Software, and Components Guide
A comprehensive guide to Arduino boards, software, programming, and electronic components, detailing their usage for input/output devices and project development. Includes sample sketches and technical information.
Preview Getting Started with Arduino and Sensors: A Comprehensive Guide
This guide provides a comprehensive introduction to the Arduino Uno, its components, and various sensors. Learn how to set up your Arduino environment, connect and utilize 37 different sensors, and explore digital and analog input/output operations, including controlling loads, PWM, and sound generation.
Preview Arduino & Co: Messen, Schalten und Tüfteln – Elektronik-Projekte mit Arduino
Entdecken Sie pfiffige Lösungen für Elektronikprojekte mit Arduino Pro Mini und ATmega328-Boards. Dieses umfassende Handbuch von Robert Sontheimer und Elektor Verlag deckt Messen, Schalten und Steuern ab.
Preview Kickstart to Arduino Nano: Get Cracking with Arduino Nano V3, Nano Every, and Nano 33 IoT
A comprehensive guide to getting started with Arduino Nano boards, covering the Arduino Nano V3, Nano Every, and Nano 33 IoT. Learn about microcontrollers, programming with the Arduino IDE, basic electronics, sensors, stepper motors, and IoT connectivity.
Preview Arduino® Edge Control Product Reference Manual
This document provides a comprehensive reference for the Arduino® Edge Control board, designed for precision farming applications. It details features, specifications, connectivity options, and operational guidance for tasks such as agriculture measurements, smart irrigation systems, and hydroponics.
Preview Arduino Projects: A Practical Guide to Hardware and Software
Explore a comprehensive guide to Arduino projects, covering hardware basics, software programming, sensor integration, motor control, wireless communication, and advanced applications. Ideal for beginners and experienced makers.