Begynner kurs i Arduino og C++ Geir Soland Skogmo Videregående skole



Like dokumenter
Exercise 1: Phase Splitter DC Operation

ARDUINO STUDIELABEN PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER FRITZING. Roger Antonsen INF januar 2012

Litt mer om Arduino. Roger Antonsen Sten Solli INF januar 2011

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Start Here USB *CC * *CC * USB USB

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

Prototyping med Arduino del 2

HONSEL process monitoring

Slope-Intercept Formula

WORKSHOP BRUK AV SENSORTEKNOLOGI

Information search for the research protocol in IIC/IID

of color printers at university); helps in learning GIS.

TB-615 / TB-617 Wireless slim keyboard. EN User guide SE Användarhandledning FI Käyttöohje DK Brugervejledning NO Bruksanvisning

PATIENCE TÅLMODIGHET. Is the ability to wait for something. Det trenger vi når vi må vente på noe

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

ARDUINO STUDIELABEN. Roger Antonsen INF februar 2012

ARDUINO STUDIELABEN. Roger Antonsen INF februar 2012

FIRST LEGO League. Härnösand 2012

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring

FORDYPNINGSEMNE 2012

SmartPass Mini User Manual BBNORGE.NO

Neural Network. Sensors Sorter

Data Sheet for Joysticks

Trådløsnett med Windows XP. Wireless network with Windows XP

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

Data Sheet for Joysticks

ELSEMA 1, 2, 4-Channel 27MHz Transmitter FMT312E, FMT31202E, FMT31204E

Object interaction. Innhold. Abstraksjon Grunnleggende programmering i Java Monica Strand 3. september 2007.

Start MATLAB. Start NUnet Applications Statistical and Computational packages MATLAB Release 13 MATLAB 6.5

Dynamic Programming Longest Common Subsequence. Class 27

Bostøttesamling

Øvingsforelesning 5 Python (TDT4110)

GLOBALCOMSERVER HP 9100C DIGITAL SENDER GATEWAY ADMINISTRATOR S GUIDE 1998 AVM INFORMATIQUE (UPDATED: AUGUST 22, 2006)

DM6814/DM5814 User s Manual

Moving Objects. We need to move our objects in 3D space.

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

Den som gjør godt, er av Gud (Multilingual Edition)

Høgskoleni østfold EKSAMEN. Oppgavesettet består av 8 sider inklusiv denne forsiden og vedlegg.

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

FASMED. Tirsdag 21.april 2015

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

Øvingsforelesning 5 Python (TDT4110)

Steg 1: Installere programvaren

Prototyping med Arduino del 3

Trigonometric Substitution

Databases 1. Extended Relational Algebra

Speed Racer Theme. Theme Music: Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz. September 9, 2011 Physics 131 Prof. E. F.

Den som gjør godt, er av Gud (Multilingual Edition)

inf 1510: bruksorientert design

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærere: Robert Roppestad. Hele oppgavesettet består av 8 oppgaver, samt 1 vedlegg.

The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses.

Mathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2

Trådløsnett med Windows Vista. Wireless network with Windows Vista

Windows Server 2008 Hyper-V, Windows Server 2008 Server Core Installation Notes

Programmering. Carsten Wulff

Bestille trykk av doktoravhandling Ordering printing of PhD Thesis

7-Segment Display Nybegynner Arduino Lærerveiledning

Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening.

BIBSYS Brukermøte 2011 Live Rasmussen og Andreas Christensen. Alt på et brett? -om pensum på ipad og lesebrett

REMOVE CONTENTS FROM BOX. VERIFY ALL PARTS ARE PRESENT READ INSTRUCTIONS CAREFULLY BEFORE STARTING INSTALLATION

7-Segment Display. Introduksjon. Steg 1: Finn frem utstyr. Til denne oppgaven trenger du. Skrevet av: Martin Ertsås & Morten Minde Neergaard

Bruk av interrupt og Timer i Arduino-program.

