0% found this document useful (0 votes)
42 views

Introduction To Microcontrollers Final1

This document provides an introduction to microcontrollers using the Arduino platform. It discusses what a microcontroller is and some common uses. It then describes the benefits of the Arduino including its expandability, easy setup, and affordability. The document outlines some basic programming concepts like variables, data types, logic gates, and the overall structure of an Arduino sketch. It also includes an overview of the components included in Arduino starter kits like breadboards, LEDs, resistors, and buttons. Finally, it covers some electrical concepts like Ohm's Law and pull-up/pull-down resistors that are important for building circuits.

Uploaded by

Ferdie Selga
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Introduction To Microcontrollers Final1

This document provides an introduction to microcontrollers using the Arduino platform. It discusses what a microcontroller is and some common uses. It then describes the benefits of the Arduino including its expandability, easy setup, and affordability. The document outlines some basic programming concepts like variables, data types, logic gates, and the overall structure of an Arduino sketch. It also includes an overview of the components included in Arduino starter kits like breadboards, LEDs, resistors, and buttons. Finally, it covers some electrical concepts like Ohm's Law and pull-up/pull-down resistors that are important for building circuits.

Uploaded by

Ferdie Selga
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 43

Introduction to Microcontrollers: Arduino

Skylar Roebuck and Lucas Libraro

What we will learn you


Presentation learnin
The Arduino Microcontroller basics Introduction to programming
Variables Binary
Introduction do the digital 1 and 0

Data types Anatomy of a program Sketches- setup and loop Logic AND, OR, NOT Whats in the kit? Ohms Law Resistor Color Coding Pull Up and Pull Down

Circuit Construction

Then we get building

The Arduino

What is an Arduino

The Arduino is first and foremost a microcontroller.

So what is a microcontroller?
Essentially, a microcontroller is a small computer on a single integrated circuit. The microcontroller has a simple CPU comprised of clock timers, input/output ports, and memory.

Uses:
automatically controlled products and devices automobile engine control systems implantable medical devices remote controls office machines appliances power tools And more and more and more

Personal Project Uses:


Microcontrollers are great at handling inputs and outputs for example: Using a temperature sensor and outputting the temperature on a screen. Using an infrared sensor and using it to guide a robot by controlling motors. Using servos to move a robotic arm Possibilities are endless.

So why the Arduino?

Vs.

Arduino
Expandability
Easy to attach Ethernet shields, sensors, etc.

Easy Setup
All you need is a standard USB cable for programming and power

Breakout board
Circuit creation is made easy by not having to do any soldering

Inexpensive Powerful
Fueled by the Atmega328 microcontroller

The learnin

Pencils and Paper Time!

Variables
A variable is how you store a value within a program Examples: Hackrva = awesome;
Assigns the string (a data type) Awesome to hackrva

Hackrva = 2;
Assigns the integer 2 to the variable hackrva. Further: hackrva = hackrva + 2;
NOW: hackrva = 4

Data types
Data types are an important foundation to programming. For example, if you want a program to count to 10 then you want:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10

You do NOT want


1.00000, 1.00001, 1.00002, etc.

This is solved by using data types properly

Data types mark 2


In the example before, counting to 10, we would want that to be an integer so that it ignores all other values. This is done in conjunction with the variable and this process is known as defining or initializing variables: Int counter;
-this just tells the compiler that counter is an integer and it doesnt need to be concerned with any other data.

Data types mark 3


Further there are many data types and the variable needs to be assigned according to what it will be used for. Common data types are: String = hack.rva rocks; Char = A; Int = 1; Float = 1.5675;
Binary types
Boolean = 0; (only 0 or 1) Byte = 00001111;

The nitty gritty


The foundation of programming is the 0 and the 1 Boolean 0 No 1 Yes Seems very polar but there are shades of gray we will discuss later

Binary 000 - 0 001 - 1 010 - 2 011 - 3 100 - 4 101 - 5 110 - 6 111 - 7

This is what the microcontroller understands

LOGIC Gates
Logic comes into play when working and thinking on a binary level. They are essentially operations like +, -, *, / except on a binary numbers.

