* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download arduino powerpoint
Survey
Document related concepts
Program optimization wikipedia , lookup
APL syntax and symbols wikipedia , lookup
Stream processing wikipedia , lookup
Supercomputer architecture wikipedia , lookup
Falcon (programming language) wikipedia , lookup
C Sharp syntax wikipedia , lookup
Structured programming wikipedia , lookup
Parallel computing wikipedia , lookup
Go (programming language) wikipedia , lookup
C Sharp (programming language) wikipedia , lookup
Standard ML wikipedia , lookup
One-pass compiler wikipedia , lookup
Transcript
Microcontrollers, Microcomputers, and Microprocessors Digital Electronics © 2014 Project Lead The Way, Inc. Microcontroller, Microcomputer, or Microprocessor? What is the difference? A microcontroller is a small, low cost computer on a single integrated circuit. ATmega328 Microcontroller • Processor • Memory • Programmable Input/Output(I/O) Arduino Uno Microcontroller Board SparkFun Electronics, . Arduino Uno - R3. 2013. Photograph. Wikipedia Commons Web. 7 Jan 2014. Microcontrollers are used to perform one dedicated task. One specific program. They are usually embedded in products. 2 Microcontroller, Microcomputer, or Microprocessor? What is the difference? A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit. It includes: • a microprocessor • memory • input/output (I/O) facilities Commodore 64 Microcomputer Evan-Amos, . Commodore-64-Computer. 2011. Photograph. Wikipedia Commons Web. 7 Jan 2014. <http://en.wikipedia.org/wiki/File:Commodore-64-Computer.jpg>.. 3 Microcontroller, Microcomputer, or Microprocessor? What is the difference? Why is it called a “micro” computer? Early computers such as ENIAC filled entire rooms. A “micro”computer by comparison with a keyboard, monitor, and mouse are commonly referred to as a personal computer today. U.S. Army Photo, . ENIAC. 197. Photograph. Wikipedia Commons Web. 7 Jan 2014. The prefix “micro” is not commonly used in describing computers anymore. 4 Microcontroller, Computer, or Processor? What is the difference? Application Processors As the use of smart phones and mobile devices has expanded, a new type of processor has been defined. Intel® Quark SoC X1000 Application Processor Today, microprocessors in computers are often just referred to as processors. All computers today have a processor as the CPU. Microprocessors designed for use in mobile applications are called application processors. 5 Microcontroller, Microcomputer, or Microprocessor? What is the difference? A microprocessor is an IC which has only the Central Processing Unit inside them. They only have processing powers. Microprocessors don’t have RAM, ROM, and other peripheral on the chip. A system designer has to add them externally to make them functional. Once again, the prefix “micro” is increasingly left today in favor of just processor. 6 What is a Microcontroller? Microcontrollers are used to control many everyday products like garage door openers, traffic lights, home thermostats, and robots. Embedded controllers are everywhere. 7 What are the Parts of a Microcontroller? Microcontrollers contain: • A Central Processing Unit • Some form of memory • Programmable Input / Output ATmega328 Microcontroller (CPU) (MEMORY) (I/O) 8 What are the Parts of the Arduino Microcontroller Board? The Arduino Microcontroller Board Specifications: • (14) Digital I/O Pins: (6) are PWM Specific Digital / PWM • (6) Analog I/O Pins • Power: USB or external. If using power supply with 2.1mm center-positive plug, recommend range 7V-12V. • USB Connection: Type B • 5V or 3.3V option Analog USB Power Vext 9 Programming a Microcontroller Programming languages have their own grammar called syntax. Programs written with the Ardiuno software are called Sketches. A Sketch (program written with Arduino) will contain: • Variables • Functions • Setup() • Loop() • Structures • Comments 10 Programming a Microcontroller • The Arduino software consists of an Integrated development environment (IDE) and the core libraries. • The core libraries are written in C and C++ and compiled using avr-gcc and AVR Libc. • The Arduino software language you program in is very similar to C++ because it is derived from C/C++. 11 Example: Blink This sketch (program) will continue to turn on LED on for 1 second and off for 1 second. The sketch (program) includes : setup() function - Initializes variables, pin modes, start using libraries, etc. loop() function - loops code consecutively. // Comments - Detailed descriptions not executed. 12 Example: Blink void - The void keyword is used only in function declarations. It indicates that the function is expected to return no information to the function from which it was called. 13 Example: Blink Syntax: { } Curly Braces (also referred to as just "braces" or as "curly brackets") Curly Braces are a major part of the C programming language. Balanced Braces - An opening curly brace "{" must always be followed by a closing curly brace "}". 14 Example: Blink Curly Braces – Beginning programmers, and programmers coming to C from the BASIC language often find using braces confusing or daunting. The same curly braces in C replace: the RETURN statement in a subroutine (function), the ENDIF statement in a conditional and the NEXT statement in a FOR loop in the BASIC language. 15 Example: Blink Syntax: The main uses of { } Curly Braces Functions void myfunction(datatype argument){ statements(s) } Loops while (boolean expression) { statement(s) } do { statement(s) } while (boolean expression); for (initialisation; termination condition; incrementing expr) { statement(s) } Conditional statements if (boolean expression) { statement(s) } else if (boolean expression) { statement(s) } else { statement(s) } 16 Example: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give the variable “integer” the name “led”: int led = 13; // the setup routine runs once to declare function when you press reset: void setup() { // initialize the digital pin “pinMode” you defined as “led” as an output. pinMode(led, OUTPUT); } // the void loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 17 Example: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give the variable “integer” the name “led”: int led = 13; A variable is a place for storing a piece of data. It has a type, a name, and a value. For example, the Blink sketch declares a variable with: the type “integer” int, name led, and an initial value = 13; 18 Example: Blink Variable Data Types Include: void boolean char unsigned char byte int unsigned int word unsigned long short float double string - char array String - object Array long 19 Example: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give the variable “integer” the name “led”: int led = 13; // the setup routine runs once to declare function when you press reset: void setup() { // initialize the digital pin “pinMode” you defined as “led” as an output. pinMode(led, OUTPUT); } A function (also known as a sub-routine) is a named piece of code that can be used from elsewhere in the code. The setup() function in this example sets the variable led as an OUTPUT. 20 Example: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. The loop() function loops consecutively, allowing your program to change and respond. Use it to actively control the Arduino board. // the void loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 21 Your Turn Open Source Community Arduino Software is free. You can install it at home if you would like to continue work on your DE projects and/or create new projects of your own. For the newest version of Aurdino IDE visit their website. In the next activities, you will program a microcontroller to integrate new types of sensors and input devices. Memsic 2125 Dual-axis Accelerometer PIR Sensor (Passive Infra-Red) 2-Axis Joystick 22