GYRO MED SYKKELHJUL. Forsøk å tippe og vri på hjulet. Hva kjenner du? Hvorfor oppfører hjulet seg slik, og hva er egentlig en gyro?

Data Sheet for Joysticks

IN1060: Bruksorientert design

INF1510: Bruksorientert design

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

PSi Apollo. Technical Presentation

INSTALLATION GUIDE FTR Cargo Rack Regular Ford Transit 130" Wheelbase ( Aluminum )

stjerneponcho for voksne star poncho for grown ups

Regler under svømmetrening! ENGLISH BELOW

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.

// Translation // KLART SVAR «Free-Range Employees»

SJEKKESKOLEN: EN STEG-FOR-STEG GUIDE TIL TILTREKNING AV FANTASTISKE JENTER (NORWEGIAN EDITION) BY ANDREAS GODE VIBBER

IN 211 Programmeringsspråk. Dokumentasjon. Hvorfor skrive dokumentasjon? For hvem? «Lesbar programmering» Ark 1 av 11

Administrasjon av postnummersystemet i Norge Post code administration in Norway. Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6.

INF1510: Bruksorientert design

Maple Basics. K. Cooper

The internet of Health

UNIVERSITETET I OSLO

Uke 5. Magnus Li INF /

Ethernet Starter Kit II

Data Sheet for Joysticks

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Little Mountain Housing

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Eksamen ENG1002/1003 Engelsk fellesfag Elevar og privatistar/elever og privatister. Nynorsk/Bokmål

EMPIC MEDICAL. Etterutdanningskurs flyleger 21. april Lars (Lasse) Holm Prosjektleder Telefon: E-post:

SHORE POWER CONVERTER LIST 2018

Ultralydsensor. Introduksjon. Litt om ultralydsensorer. Arduino. Skrevet av: Martin Ertsås & Morten Minde Neergaard

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

GEO231 Teorier om migrasjon og utvikling

Rom-Linker Software User s Manual

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017

Del 1 En oversikt over C-programmering

Transkript:

Begynner kurs i Arduino og C++ Geir Soland Skogmo Videregående skole

Nettverkstilgang SSID Navn: VG3Data Passord: admin:1234

Konseptet - Arduino Består av et lite mikroprosessorkort Arduino Uno med en Atmel ATmega 328 mikroprosessor 14 digitale I/O inkl 6 PWM, 6 analoge inputs 10bit, digitale I/O kan brukes som SPI eller I2C og seriel I/O. 32 kbyte programminne pris fra kr.:50 til kr.:300 avhengig av leverandør Arduino Mega2560 med en Atmel ATmega 2560 mikroprosessor 54 digitale I/O, inkl 15 PWM output, 16 analoge inputs 10bit, 4 serielle I/O SPI eller I2C, 256kByte programminne pris fra kr.:75 til kr.:500 avhengig av leverandør Og en enkel utviklingssoftware Arduino IDE Enkelt utviklingssystem som kan kjøres på Windows, MAC OSX og Linux32bit/64it Er gratis Bruker USB for å kommunisere mellom prosessor kort og PC Kortet alene og i enkle konfigurasjoner kan kjøre på strømmen fra USB porten

Noen gode referanse nettsteder www.arduino.cc Arduino gjengen sitt offisielle nettsted www.arduino.cc/en/guide/homepage Arduino komme i gang side www.sparkfun.com Amerikansk leverandør av Arduino produkter www.sparkfun.com/products/12060 Sparkfun Inventor Kit side www.youblob.com Norsk importør av Sparkfun produkter www.elektrodragon.com Kinesisk leverandør av Arduino relaterte produkter www.github.com Software hub for deling av opensource programmer - 30000 prosj. www.visualmicro.com Plugin til MS Visual Studio for et mer profesjonelt grensesnitt www.visualstudio.com Gratis full versjon av MS Visual studio www.fritzing.org Opensource - dokumentasjon, design, skjema og PCB utleggingsverktøy https://learn.sparkfun.com/resources/90 Arduino cheatsheet

