MICROCONTROLLERS & ARDUINO
Tanya Vasilevitsky Tatyana [email protected] Motivation
Bridge the gap between real (analog) world and computer (digital)
Process raw electrical data into computer logic Process computer logic to electrical signals Microcontroller
• A small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals.
• designed for embedded applications (remote controls , appliances, power tools…)
• Interrupts - real time response to events in the embedded system.
• Two ATMega microcontrollers PIC 18F8720 microcontroller i n an 80-pin TQFP package. Microcontroller
• 1971 - Gary Boone and Michael Cochran succeeded in creating the first microcontroller, TMS1000. Contained: ROM, R/W memory, processor and clock on single chip • 1976 - Intel develops Intel 8048 with massive success
• 1993 – EEPROM introduced (Replacing EPROM & PROM) & Atmel introduces first microcontroller with flash memory
• Today – 32bit Microcontrollers as cheap as 1$
Intel 1702A EPROM Single-board microcontroller
• A microcontroller built onto a single printed circuit board (PCB) • Provides all necessary HW: microprocessor, I/O circuits, clock generator, RAM
Cheap, especially for development
Emphasis on IO (digital/analog)
The Make Controller Kit with an Atmel AT91SAM7X256 (ARM) microcontroller. Dwengo Arduino
Open source HW & Software company from Italy Started in 2005 as a project for students at the Interaction Design Institute in Ivrea, Italy
Initial team Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis
A family of microcontroller boards Atmel microcontrollers & microprocessors
https://www.arduino.cc/ Arduino Boards
Arduino Uno Arduino Mega Arduino pro Arduino pro mini
Arduino micro Arduino Uno Arduino mega
Arduino pro mini
Arduino pro
Arduino micro Arduino Boards Arduino Zero Arduino Due • Arduino Zero (with debugger!) • Arduino Due • Arduino Yun • LilyPad
Arduino Yun Shields
• Ethernet shield • GSM shield • WIFI shield Other Boards
• Raspberry Pi – Single board computer, dev. In UK Raspberry parnk
• Intel Edison- dual core CPU, single core microcontroller, wifi & blutetooth…
• Intel Galileo – based on intl 32 bit pentium class SoC, arduino uno shields compatible Arduino Uno
• based on the ATmega328P • 14 digital input/output pins (6 PWM) • 6 analog Input • 16 MHz quartz crystal • USB connection • Power jack • an ICSP header • Reset button
Arduino Vs Raspberri Pi Demo
• Arduino IDE • Selecting board type • Selecting com port • Setup & Loop • pinMode • digitalWrite • analogWrite • delay Ex1
• PWM – Pulse width modulation
• Light a led using PWM and video it – you will experience aliasing.
• Use the Aliasing to flash your ID • & record it. Have something to indicate time units • Be creative!
• Submission- Email to Amit on behalf of team containing ID’s and a video with your solution. Arduino Workshop kit
• 1 Arduino Uno R3 Board • 1 USB cable • 1 Straight single line pinhead connectors 2,54 40x1 • 1 Breadboard, 840 tie points • 1 Set of 70 breadboard jumper wires • 5 10K Ohm Resstors 1/4W • 5 2.2K Ohm Resistor 1/4 W • 10 220 Ohm Resistors 1/4W • 5 330K Ohm Resistors 1/4W • 5 100nF capacitor polyester • 5 10nF capacitor polyester • 3 100uF electrolytic capacitor 25Vdc • 1 4,7K Ohm Thermistor • 1 70..100K Ohm LDR VT90N2 • 3 5mm RED LED • 1 5mm GREEN LED • 1 5mm YELLOW LED • 1 10Kohm linear potentiometer, pcb terminals • 2 BC547 Transistor in TO92 Package • 1 Piezo buzzer • 5 PCB Pushbutton, 12x12mm size • 2 4N35 Optocoupler DIL-6 package • 2 Tilt sensor • 1 Diode 1n4007 • 1 MOS Irf540 Arduino Starter kit Kits- Sensors
• Sparkfun sensors list • Tkkrlab sensor list
Examples: • Magnometer • Reed switch (magnetic field) • Gyro • Force Sensitive Resistor • Piezzo Vibration Sensor Arduino IDE
• https://www.arduino.cc/en/Main/Software
• Open source, code available on GitHub https://github.com/arduino/Arduino/