1 / 32

"Arduino" workshop

"Arduino" workshop. Domoticaforum. Lennart Herlaar. Robert Hekkers. Inhoud. Het Arduino platform Varianten en shields Sensoren en actoren Coding en sketches Toepassingen Meet the JeeNode Workshop!. Physical Computing.

bela
Download Presentation

"Arduino" workshop

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. "Arduino" workshop Domoticaforum Lennart Herlaar Robert Hekkers

  2. Inhoud • Het Arduino platform • Varianten en shields • Sensoren en actoren • Coding en sketches • Toepassingen • Meet the JeeNode • Workshop!

  3. Physical Computing Physical (or embedded) computing, in the broadest sense, means building interactive physical systems by the use of software and hardware that can sense and respond to the analog world. While this definition is broad enough to encompass things such as smart automotive traffic control systems or factory automation processes, it is not commonly used to describe them. In the broad sense, physical computing is a creative framework for understanding human beings' relationship to the digital world. In practical use, the term most often describes handmade art, design or DIY hobby projects that use sensors and microcontrollers to translate analog input to a software system, and/or control electro-mechanical devices such as motors, servos, lighting or other hardware. [Wikipedia]

  4. Het Arduino platform • Hardware • Eenvoudig maar krachtig I/O board op basis van een Atmel microcontroller (uC) • Software • Java-gebaseerde platform-onafhankelijke IDE voor het ontwikkelen in een C-variant • Community • Veel sites en fora op Internet • Actieve gebruikersgroepen

  5. Waarom Arduino? • Krachtig en snel • Open source hardware en software • Goedkoop • Goed gedocumenteerd • Eenvoudig • USB interface, bootloader, C-variant € 60,- € 5,- € 130,- € 0,- € 27,- € 200,-

  6. Specificaties "basis" Arduino • PCB van 6,9 x 5,3 cm • ATmega328 microcontroller, 8-bits, 16 MHz klok • 32 KB flash memory (program), 2 KB SRAM (stack en heap), 1 KB EEPROM (non-volatile) • 14 digitale I/O poorten, waarvan 6 met PWM • 6 analoge inputs (eveneens digitale outputs) • 2 externe interrupts • USB interface, seriële TTL interface, SPI interface, I2C interface • Voeding via USB of extern

  7. Arduino Duemilanove Digitale I/O USB-serieel chip (FTDI) Resetknop Statusleds In-circuit programming interface Klokkristal USB connector Microcontroller Voedingscircuit Voeding Analoge inputs

  8. Arduino Uno

  9. Arduino varianten Arduino Mega Arduino Mini Freeduino Seeduino Arduino Lilypad

  10. Arduino varianten BoArduino BoArduino RBBB USB BUB JeeLink JeeNode

  11. Arduino varianten Roboduino Ardupilot Rainbowduino LennArduino Monochron

  12. Shields Ethernet shield XBee shield Motor shield GPS shield

  13. Prototype breadboard

  14. Sensoren

  15. Actoren

  16. En verder...

  17. Arduino IDE • Integrated Develop- ment Environment • Geschreven in Java • Gebaseerd op Processing • Open source • Zeer eenvoudig • Write, verify, upload, run Serial monitor Verify Upload Voorbeelden Board en COM poort

  18. Hello World! (Blink) Declaratie variabelen Initialisatie (eenmalig) Hoofdloop (ad infinitum)

  19. Arduino programmeertaal • C-variant, gebaseerd op Wiring • Sketches • “Kleine” taal • Complexere zaken zijn afgeschermd • Maar wel te gebruiken • Gebruikelijke control structures • Gebruikelijke functies • Gebruikelijke operatoren • Gebruikelijke datatypes • …

  20. Arduino programmeertaal • Digitale I/O • pinMode(pin, INPUT/OUTPUT) • digitalWrite(pin, HIGH/LOW) • digitalRead(pin) • LOW <= 2 Volt, HIGH >= 3 Volt • Analoge I/O • analogRead(pin) • 0 .. 5 Volt, weergegeven als 0 .. 1023 (10 bit resolutie A/D converter) • analogWrite(pin, 0 .. 255) • Pulsbreedtemodulatie (PWM), 500 Hz

  21. PWM

  22. Arduino programmeertaal • Onze Hello World applicatie heeft een probleem!

  23. Hello World! revisited

  24. Real Time Computing / uC prog. • Structuur • Setup, LoopLoopLoopLoopLoop... • Controle op events en afhandeling! • Gebruik geen delays maar intervallen of interrupts • Houd rekening met debounce tijden • Houd rekening met overflows • Beperkte resources • Geheugen (RAM, EEPROM, flash), timers, poorten • Libraries kunnen een flinke aanslag plegen • Programmeren voor een uC is niet eenvoudig!

  25. Libraries • Serial • LiquidCrystal • Servo • Ethernet • EEPROM • DateTime • Webduino • X10 • Twitter • ...

  26. Toepassingen

  27. Meet the JeeNode

  28. Meet the JeeNode • 3.3V in plaats van 5V • Veel sensoren en IC's alleen op 3.3V • Draadloze RF module standaard aanwezig • RFM12B, 868MHz, packet based, 66 bytes • 4 poorten (ports) met identieke pin layout • PWR, DIO, GND, 3.3, AIO, IRQ • Aansluitpunten voor plugs en boards • Overige poorten elders of voor de radio • Power, Serial, I2C, Extended (PSIX), ISP/SPI • Low power design

  29. Plugs en Boards / Cards • Plugs gebruiken 1 port • Dedicated • Op basis van I2C; dan daisy-chaining mogelijk • Boards / Cards gebruiken vaak meerdere ports of hebben een andere functie • Voorbeelden • Relay Plug, Thermo Plug, LCD Plug, MOSFET Plug • Room Board, Graphics Board, AA Power Board • Ondersteund door de Ports library • Verder is de RF12 library essentieel

  30. Workshop! • Bouw een breadboard Arduino (Blink) • Soldeer je USB BUB, LCD, Bridge Board, relais • Soldeer je JeeNode • Voer enkele breadboard experimenten uit • Soldeer je Room Board • Probeer RF12DEMO en de Room Board demo • Homeseer integratie • Tussendoor demo's van (SMD) solderen en Mantis CNC

  31. "Arduino" workshop Vragen? Domoticaforum Lennart Herlaar Robert Hekkers

  32. "Arduino" workshop www.arduino.cc www.freeduino.org www.awesomecopter.nl www.jeelabs.org www.circuitsonline.net www.freerouting.net www.reprap.org www.cadsoft.de www.picbasic.nl/index_etsen.htm www.protospace.nl www.sparkfun.com/commerce/tutorials.php www.shieldlist.org www.adafruit.com/index.php?main_page=tutorials www.eevblog.com (episode 45) blog.makezine.com/archive/arduino hacknmod.com/hack/top-40-arduino-projects-of-the-web www.aeroquad.info www.stephenhobley.com/blog/laser-harp-2009 Domoticaforum Lennart Herlaar Robert Hekkers

More Related