Download Policy: Content on the Website is provided to you AS IS for your information and personal use only and may not be sold or licensed nor shared on other sites. SlideServe reserves the right to change this policy at anytime. While downloading, If for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
1. Introduction to Microcontrollers: Arduino Skylar Roebuck and Lucas Libraro
3. What we will learn you Presentation learnin
Introduction to programming
Introduction do the digital 1 and 0
Anatomy of a program
Sketches- setup and loop
Logic AND, OR, NOT
Whats in the kit?
Resistor Color Coding
Pull Up and Pull Down
Then we get building
4. The Arduino
5. What is an Arduino
6. 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.
7. Uses: automatically controlled products and devices
automobile engine control systems
implantable medical devices
And more and more and more
8. 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.
9. So why the Arduino?
10. Arduino Expandability
Easy to attach Ethernet shields, sensors, etc.
All you need is a standard USB cable for programming and power
Circuit creation is made easy by not having to do any soldering
Fueled by the Atmega328 microcontroller
11. The learnin
Pencils and Paper Time!
12. Variables A variable is how you store a value within a program
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
13. 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
14. 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:
-this just tells the compiler that counter is an integer and it doesnt need to be concerned with any other data.
15. 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;
Boolean = 0; (only 0 or 1)
Byte = 00001111;
16. The nitty gritty The foundation of programming is
the 0 and the 1
000 - 0
001 - 1
010 - 2
011 - 3
100 - 4
101 - 5
110 - 6
111 - 7
17. 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
20. NOT (invert)
21. Anatomy of a Program
22. 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.
23. 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!
24. 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.
25. CIRCUIT CONSTRUCTION
26. Whats in the kits?
27. Whats in the kits?
28. Whats in the kits?
29. Whats in the kits?
30. Whats in the kits?
31. Whats in the kits?
32. Whats in the kits?
33. A few more concepts before building: Ohms Law!
Georg Simon Ohmwas kind of the Originial Gangster of circuit construction
He developed the simple relationship
34. 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.
35. 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?
36. Resistor Color Coding
37. Resistor Color Coding
38. 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.
39. Time to build!
40. Picture of build schematic
41. Program 1
42. Program 2
43. Program 3