In fact using logic is how you CREATE +,-,*,/ wellyou also need about 5000 transistors. The foundation basic gates are: AND, OR, NOT

AND
INPUT A 0 0 1 1 B 0 1 0 1 OUTPUT A AND B 0 0 0 1

Example: We want LED3 to come on when LED1 and LED2 are both on: If LED2 = 1 AND LED1 = 1 then LED3 = 1

OR
Example: We want LED3 to come on when either LED1 and LED2 are both on:
If LED2 = 1 OR LED1 = 1 then LED3 = 1 INPUT A 0 0 1 1 B 0 1 0 1 OUTPUT A OR B 0 1 1 1

NOT (invert)
INPUT A 0 1 OUTPUT NOT A 1 0

Example: We want LED3 to be the opposite of its current state (if off then on and if on then off):
LED3 = NOT LED3;

Anatomy of a Program

How do we make it do what we want: Program it!


High level languages
C++, C, Java closest to natural human understanding Arduinos Programming Language

Low level languages


Assembly Code a little more difficult to interpret for a person but still possible

Lowest (if you write this you have too much free time)
Machine Code all patterns of 0s and 1s The microcontroller might see: 0001001010010100101001001010001010101010 And from this it will know a specific command.

A program.
Basic life of a program:
User writes a program in C (a high level language) A compiler will then take that code and converts it into Assembly language Then an assembler will take that code and turn it into machine code.
We are using an Arduino IDE, or integrated development environment, so we will write code using Arduinos language and it will take care of the rest! Easy Peazy

Programming Languages
Obviously, not every programming language is the same. Each language differs in a way that makes it particularly good for something. Arduino is no different. Arduino has been simplified specifically to make it easy to program the Arduino microcontroller. Anatomy of an Arduino Program:
Arduino calls every program a Sketch (maybe they feel like that makes them edgy to be different) Sketches are comprised of a SETUP and a LOOP section Setup: Only Runs once and is used to set necessary registers and pins Loop: This is the rest of the sketch and by default when a sketch finishes in this language it repeats the entire sketch. Essentially looping-a concept we will cover later.

CIRCUIT CONSTRUCTION

Whats in the kits?

Whats in the kits?


Half-sized breadboard- 400 connection points, plenty of room for beginner projects, with 2 power rails on the side.

Whats in the kits?


1K & 10K potentiometer - these pots have 0.1" spacing and fit very nicely into a breadboard without modification

Whats in the kits?


2 small pushbuttons - Snap into the breadboard for button inputs

Whats in the kits?


5 bright red diffused LEDs (250mcd) - indicators, blinkies, bright enough to see in the day, but diffused so that they are visible from all angles.

Whats in the kits?


Red, green and blue ultra-bright LED - Can be used on their own, or color-mixed to make nearly any color in the rainbow!

5 100 ohm resistors - They can be used to protect pin outputs when starting out 5 1K resistors - Good for use as LED limiting resistors 5 10K resistors - Great for pullups & pulldowns

Whats in the kits?

A few more concepts before building:


Ohms Law!
Georg Simon Ohm was kind of the Originial Gangster of circuit construction He developed the simple relationship
Or current = voltage / resistance

Why is this important?


Today we will be using LEDs or Light Emitting Diodes . LEDs are essentially switches that emit light. When hooked up correctly to a power source, the current will flow through the switch in the right direction and turn it on. BUT, LEDs are often delicate! With too much current the LED will blow and become unusable.

SOLUTION: We use a resistor to buffer the current through the LED.

Which resistor?
Using Ohms we can determine exactly which resistor is best but it is always best to be safe than sorry.
The higher the resistance the dimmer the LED will

We will be using the 1K resistors.


and which one is that?

Resistor Color Coding

Resistor Color Coding

100ohm 100k ohms

Pull up/pull down resistors


Pull up/pull down is a way of setting up buttons so that they are reliable. When we use buttons today we will add a pull down resistor. This resistor ensures that the button registers as a 0 or off whenever it is not being pushed. This is the function of a pull down resistorit makes sure inputs are what we expect them to be.

Time to build!

Picture of build schematic

Program 1

This program introduces everybody to the general setup of a typical sketch

Program 2

Program 3

You might also like