Arduino systemet Betyr Sterk Venn på Italiensk - ble utviklet i Ivrea I Italia i 2005 av Massimo Banzi og David Cuartielles Open Source Hardware Prosessor fra Flere kodeplattformer (C++, Processing, Java, Bascom)

La oss starte SW Installasjon: Materiell: Arduino (v.1.0+) MS-Visual Studio Visualmicro plugin Fritzing SIK Guide Code Drivers (FTDI) SIK Guide Analog I/O, Digital I/O, Serial, & Fritzing handouts Arduino CheatSheet

Innstallere Arduino IDE Hints: For PC Users 1.Let the installer copy and move the files to the appropriate locations, or 2.Create a folder under C:\Program Files (x86) called Arduino. Move the entire Arduino program folder here. For Mac Users 1. Move the Arduino executable to the dock for ease of access. 2. Resist the temptation to run these from your desktop.

PWR IN USB (to Computer) RESET SCL\SDA (I2C Bus) POWER 5V / 3.3V / GND Analog INPUTS Digital I\O PWM(3, 5, 6, 9, 10, 11)

PWR IN USB (to Computer) RESET SCL\SDA (I2C Bus) POWER 5V / 3.3V / GND Analog INPUTS Digital I\O PWM(3, 5, 6, 9, 10, 11)

Arduino Shields PCB Built Shield Inserted Shield

Go ahead and plug your board in!

Prototyping Circuits Solderless Breadboard One of the most useful tools in an engineer or Maker s toolkit. The three most important things: A breadboard is easier than soldering A lot of those little holes are connected, which ones? Sometimes breadboards break

What s a Breadboard?

Solderless Breadboard Each row (horiz.) of 5 holes are connected. Vertical columns called power bus are connected vertically

Using the Breadboard to built a simple circuit Use the breadboard to wire up a single LED with a 330 Ohm Resistor (Orange-Orange-Brown). Note: the longer leg on the LED is the positive leg and the shorter leg is the negative

Fritzing View of Breadboard Circuit What happens when you break the circuit? What if you wanted to add more than one LED?

Adding control let s use the Arduino and start programming!!!

Concepts: INPUT vs. OUTPUT Referenced from the perspective of the microcontroller (electrical board). Inputs is a signal / information going into the board. Output is any signal exiting the board. Almost all systems that use physical computing will have some form of output What are some examples of Outputs?

Concepts: INPUT vs. OUTPUT Referenced from the perspective of the microcontroller (electrical board). Inputs is a signal / information going into the board. Output is any signal exiting the board. Examples: Buttons Switches, Light Sensors, Flex Sensors, Humidity Sensors, Temperature Sensors Examples: LEDs, DC motor, servo motor, a piezo buzzer, relay, an RGB LED

Concepts: Analog vs. Digital Microcontrollers are digital devices ON or OFF. Also called discrete. analog signals are anything that can be a full range of values. What are some examples? More on this later 5 V 0 V 5 V 0 V

