Introduktion till Arduino CHRISTIAN ANTFOLK Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 1 Preliminärt schema Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 2 1
Preliminärt labschema Töjning och flöde : Läsvecka 5 (25.9-29.9) Temperatur och varvtal : Läsvecka 6 (2.10-6.10) Sensorer : Läsvecka 7 (9.10 13.10) Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 3 Upplägg Sensor/signalanpassning 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 4 2
Sensoranpassning Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 5 Sensoranpassning Litteratur: Analog Sensor Conditioning Circuits An Overview (Microchip) Chapter 3 : Sensors from Basic Linear Design (Analog Devices) Practical Design Techniques for Sensor Signal Conditioning (Analog Devices) The Engineer s Guide to Signal Conditioning (National Instruments) Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 6 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 7 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 8 4
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 9 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 10 5
ATmega328 Blockdiagram Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 11 AVR architecture Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 12 6
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 13 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 14 7
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 15 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 16 8
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 17 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 18 9
Programmeringsmiljö Välj kort Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 19 Programmeringsmiljö Välj port Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 20 10
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 21 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 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 22 11
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 23 Thank you! christian.antfolk@bme.lth.se Faculty of Engineering LTH Dept of. Biomedical Engineering Christian Antfolk Slide 24 12