Introduktion till Arduino CHRISTIAN ANTFOLK Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 1 Preliminärt labschema LV4 LV5 LV6 7 Lab 1 Töjning & flöde? / Tobias Måndag 19.9.2016 8 12 Måndag 19.9.2016 13 17 Tisdag 20.9.2016 8 12 Onsdag 21.9.2016 8 12 Torsdag 22.9.2016 8 12 Lab 2 Temperatur & varvtal Carl / Ola Måndag 26.9.2016 13 17 Tisdag 27.9.2016 8 12 Onsdag 28.9.2016 8 12 Torsdag 29.9.2016 8 12 Fredag 30.9.2016 8 12 Lab 3 Sensorer Johan G Måndag 3.10.2016 8 12 Onsdag 5.10.2016 8 12 Torsdag 6.10.2016 8 12 Fredag 7.10.2016 13 17 Måndag 10.10.2016 8 12 Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 2 1
Upplägg Vad är Arduino Delar Programmeringsmiljö Systemupplägg Hur man kopplar in ett Arduino? Hur man programmerar (laddar upp kod)? Programmering med exempel Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 3 Arduino Arduino är en open-source plattform Hårdvara (mikrokontroller) Mjukvara (IDE, utvecklingsmiljö) Massimo Banzi och David Cuartielles Baseras på Wiring Platform från 2003 Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 4 2
Arduino forts. Det finns mängder av olika Arduinos/Genuinos Kloner Arduino Uno Arduino Leonardo Arduino Due Arduino Micro Arduino Mega Arduino Ethernet Arduino Mini Arduino Nano Lilypad Arduino Arduino Pro Mini Arduino Fio etc Arduino Pro Mini Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 5 Arduino :: Mikrokontroller Mikrokontroller: Processor (CPU) Minne (RAM / ROM / Flash etc) I/O portar (Digitala, Analoga, USB, SPI, I2C, ADC, PWM) Vanliga mikrokontrollers: Intel : 4004, 8008 Atmel : AVR Microchip: PIC Hitachi : H8 Texas Instruments: MSP, C2000 Analog Devices : Blackfin, Sharc etc Används överallt Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 6 3
Mikrokontroller exempel ATmega328P (används t.ex. i Arduino Uno och Pro Mini) 8-bitars AVR RISC 1.8 5.5 Volt Upp till 20 MHz Strömförbrukning: 0.2 ma @1MHz, 1V, Active mode 32 kb Flash 2 kb SRAM 23 programmerbara I/Os 6 x 10-bitars analoga ingångar 6 x PWM utgångar 3 x Timers / counters Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 7 ATmega328 Blockdiagram Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 8 4
AVR architecture Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 9 Arduino-liknande system Cortino (ARM STM23) Pinguino (PIC) Unduino (PIC) Netduino (AT91SAM7X, ARM7) Microduino Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 10 5
Var kan man få tag på en Arduino Kjell & Co (Sverige) Sparkfun (USA) Adafruit (USA) Lawicel (Sverige) Electrokit (Sverige) Farnell ELFA etc eller bygg din egen Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 11 Arduino hårdvara :: exempel Arduino Nano USB port 16 MHz oscillator Spänningsregulator Atmega328P USB <-> Serie port Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 12 6
Shields Arduino behöver i flera fall andra gränssnitt och i sådana fall används sk. Shields: Ethernet Shield WiFi Shield Motor Shield GSM Shield Etc Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 13 Programmeringsmiljö Ladda ner Arduino kompilator och utvecklingsmiljö på adressen : http://arduino.cc/en/main/software Finns för Windows, Linux & Mac Ingen installer, unzip till valfri katalog Före man gör något annat så kopplar man in sitt Arduino till datorn (USB) När dator har hittat och allokerat en port kan man starta utvecklingsmiljön Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 14 7
Programmeringsmiljö Program eller kod för Arduino kallas en Sketch Programmering i C/C++ Genom att använda olika bibliotek så tas en del av komplexiteten bort och ett mycket enklare programmeringssätt kan användas Genom att använda en speciell bootloader så kan programmet skickas till mikrokontrollern via serieporten Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 15 Programmeringsmiljö Välj kort Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 16 8
Programmeringsmiljö Välj port Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 17 Programmeringsmiljö Texteditor med syntax coloring Kompilator Hårdvaruinterface: Ladda upp program Kommunicera med hårdvara Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 18 9
Slutord om Arduinos Finns otroligt mycket på Arduinos hemsida och forum Väldigt många använder Arduino så det finns jättemycket information Eftersom Arduino har en sk. bootloader så kan den programmeras via serie-porten Arduino begränsar också användningen av mikrokontrollern i många avseenden. Vad som skrivs för ett program skrivet i C för direkt för en mikrokontroller kommer att vara mera effektivt och snabbare än ett program skrivet i Arduinomiljö Enda sättet att debugga ett program är via serieporten. Kan bli väldigt tidskrävande för stora program Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 19 Sensorkit Sparkfun Sensorkit Magnetometer Accelerometer Gyro FSR Reed Switch Motion Sensor Humidity Sensor Pressure Sensor Etcetc. Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 20 10
Thank you! christian.antfolk@bme.lth.se Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 21 11