Arduino Integrated Development Environment (IDE) Two required functions / methods / routines: void setup() { // runs once } error & status messages void loop() { // repeats }

Settings: Tools Serial Port Your computer communicates to the Arduino microcontroller via a serial port through a USB-Serial adapter. Check to make sure that the drivers are properly installed.

Settings: Tools Board Next, double-check that the proper board is selected under the Tools Board menu.

digitalwrite() BIG 6 CONCEPTS analogwrite() digitalread() if() statements / Boolean analogread() Serial communication This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States License.

Let s get to coding Project #1 Blink Hello World of Physical Computing Psuedo-code how should this work? Turn LED ON Wait Turn LED OFF Wait Rinse & Repeat

Comments, Comments, Comments Comments are for you the programmer and your friends or anyone else human that might read your code. // this is for single line comments // it s good to put a description at the top and before anything tricky /* this is for multi-line comments Like this And this. */

comments

Three commands to know pinmode(pin, INPUT/OUTPUT); ex: pinmode(13, OUTPUT); digitalwrite(pin, HIGH/LOW); ex: digitalwrite(13, HIGH); delay(time_ms); ex: delay(2500); // delay of 2.5 sec. // NOTE: -> commands are CASE-sensitive

Project #1: Wiring Diagram Move the green wire from the power bus to pin 13 (or any other Digital I/O pin on the Arduino board. Image created in Fritzing

A few simple challenges Let s make LED#13 blink! Challenge 1a blink with a 200 ms second interval. Challenge 1b blink to mimic a heartbeat Challenge 1c find the fastest blink that the human eye can still detect 1 ms delay? 2 ms delay? 3 ms delay???

Try adding other LEDs

Variabler hva og hvordan

Variabler og datatyper En variabel er en måte å oppbevare tall eller tekst på i datamaskinen Tenk på en variabel som en skuff som du kan ha «noe» i. Variabler kan være av forskjellige datatyper De ulike datatypene tar ulik plass i minne En datatype beskriver hva slags type og størrelse som dataene i variabel er: Datatypen void er «tom» Datatypen int er heltall fra -32768 32767 Datatypen unsigned int er heltall fra 0 65535 Datatypen byte er 8 bit, tallverdier fra 0 255 Datatypen word er 16 bit, tallverdier fra 0-65535 Datatypen boolean er boolske verdier (0 eller 1 og sant eller falskt) Datatypen char er ASCII tegn med verdi fra -128 til 127 Datatypen unsigned char er ASCII tegn med verdi fra 0 255 Datatypen long er tall fra -2.147.483.648 2.147.483.647 Datatypen unsigned long er tall fra 0 4.294.967.295 Datatypen float er flyttall fra -3,4028235E+38 3,4028235E+38 Datatypen double er fortiden lik datatypen float

Eksempel på variabler og navning av variabler int ledpinne = 13 char bob = a Int led_sensor_1 = 4 Navning av variabler Variabelnavn «ledpinne» - camelcase, andre ordet starter med stor forbokstav Variabelnavn «bob» - rettfrem, uten noen utheving Variabelnavn «led_sensor_1» - med-bindestrek eller med_understrek

Variabelomfang og rekkevidde Når gjelder en variabel definisjon Lokale variabler Defineres inne i en funksjon (delprogram) Gjelder kun i den funksjonen Globale variabler Defineres i begynnelsen av programmet Gjelder i alle funksjoner (delprogrammer)

Programming Concepts: Variables Variable Scope Global --- Function-level

Programming Concepts: Variable Types Variable Types: 8 bits 16 bits 32 bits byte char int unsigned int long unsigned long float

Kontrollstrukturer valg: if else Brukes for å kontrollere verdier i en variabel eller et valg f.eks.: if (antall > 10) { std::cout << «tallet er over 10!\n"; } else { std::cout << «tallet er under 10!\n"; }

Kontrollstrukturer valg: switch - case Brukes for å velge ett av flere valg f.eks.: switch (mittvalg) { case 1: //gjør dette! break; case 2: //eller gjør dette! // Hva skjer uten 'break'? default: slutther (); }

Kontrollstrukturer løkker: for Kan brukes til å lage f.eks. tellere f.eks.: for (int i = 0; i < 5; i++) { std::cout << "i: " << i << "\n"; }

Kontrollstrukturer løkker: while Kan brukes til å gjøre noe når en viss status er oppnådd f.eks.: while (antallagurker > antallmeloner) { spis(agurk); }

Kontrollstrukturer løkker: do while Kan brukes til å gjøre noe inntil en viss status er oppnådd f.eks.: do { spis(melon); } while (antallmeloner > antallagurker);

Fading in and Fading Out (Analog or Digital?) A few pins on the Arduino allow for us to modify the output to mimic an analog signal. This is done by a technique called: Pulse Width Modulation (PWM)

Concepts: Analog vs. Digital To create an analog signal, the microcontroller uses a technique called PWM. By varying the duty cycle, we can mimic an average analog voltage. Pulse Width Modulation (PWM)

Project #2 Fading Introducing a new command analogwrite(pin, val); pin refers to the OUTPUT pin (limited to pins 3, 5, 6, 9, 10, 11.) denoted by a ~ symbol val 8 bit value (0 255). 0 => 0V 255 => 5V

Move one of your LED pins over to Pin 9 In Arduino, open up: File Examples 01.Basics Fade

Fade - Code Review

Fade - Code Review

Project# 2 -- Fading Challenge 2a Change the rate of the fading in and out. There are at least two different ways to do this can you figure them out? Challenge 2b Use 2 (or more) LEDs so that one fades in as the other one fades out.

R G B Color Mixing Tri-color LED In the SIK, this is a standard Common Cathode LED This means the negative side of the LED is all tied to Ground.

Project 3 RGB LED Note: The longest leg of the RGB LED is the Common Cathode. This goes to GND. Use pins 5, 6, & 9

How many unique colors can you create? Use Colorpicker.com or experiment on your own. Pick out a few colors that you want to try recreating for a lamp or lighting display... Play around with this with the analogwrite() command.

RGB LED Color Mixing int redpin = 5; int greenpin = 6; int bluepin = 9; void setup() { pinmode(redpin, OUTPUT); pinmode(greenpin, OUTPUT); pinmode(bluepin, OUTPUT); }

RGB LED Color Mixing void loop() { analogwrite(redpin, 255); analogwrite (greenpin, 255); analogwrite (bluepin, 255); }

Project: Mood Lamp / Light Sculpture

Napkin Schematics Emphasize the engineering design process with students. We like to skirt the line between formal and informal with a tool called Napkin Schematics.

Napkin Schematics Emphasize the engineering design process with students. We like to skirt the line between formal and informal with a tool called Napkin Schematics.

Driving Motors or other High Current Loads NPN Transistor (Common Emitter Amplifier Circuit) to Digital Pin 9

Input Input is any signal entering an electrical system. Both digital and analog sensors are forms of input Input can also take many other forms: Keyboards, a mouse, infrared sensors, biometric sensors, or just plain voltage from a circuit

Project #4 Digital Input In Arduino, open up: File Examples 02.Digital Button

Digital Sensors (a.k.a. Switches) Pull-up Resistor (circuit) to Digital Pin 2

Digital Sensors (a.k.a. Switches) Add an indicator LED to Pin 13 This is just like our 1 st circuit!

Digital Input Connect digital input to your Arduino using Pins # 0 13 (Although pins # 0 & 1 are also used for programming) Digital Input needs a pinmode command: pinmode (pinnumber, INPUT); Make sure to use ALL CAPS for INPUT To get a digital reading: int buttonstate = digitalread (pinnumber); Digital Input values are only HIGH (On) or LOW (Off)

Digital Sensors Digital sensors are more straight forward than Analog No matter what the sensor there are only two settings: On and Off Signal is always either HIGH (On) or LOW (Off) Voltage signal for HIGH will be a little less than 5V on your Uno Voltage signal for LOW will be 0V on most systems

http://opensourcehardwarejunkies.com/tutorial-03-digitalread-and-serial-port-communication/

Programming: Conditional Statements if()

Programming: Conditional Statements if() void loop() { int buttonstate = digitalread(5); if(buttonstate == LOW) { // do something } else { // do something else } } DIG INPUT

Boolean Operators <Boolean> Description ( ) == ( ) is equal? ( )!= ( ) is not equal? ( ) > ( ) greater than ( ) >= ( ) greater than or equal ( ) < ( ) less than ( ) <= ( ) less than or equal

Trimpot (Potentiometer) Variable Resistor fixed end wiper fixed end

Analog Sensors 3 Pin Potentiometer = var. resistor (circuit) a.k.a. Voltage Divider Circuit wiper fixed ends 1.0 V 1.0 V

Ohms Law (just the basics) Actually, this is the voltage divider

analogread() Arduino uses a 10-bit A/D Converter: this means that you get input values from 0 to 1023 0 V 0 5 V 1023 Ex: int sensorvalue = analogread(a0);

Using Serial Communication Method used to transfer data between two devices. Data passes between the computer and Arduino through the USB cable. Data is transmitted as zeros ( 0 ) and ones ( 1 ) sequentially. Arduino dedicates Digital I/O pin # 0 to receiving and Digital I/O pin #1 to transmit.

Serial Monitor & analogread() Initializes the Serial Communication 9600 baud data rate prints data to serial bus

Serial Monitor & analogread() Opens up a Serial Terminal Window

Analog Sensors 2 Pin Analog Sensors = var. resistor Take two sensors -- Use the Serial Monitor and find the range of input values you get for each sensor. MaxAnalogRead = MinAnalogRead =

Analog Sensors Examples: Sensors Mic Photoresistor Potentiometer Temp Sensor Flex Sensor Accelerometer Variables soundvolume lightlevel dialposition temperature bend tilt/acceleration

Additional Serial Communication Sending a Message void loop ( ) { Serial.print( Hands on ) ; Serial.print( Learning ) ; Serial.println( is Fun!!! ) ; }

Serial Communication: Serial Debugging void loop() { int xvar = 10; Serial.print ( Variable xvar is ) ; Serial.println ( xvar ) ; }

Serial Communication: Serial Troubleshooting void loop ( ) { Serial.print ( Digital pin 9: ); Serial.println (digitalread(9)); }

Hva er en funksjon En funksjon er et delprogram et program som skal benyttes flere ganger Funksjoner benyttes for å spare plass og for å gjøre programmene mer strukturerte En funksjon kan ta imot verdier eller levere verdier fra eller til den som kalte funksjonen

Funksjoner Program 1. #include <iostream> 2. using namespace std; 3. void skrivhei() 4. { 5. cout << "Hei\n"; 6. } 7. int main() { 8. skrivhei(); 9. } Forklaring Linje 3 Returtypen er void, det betyr at det ikke skal returneres noen verdi; det er med andre ord likegyldig om vi har med return eller ikke. Navnet på funksjonen er skrivhei ; siden det ikke er lov med mellomrom i symbolnavn finnes det flere forskjellige måter å lage symbolnavn på f.eks.: camelcase: hvert ord starter med stor forbokstav. rettfrem: uten noen henvisning til ordskift. med-bindestrek eller med_understrek: selvforklarende? Parentesene forteller at dette er en funksjon og kan inneholde parametere som vi skal se nærmere på senere. Linje 4 Krøllparenteser marker en kodeblokk. En ramme eller et gjerde som en samling instrukser, eller kode, lever innenfor. Disse sier også noe om variablers omfang som vi kommer til i neste omgang. Linje 3 Innholdet i funksjonen befinner seg her. Alt det funksjonen skal utføre ligger mellom krøllparentesene. Her kan vi lage nye variabler, kalle funksjoner, lage nye objekter og mye mer. Linje 6 Avsluttende krøllparentes. Funksjonen er ferdig og programmet fortsetter der funksjonen ble kalt fra.

Virtual Electrical Prototyping Project started in 2007 by the Interaction Design Lab at the University of Applied Science Potsdam, Germany Open Source Prototypes: Document, Share, Teach, Manufacture

Now that you feel comfortable putting together circuits with your breadboard let s talk about how to go from the breadboard to a PCB

Free Time The rest of the class is dedicated to free pursuit Experiment with the various circuits and lessons in the SIK. Explore the additional tutorials available on learn.sparkfun.com Thank you for attending our Intro to Arduino class

www.sparkfun.com 6175 Longbow Drive, Suite 200 Boulder, Colorado 80301