1.53k likes | 4.1k Views
Arduino. A free development system based on Atmel AVR 8 bit microcontrollers. LB8X Tom. What is AVR. RISC architecture microcontroller Designed for high level languages, developed in Trondheim, Norway in 1996 Classic: AT90S1200, AT90S2343, AT90S2313, AT90S4433, AT90S8515, AT90S8535
E N D
Arduino A free development system based on Atmel AVR 8 bit microcontrollers. LB8X Tom
What is AVR • RISC architecture microcontroller • Designed for high level languages, developed in Trondheim, Norway in 1996 • Classic: AT90S1200, AT90S2343, AT90S2313, AT90S4433, AT90S8515, AT90S8535 • ATtiny22, ATtiny25-85, ATtiny2313 ... • ATmega8, ATmega16, ATmega 48-328 ... • Flash programmable memory • ATmega self programming • RAM, EEPROM and peripherals
What is Arduino • Open Source Hardware, you can make your own board, or buy one. • Cheap, easily available. • Open Source Software. • Very widespread, many projects openly available. • Extra HW (shields) available.
Arduino Language • C like syntax, but simplified • Abstracts the pin naming to numbers • Trades efficience for ease of use • Easy to learn, yet powerful • Lots of example code • Easy to reuse C-code from other projects • Libraries can be written in C++ • Lots of libraries available
int ledPin = 13; // LED connected to digital pin 13 // The setup() method runs once, when the sketch starts void setup() { // initialize the digital pin as an output: pinMode(ledPin, OUTPUT); } // the loop() method runs over and over again, // as long as the Arduino has powervoid loop() { digitalWrite(ledPin, HIGH); // set the LED on delay(500); // wait for half a second digitalWrite(ledPin, LOW); // set the LED off delay(500); // wait for half a second }
BascomAVR Language • Structured basic • Uses AVR pin naming • Easy to learn, yet powerful • Very efficience, and compact • Can use inline assembly code • Built in simulator • Lots of example code • Must have paid version to make libraries • Lots of libraries available
BascomAVR advantages • Free demo version, up to 4kB code • Supports most AVRs • Commercial version is inexpensive • Excellent support • Active community • Supports bootloaders • Supports many programmers • Can work with AVR Studio
$regfile = "m8def.dat" $crystal = 16000000 Led Alias Portb.5 'Arduino digital pin 13 Config Led = Output Reset Led 'Turn off LED ' Main program Do Waitms 500 Toggle Led Waitms 500 Toggle Led Loop End 'End program
Arduino pricing eBay • Arduino Uno $6.50 • Arduino Mega2560 $11.95 • Arduino Nano $5.95 • Proto shield $3.95 • Ethernet shield w/SD $7.50 • Bluetooth module HC-06 $4.95 • USB to TTL module $0.95 • RS-232 to TTL module $0.99
Pricing RF modules eBay • nRF24L01+ $0.95 • nRF24L01+ w/PA, ant $4.50 • 433MHz tx/rx modules $0.99 • ESP-01 WiFi module $3.9 • Breadboards: • Full size $ 2.49 • Half size $ 1.65 • Mini $0.99
Pricing sensor modules eBay • DHT22 temp & humidity $3.50 • BMP180 barometric $1.55 • DS18S20 temperature $0.99 • HX711 weight IF $0.99 • 1kg loadcell beam $5.49 • MPS20N0040D-D press. $2.49
Resources • www.atmel.com/avr • www.avrfreaks.net • www.arduino.cc • en.wikipedia.org/wiki/Arduino • www.mcselec.com (BascomAVR) • www.argentdata.com • www.ebay.com • www.sparkfun.com