Modeljernbane elektronik for begyndere...og dem der vil igang med at bygge deres egne dekodere

Størrelse: px
Starte visningen fra side:

Download "Modeljernbane elektronik for begyndere...og dem der vil igang med at bygge deres egne dekodere"

Transkript

1 2015 Modeljernbane elektronik for begyndere...og dem der vil igang med at bygge deres egne dekodere Dette dokument giver en grundlæggende indføring i standard elektronik komponenter og deres virkemåde, samt hvordan man sætter dem sammen til en dekoder der kan bruges med din digitale modeljernbane. Martin Gertz Bech 08. november 2015

2 Indholdsfortegnelse Indholdsfortegnelse... 2 Introduktion... 5 Lidt om strøm, spænding, modstand, styrke og volt... 6 Ohm's lov... 6 Komponentlære... 8 Modstande... 8 Dioder og lysdioder (LED)... 8 Transistorer... 9 PNP... 9 NPN... 9 MOSFET... 9 Kondensatorer (Kapaciteter)... 9 Kontakter... 9 Ringetryk... 9 Afbrydere... 9 Reed relæer... 9 Relæer... 9 Motorer... 9 Almindelige motorer... 9 Stepmotorer... 9 Servoer... 9 Displays... 9 Spændingsregulatorer... 9 Spoler... 9 Optokoblere... 9 Arduino og andre microprocessorer Hvad er en microprocessor Forskellige Arduino modeller Input og outputs måder du kan brænde din Arduino af Indholdsfortegnelse

3 Metode #1: Kortslutte ind/udgange til stel (GND) Metode #2: Kortslutte en PIN til en anden Metode #3: Tilslutte for høj spænding til en PIN Metode #4: Tilslutte ekstern spænding omvendt til Vin Metode #5: Tilslutte for høj spænding til 5v PIN Metode #6: Tilslutte for høj spænding til 3,3v PIN Metode #7: Kortslutte Vin til GND Metode #8: Tilslutte ekstern 5v forsyning til Vin Metode #9: Tilslutte mere end 13v til reset Metode #10: Brug Arduino til at levere mere end 200 ma totalt Introduktion til programmering Opbygningen af et program void setup() void loop() pinmode() digitalwrite() analogwrite() digitalread() analogread() delay() millis() if... then...else Operatører include() Kommentarer Seriel kommunikation Serial.begin() Serial.print() Serial.println() Eksperimenter Den digitale modeljernbane Vi bygger Vejarbejds advarselslys Indholdsfortegnelse

4 Trafiklys Skiftende lys til belysning af bygninger Signal dekoder Servo dekoder v1 (ren styring af servoer) Servo dekoder v2 (styring af servoer og polarisering af hjertestykker) Tilbagemeldingsmodul til 2 skinne drift ver 1 (LocoNet) Tilbagemeldingsmodul til 2 skinne drift ver 2 (S88) Kun fantasien sætter grænser Tak til Indholdsfortegnelse

5 Introduktion Nu sidder du som læser sikkert og glæder dig til, at komme igang med, at lave din egen elektronik til din modeljernbane. Først lidt om min indgangsvinkel til det hele. Som barn var jeg enormt fascineret af min morfar Svend-Aages modeljernbane. Den var ikke særligt stor, og blev ved særlige lejligheder slået ned oven på hans skrivebord i det lille kammer på Vesterbro. Svend- Aage var radiomekaniker, og som sådan havde han gjort anlægget delvist automatisk - signalerne havde funktion, og togene accellererede og bremsede behørigt. Nuvel måske ikke skala mæssigt korrekt, men stadig var det ikke bare start stop. Samtidig gjorde hans elektronik, at han kunne køre med flere tog på een gang, også på samme strømkredse. Jo det var der interessen blev grundlagt. Siden har jeg så rodet med modeljernbaner on/off i mange år, og har senest startet et projekt, hvor jeg bygger en kopi af Helsingør station anno ca på sigt fuldt digitaliseret, med så meget intelligens som muligt. Og her er jeg så i dag, er begyndt at bruge Arduino efter jeg fik mig et Arduino start kit i fødselsdagsgave, og har med prøveopstillinger formået at lave diverse små projekter - eksempelvis styre en servo motor via min computer, som var forbundet til en DCC central (TwinCenter), som så igen gav strøm til spor og min første hjemmebyggede dekoder. Selvom jeg tester alt af, jeg skriver om her, tager jeg forbehold for fejl og uhensigtsmæssigheder. 5 Introduktion

6 Lidt om strøm, spænding, modstand, styrke og volt For at forstå elektronik, uanset hvilket elektroniske kredsløb vi har med at gøre, skal vi forstå hvilke elementer der er på spil. Grundlæggende handler det om elektroner, og hvordan disse bevæger sig. Nogle har måske hørt nogen sige 12 v strøm, men det er ren volapyk, og det må vi have sat på plads, før vi forstår resten af dette skriv. De to vigtigeste ting er spænding og strøm Spændingen er det samme som volt, og måles i Volt. Strømmen er det samme som ampere, og måles i Ampere. De fleste komponenter har nogle maksimalgrænser for hvor meget spænding og strøm de kan tåle. Eksempelvis en lysdiode der alt efter type kan tåle måske 2,4 v / 2 ma. Får den mere brænder den af, (og lugter ikke for godt), og får den for lidt, lyser den svagt eller slet ikke. Nogle komponenter har også nogle minimums grænser, før de vil fungere, og derfor er det vigtigt at sætte sig ind i, hvilke komponenter det er, man har med at gøre, eller man skal bruge til et givent projekt. For at regulere dette, er der flere begreber, vi må kende. Eksempelvis modstand og forstærkning. Sidsnævnte kommer vi til når vi skriver om blandt andet transistorer i komponentlæren. Grundlæggende har vi altså tre parametre, vi bruger igen og igen i al elektronik: Spænding, strøm og modstand, eller på engelsk voltage, current og resistance. Disse er også grundpillerne i Ohm's lov. Ohm's lov I ohms lov er der forskellige variabler man må kende betydningen af for at kunne bruge den til at lave de udregninger man har behov for. U = Spænding (måles i volt) R = Modstand (måles i ohm) I = Strøm (måles i Ampere) P = Effekt (måles i watt) Kender man bare to af disse parametre, kan man regne de to andre ud. Eksempelvis: Vi vil udregne formodstanden til en lysdiode, som man ved bruger 20 ma og har et spændingsfald (alle dioder fjerner noget spænding, som man så kalder spændingsfaldet - hvor meget kommer an på dioden). 6 Lidt om strøm, spænding, modstand, styrke og volt

7 Så lad os sige vi som udgangspunkt har 16v, og vi vil gerne montere en lysdiode med et spændingsfald på 3,3v og et forbrug på 20 ma, så vil regnestykket se således ud: 20 ma (miliampere) = 0,02 ampere Alt efter hvilken LED vi ønsker at bruge, benytter de forskellig spænding. Som tommelfingerregel kan bruges følgende tabel: IR 1,5v Rød 2,0v orange 2,0v Gul 2,1v grøn 2,2v Rigtig grøn 3,3v blå 3,3v hvid 3,3v UV 3,3v blå (430 nm) 4,6v Hvis vi tager en standard hvid lysdiode, så vil den have et spændingsfald på 3,3v jævnfør tabellen ovenfor. Regnestykket ser så således ud Den spænding vi ønsker at føde med : 16v minus spændingsfaldet på dioden : 3,3v = 12,7v Divideret med forbruget af LED, som i dette tilfælde er 20 ma, og dermed det samme som 0,02 Ampere 12,7 : 0,02 = 635 Ohm formodstand. Det er der ikke en modstand der hedder, men det betyder ikke så meget. De fleste modstande har alligevel en tolerance på 5% så den næste værdi ville være 680 Ohm. Mere om modstande kan du læse i komponentlæren. 7 Ohm's lov

8 De forskellige udregninger i Ohms lov: I eksemplet fra før, tog vi Spændingen U (minus spændingsfaldet over dioden) og dividerede med strømmen i Ampere I, og fik så den nødvendige formodstand R. Hvis man køber en LED inkl. formodstand, vil man oftest få en formodstand på 1000 Ohm, også skrevet som 1kOhm. Denne vil så dække op til ca 20v ved et standard forbrug på 20 ma. Komponentlære Modstande Dioder og lysdioder (LED) Dette er samtidig årsagen til at det ikke er ligegyldigt hvordan du sætter dioder sammen, der skal være spænding og strøm nok til begge dioder, og for at styre dette optimalt er det oftest bedst at have særskilte forbindelser. 8 Komponentlære

9 Transistorer PNP NPN MOSFET Kondensatorer (Kapaciteter) Kontakter Ringetryk Afbrydere Reed relæer Relæer Motorer Almindelige motorer Stepmotorer Servoer Displays Spændingsregulatorer Spoler Optokoblere 9 Komponentlære

10 Arduino og andre microprocessorer Hvad er en microprocessor En microprocessor er i bund og grund en lille computer. Den kræver et styresystem og nogle programmer, for at den skal fungere. En arduino indeholder dog mere end det. Den indeholder nemlig en række forbindelser og komponenter, som selve hjernen (CPU) har behov for for at fungere. Eksempelvis en eller flere krystaller, der kan ses som en slags internt urværk, som fortæller CPU, hvor hurtigt den skal køre. Ofte er det også set, at den indeholder en spændingsregulator, der regulerer spændingen til det komponenterne på printpladen, herunder CPUen, har behov for. Typisk klarer CPU'en enten 3,3v eller 5v alt efter type. Dem, jeg bruger i forbindelse med dette skriv, kører på 5v, men grundet den indbyggede spændingsregulator, kan man give den op til 12 v. Derudover indeholder en Arduino en knap til genstart af enheden, forbindelser til kommunikation med eksempelvis en computer eller en anden enhed, der snakker det, man kalder seriel kommunikation. Man kalder også dette for serielporten, og det er den vi bruger, når vi skal overføre vores program til Arduinoen. Nogle Arduinoer er udstyret med en USB port, som giver mulighed for, at man kan tilslutte sin Arduino direkte til computeren. De Arduinoer, der ikke er udstyret med USB port, kan man få en lille konverteringsenhed, man sætter i mellem computer og Arduinoens seriel port. Det er sidstnævnte, jeg benytter mig af, da de kræver mindre plads. Selve styreprogrammet, eller det der ville svare til operativsystemet, ligger fast i CPU'en. Da selve CPU'en, eller hjernen om du vil, kun forstår digitale signaler, dvs. 1 for tændt eller 0 for slukket, men man ofte har behov for at kunne lave eksempelvis en lysdæmper, så har en Arduino også en lille ekstra komponent, en såkaldt D/A konverter. En D/A konverter konverterer det digitale signal til analogt. Arduinoen er tillige udstyret med det modsatte, nemlig en A/D converter, som kan omdanne en given spænding mellem 0-5v til en digital værdi mellem som kan aflæses af arduinoen. Langt de fleste PINS, eller ben som vi ville kalde dem på dansk, er beregnet til at have to overliggende funktioner: Enten fungere som input, dvs så man kan aflæse en sensor eller måle en spænding, eller en output eller udgang, som bruges som en kontakt, du enten kan tænde eller slukke. Arduinoen indeholder også nogle komponenter til eksempelvis hukommelse, som den gemmer dine programmer eller andre værdier i - men det kommer vi nærmere ind på senere. Så det, vi gør med vores program, kunne altså være eksempelvis aflæse en spænding og udfra det tænde en lampe eller en motor, eller hvad fantasien nu rækker til. 10 Arduino og andre microprocessorer

11 Forskellige Arduino modeller Der findes en lang række forskellige Arduinoer som alle programmeres på samme måde, og som grundlæggende fungerer ens. Der er enkelte forskelle, som i antallet af IO Pins (ind og udgange), samt hvorvidt den har indbygget USB. Standardmodellen, som de fleste starter med, og som er omtalt i de fleste projekter hedder Arduino UNO. Herunder er der en liste over de forskellige Arduino modeller, samt de interessante parametre. UNO'en som er markeret med grøn baggrund, er som sagt standard i de fleste projekter, og et godt sted at starte, da den er bygget til eksperimenter. Da vi ofte har begrænset plads i modeljernbane verdenen, og jeg samtidig ofte laver andre prints, hvor jeg kan fast montere mine arduinoer, benytter jeg normalt den, market med blå baggrund, Arduino Mini Pro i 5v/16 mhz udgaven. Som du samtidig vil kunne se er forskellen på en Arduino UNO og en Mini PRO USB tilslutningen, samt lidt med størrelsen på dens hukommelse (hvor store programmer vi kan lægge i den). Navn Processor / CPU / "hjerne" Spænding på arduino / fødespændin g CPU Hastighe d Analoge ind/udgang e Digitale ind og udgange / Pulse Width Modulatio n udgange EEPRO M [KB] SRA M [KB] Flas h [KB] USB UAR T ArduinoBT ATmega328P 5 V / V 16 MHz 6/0 14/ Due ATSAM3X8E 3.3 V / 7-12 V 84 MHz 12/2 54/ Micro 4 Esplora ATmega32U4 5 V / 7-12 V 16 MHz Micro - Ethernet ATmega328P 5 V / 7-12 V 16 MHz 6/0 14/ Regula r - Fio ATmega328P 3.3 V / V 8 MHz 8/0 14/ Mini 1 Gemma ATtiny V / 4-16 V 8 MHz 1/0 3/ Micro 0 Leonardo ATmega32U4 5 V / 7-12 V 16 MHz 12/0 20/ Micro 1 LilyPad ATmega168V ATmega328P V / V 8MHz 6/0 14/ Arduino og andre microprocessorer

12 LilyPad SimpleSna p ATmega328P V / V 8 MHz 4/0 9/ LilyPad USB ATmega32U4 3.3 V / V 8 MHz 4/0 9/ Micro - Mega 2560 ATmega V / 7-12 V 16 MHz 16/0 54/ Regula r 4 Mega ADK ATmega V / 7-12 V 16 MHz 16/0 54/ Regula r 4 Micro ATmega32U4 5 V / 7-12 V 16 MHz 12/0 20/ Micro 1 Mini ATmega328P 5 V / 7-9 V 16 MHz 8/0 14/ Nano ATmega168 ATmega328P 5 V / 7-9 V 16 MHz 8/0 14/ Mini 1 Pro ATmega168 ATmega328P 3.3 V / V 5 V / 5-12 V 8 MHz 16 MHz 6/0 14/ Pro Mini ATmega328P 3.3 V / V 5 V / 5-12 V 8 MHz 16 MHz 6/0 14/ Uno ATmega328P 5 V / 7-12 V 16 MHz 6/0 14/ Regula r 1 Yùn ATmega32U4 AR9331 Linux 5 V 16 MHz 400MHz 12/0 20/ MB 32 64MB Micro 1 Zero ATSAMD21G V / 7-12 V 48 MHz 6/1 14/ Micro 2 Input og outputs 12 Arduino og andre microprocessorer

13 10 måder du kan brænde din Arduino af. Udover de åbenlyse som at smide Arduino i brændeovnen, benytte en hammer til at montere den, kører den over med din bil, bruge den som rørepind til kaffen, ja så er der en række mere naturlige måder at du kan få din Arduino til at gå i stykker. Jeg vil beskrive nogle af dem herunder: Metode #1: Kortslutte ind/udgange til stel (GND). Hvis du sætter en PIN til at være en udgang med pinmode, og sætter den til at være +5v med digitalwrite eller analogwrite, og så forbinder den til til GND (0v), så vil der ske det at der vil blve brugt ca 200 ma strøm på den PIN. Det er ca 5 gange mere end Arduino kan holde til, hvorfor den vil brænde af. Du vil i de fleste tilfælde kunne benytte de resterende PINS, men du vil ikke kunne reparere skaden på den ødelagte. Metode #2: Kortslutte en PIN til en anden. Hvis du sætter en PIN til at være en udgang, og en anden til at være indgang, forbinder de to, og så sætter den udgangen til at være HIGH (+5v), og indgangen til at være 0v (GND), så vil der ske det samme som i #1, du vil skabe et forhøjet forbrug, som vil få udgangen til at brænde af. Metode #3: Tilslutte for høj spænding til en PIN Hvis du forbinder en spænding på mere end 0,5V over Arduino spændingen, som normalt er 5V, dvs. 5,5V eller derover, så vil du risikere at brænde den interne beskyttelse af, med risiko for at brænde hele "hjernen" / CPU af. Metode #4: Tilslutte ekstern spænding omvendt til Vin Hvis du giver strøm til Arduino via Vin og GND, men har byttet rundt på polaritet (byttet rundt på +5 og 0v), så vil du med stor sandsynlighed brænde flere af kredsene af. Det sker fordi der ikke er nogen beskyttelse mod forkert polarisering af strømmen når man benytter Vin. Metode #5: Tilslutte for høj spænding til 5v PIN Hvis du tilslutter mere end 5V til den PIN der hedder 5V, så vil du brænde selve hjernen af, da den er direkte forbundet. Samtidig kan du risikere, hvis din Arduino er tilsluttet til USB, at ødelægge USB porten i din computer. Metode #6: Tilslutte for høj spænding til 3,3v PIN Hvis du tilslutter mere end 3,6V til den PIN der hedder 3,3V, så vil du brænde selve hjernen af, da den er direkte forbundet. Alle shields der er forbundet med din Arduino vil sandsynligvis også brænde af. Samtidig kan du risikere, hvis din Arduino er tilsluttet til USB, at ødelægge USB porten i din computer. Metode #7: Kortslutte Vin til GND Der er ingen beskyttelse af strømforbrug på Vin, så hvis du kortslutter den ved at forbinde den direkte med GND, så vil der opstå et for stort forbrug, der vil få Arduino til at brænde af måder du kan brænde din Arduino af.

14 Metode #8: Tilslutte ekstern 5v forsyning til Vin Hvis du giver strøm til Arduino via den PIN der hedder 5v, men du allerede har et kredsløb forbundet til Vin, eller har kortsluttet Vin til GND, så vil strømmen gå baglæns gennem 5v regulatoren, og dermed ødelægge den. Metode #9: Tilslutte mere end 13v til reset Da RESET PIN er direkte forbundet til RESET på CPU (hjenen), så vil en spænding på mere end 13v få din Arduino til at brænde af. Metode #10: Brug Arduino til at levere mere end 200 ma totalt Selvom det er genialt med Arduino til at lave en masse avanceret styring, så er en Arduino ikke beregnet til at give de store mængder strøm til diverse komponenter. Derfor må man ikke trække mere end 200 ma igennem en Arduino totalt. Den lette løsning hvad meget angår, er at vende det om, så du ikke giver + til dine tilsluttede komponenter, men derimod giver stel, da en mikroprocessor kan holde til at få mere strøm end den kan give måder du kan brænde din Arduino af.

15 Introduktion til programmering Desværre er de fleste programmeringssprog ikke danske, men engelske. Det kan være en hindring for nogle, men det behøver det ikke at være langt hen ad vejen. Da det er de samme ting, man laver igen og igen, er det nogle relativt få ord, man skal lære at kende, så jeg anser det som overskueligt for de fleste. Grundlæggende er Arduino programmering mere eller mindre det samme som C/C++ programmering, så har man stiftet bekendtskab med det tidligere, vil man have en let tilgang til programmeringen. For at komme igang med programmering af Arduino, skal man have et programmerings-værktøj; et program du kører på din computer, hvor du kan skrive din programmering ind og overføre til Arduinoen. Programmet kan man hente gratis på Arduinos hjemmeside: Opbygningen af et program Et arduino program er bygget op af tre hovedsektioner: - Struktur Strukturen er det, som definerer, hvad Arduinoen gør, henholdsvis når den starter op, og når den er startet op og bare kører. Ofte set som defineret i den del, der hedder void Setup(), der køres een gang når man tænder for arduinoen, og void loop(), som kører igen og igen, så mange gange i sekundet som programmet du har skrevet tillader. (De fleste arduinoer kører ved 16 Mhz, dvs. teoretisk set kan den håndtere 16 mio. ting per sekund!) 15 Introduktion til programmering

16 Fig 1. Sådan ser et tomt programmerings-vindue ud klar til at skrive dit arduino program. Som man kan se, indeholder den en void setup() funktion og en void loop(), som beskrevet i teksten ovenfor. 16 Introduktion til programmering

17 Fig 2. Et standard eksempel på en blink-funktion, der får en lysdiode på pin 13 til at blinke med en frekvens, der hedder 1 sekund tændt, 1 sekund slukket. Setup-delen fortæller, at vi vil benytte PIN (forbindelse) 13 som udgang. 17 Introduktion til programmering

18 - Variabler og konstanter Variabler og konstanter gør din programmering, og ikke mindst fejlsøgning, lettere. En variabel kunne eksempelvis bruges til at identificere en PIN (ind/udgang) på Arduinoen. Som eksempel kan vi tage udgangspunkt i koden i Fig. 2. Hvis vi skrev den lidt om for at lave plads til fremtidige tilføjelser i koden, ville jeg nok vælge at skrive den således: //inititialisering af variabler int MinLEDudgang = 13; // Setup koeres hvergang du saetter strøm til din arduino eller trykker på reset. void setup() { // initialize digital pin 13 as an output. pinmode(13, OUTPUT); // Loop funktionen koerer efter setup, og gentages igen og igen void loop() { digitalwrite(minledudgang, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalwrite(minledudgang, LOW); delay(1000); // wait for a second // turn the LED off by making the voltage LOW Som det ses ovenfor, har jeg tilføjet en variabel der hedder MinLEDudgang. Hvad jeg kalder den, er fuldstændigt underordnet, sålænge jeg kun bruger bogstaver fra det engelske alfabet, og sålænge det giver mening for mig selv. Hvis jeg senere får behov for at flytte min LED fra en PIN til en anden, er det nok bare at skifte værdien i variablen, fremfor at skulle finde alle steder i koden hvor den bliver brugt. Nu vil du sikkert spørge dig selv, hvorfor brugte jeg en variabel her, og ikke en konstant, og hvad er egentlig forskellen? En konstant får sin værdi een gang, og ændres ikke derefter, mens en variabel kan ændres løbende. Hvis du ikke ved, om du får behov for at ændre værdien senere i din kode, så brug en variabel, ellers en konstant. Kodemæssigt kan forskellen vises således: //foerst definerer vi en konstant med vaerdien 5 #define MinKonstant 5 //saa definerer vi en variabel med vaerdien 5 int MinVariabel = 5; 18 Introduktion til programmering

19 // nu forsoeger vi saa at manipulere vaerdierne MinKonstant = MinKonstant+1; //Denne vil fejle, da man ikke kan aendre en konstant MinVariabel = MinVariabel+5; //Denne vil give MinVariabel værdien den havde + 5, altså Funktioner En funktion defineres med et navn (kun med karakterer fra det engelske alfabet), et sæt paranteser umiddelbart efter, og et sæt væltede tuborg klammer, der omkranser selve funktionens kode. Nogle funktioner skal bare udføre en opgave, mens andre funktioner bruges til at manipulere eller hente data, og returnere slutresultatet. Når man skriver selve funktionen med dens kode, kaldes dette at definere funktionen, og når du skal bruge den andetsteds, hedder det at kalde funktionen med eller uden parametre. En parameter er en (eller flere), værdier du kan sende med til funktionen som den skal arbejde med. int MinRegneMaskine(int x, int y){ return x+y; Ovenstående har jeg defineret en funktion der er af typen integer (heltal), hedder MinRegneMaskine, og tager to heltal som parametre. I selve funktionen står koden så, hvor den siger returnér værdien af x lagt sammen med y. Når jeg vil bruge funktionen andet sted, kunne jeg så eksempelvis skrive Serial.print(MinRegneMaskine(2,3)); Som så ville skrive resultatet af 2+3 ud, altså 5. Når man programmerer til en Arduino er der to funktioner der ALTID skal være i koden. setup og loop. Disse er defineret med et void foran, da de ikke behøver at returnere en værdi, men eksempelvis bare kunne indeholde koden der fik en LED til at blinke. 19 Introduktion til programmering

20 void setup() Dette er funktionen der indeholder alt den kode der skal køre lige når man tænder for Arduino, eller lige har trykket på reset knappen. Funktionen setup() er den første af de to nødvendige funktioner i et Arduino program. Typisk er det her man fortæller Arduino hvilke PINs (BEN), man vil benytte, og om man vil benytte dem som indgang eller udgang. Man kan også sige det på en anden måde, nemlig at setup indeholder al den kode der kun skal bruges een gang, når Arduino tændes. Et eksempel fra et projekt: void setup() { Serial.begin(9600); pinmode(dccackpin, OUTPUT); digitalwrite(dccackpin, LOW); Allerførst defineres funktionen med void setup(). Det betyder at vi ikke forventer at der bliver returneret noget fra denne funktion, og funktionen ikke tager nogle parametre. { betyder at nu begynder vi på koden til funktionen Serial.begin(9600); er en funktion til at starte seriel kommunikation pinmode(dccackpin,output); er måden at fortælle hvordan vi skal benytte en PIN (ben), i dette tilfælde som udgang digitalwrite(dccackpin, LOW); er måden hvorpå man fortæller en PIN (ben), hvilken værdi den skal have, i dette tilfælde skal den være slukket. betyder at nu er funktionens programmering afsluttet. 20 Introduktion til programmering

21 void loop() loop() funktionen er den anden nødvendige funktion i et Arduino program, og er funktionen der startes første gang når setup() er færdig, og kører så i ring, igen og igen, så hurtigt den kan (og det er ret hurtigt). Der er dog ting som kan sløve afviklingen, og alt efter hvad man skal bygge, kan det have betydning. // setup funktionen koeres en enkelt gang naar arduino taendes eller der bliver trykket paa reset void setup() { // Saetter pin 13 til at vaere udgang pinmode(13, OUTPUT); // Loop funktionen koerer igen og igen void loop() { digitalwrite(13, HIGH); // Taend for LED (HIGH er spaendingsniveauet) delay(1000); digitalwrite(13, LOW); delay(1000); // vent et sekund, som er det samme som 1000 milisekunder // sluk for LED ved at saette spaendingsniveauet til LOW // vent et sekund Resultatet vil være at LED på PIN 13 vil først tænde, så vente et sekund, før den slukker, så vente et sekund, og starte forfra. Når vi senere kommer til at kigge på at bygge dekodere, vil vi bruge denne funktion til kontinuerligt at "lytte" efter om der kommer et signal som vores dekoder skal reagere på. Det er ikke nok at lytte efter sådan et signal een gang,, det må man lytte efter kontinuerligt, igen og igen - og derfor kommer vi til at benytte loop funktionen. Eller et andet eksempel: Vi kommer til at lave et trafiklys, det kører jo også i "ring" eller i loop. int ROED = 13; int GUL = 12; int GROEN = 11; void setup(){ //de naeste 3 linier fortaeller at vi vil bruge PIN 11,12 og 13 til henholdsvis GROEN,GUL,ROED pinmode(roed,output); pinmode(gul,output); pinmode(groen,output); 21 Introduktion til programmering

22 // Loop funktionen koerer igen og igen - trafiklys udgave void loop() { digitalwrite(roed, HIGH); // Taend for ROEDT LYS delay(5000); // vent fem sekunder, som er det samme som 5000 milisekunder digitalwrite(gul, HIGH); // Taend for GULT LYS delay(3000); // vent tre sekunder, som er det samme som 3000 milisekunder digitalwrite(roed, LOW); // sluk for ROEDT LYS digitalwrite(gul, LOW); // sluk for GULT LYS digitalwrite(groen, HIGH); // Taend for GROENT LYS delay(5000); // vent fem sekunder, som er det samme som 5000 milisekunder digitalwrite(groen, LOW); // SLUK for GROENT LYS digitalwrite(gul, HIGH); // Taend for GULT LYS delay(3000); // vent tre sekunder, som er det samme som 3000 milisekunder digitalwrite(gul, LOW); // SLUK for GULT LYS //dette var en hel sekvens, saa nu kan loop starte forfra 22 Introduktion til programmering

23 pinmode() Funktionen pinmode bruges til at fortællle Arduino hvordan de forskellige PINs (BEN), skal bruge. Skal den bruges som udgang, eller indgang. Vi behøver kun at definere de PINs (ben), som vi rent faktisk benytter os af i en opstilling. pinmode(10,output); fortæller at digital ben 10 skal være en udgang - og altså give enten 0v (LOW) eller 5v (HIGH). Dette kan vi bruge direkte sammen med en modstand til at få en LED eller andet elektronik til at tænde eller slukke, eller generere et impulsstyret signal. pinmode(a0,input); fortæller os at den analoge port A0 skal benyttes som indgang. Det kunne eksempelvis være fra en knap, eller aflæse værdien af et potentiometer (variabel modstand). pinmode(11,input_pullup); giver os mulighed for at sige at hvis der ikke er noget signal på PIN (ben), 11 i dette tilfælde, så vil den være HIGH, altså +5v. Eksempelvis kan vi bruge den til at forbinde et ringetryk mellem PIN 11, og GND. Når så der skabes forbindelse igennem ringetrykket, vil PIN 11 blive LOW (0v). Hvorfor bruger man så INPUT_PULLUP? Jo, hvis man ikke gør, men skal aflæse værdien af en PIN, kan man ikke være sikker på om aflæsningen returnere et HIGH eller LOW signal, mens man ved at bruge INPUT_PULLUP kan sikre at den altid er i enten HIGH eller LOW stadie. Et eksempel kan ses på dette diagram. Fig. 3 En arduino forbundet med et ringetryk til VCC (5v) til PIN 11 (Arduinoens PIN 11, men "hjernens" ben 14). Denne løsning vil ikke altid give korrekt værdi på PIN 11, da den kan komme til at fejlregistrere et input. 23 Introduktion til programmering

24 Fig. 4 Hvis man i stedet havde ladet ringetrykket være forbundet til stel, og så mellem PIN 11 og ringetrykket trukket en forbindelse ud til en modstand (eksempelvis på 10 kohm), som så igen er forbundet til VCC (5v), så har man så lavet en PULL UP, så signalet vil gå HIGH når ringetrykket ikke er aktiveret, og LOW når den er aktiveret. I stedet for at lave opstillingen i Fig.4, er Arduino udstyret med interne pullup modstande, som man kan aktivere ved at sætte pinmode til INPUT_PULLUP - og dermed spare en modstand og en forbindelse. 24 Introduktion til programmering

25 digitalwrite() Når du skal fortælle en digital udgang om den skal være HIGH (+5v) eller LOW (0v), skal du bruge funktionen digitalwrite(). Den er faktisk utroligt simpel, og bruges eksempelvis således pinmode(11,output); digitalwrite(11,high); //Saetter PIN 11 til +5v digitalwrite(11,low); //Saetter PIN 11 til 0v. Det kan sammenlignes lidt med en elektronisk kontakt til en lampe som du tænder og slukker for. Denne udgang kan så styre andre ting, men må maksimalt belastes med 40 ma. Bemærk dog at hele Arduino må maksimalt belastes med 200 ma, dvs 5 PINs hvor du trækker 40mA - og så intet andet. Men bruger du mindre end 40 ma, eksempelvis kun 10 ma per PIN, kan du i teorien bruge 20x10mA. Eksempelvis kunne en udgang styre en transistor, som så kunne aktivere et relæ, en motor eller kaffemaskinen - bare for inspirationens skyld. analogwrite() Når vi skriver analogwrite ville det være naturligt at forvente vi kan skrue op og ned for spændingen på en udgang. Det kan man ikke, men noget der er næsten ligeså godt. Vi kan udnytte at Arduinoen er så super hurtig, så den kan kan skifte fra HIGH til LOW til HIGH hurtigere end du blinke med øjnene. Denne tænd sluk fuktionalitet kan udnyttes til noget man kalder Pulse Width Modulation eller PWW. I sin enkelthed går det ud på at at signalet skifter så hurtigt mellem HIGH og LOW, at det opfattes som en mindre spænding. Værdierne til analogwrite angives med eller ville oversat simulere en spænding mellem 0v og 5v med 0,02v intervaller. Eksempelvis analogwrite(testpin,127); //vil halvdelen af tiden vaere taendt og halvdelen af tiden vaere slukket, og dermed simulere en spaending paa ca 2,49v Vi kan bruge analogwrite når vi eksempelvis vil langsomt tænde eller slukke for en LED, eller hastigheden på en motor. 25 Introduktion til programmering

26 digitalread() Med denne funktion kan du aflæse en digital indgang for at se om det er HIGH (+5v) eller LOW (0v). Dette kan eksempelvis bruges til aflæse et ringetryk, eller andet elektronik. Vi skal dog være opmærksomme på at har vi ikke noget forbundet til den PIN som vi forsøger at aflæse, kan vi ikke være sikre på resultatet, og kan således få fejlaflæsninger. Derfor er det en fordel af bruge eksempelvis en PULLUP modstand som beskrevet under pinmode(). Typisk vil man sætte en variabel til værdien af et digitalread, eksempelvis således: define MININDGANG 11; int MinMaaling1 = 0; void setup() { pinmode(minindgang,input); void loop() { MinMaaling1 = digitalread(minindgang); 26 Introduktion til programmering

27 analogread() Som omtalt tidligere er en Arduino udstyret med en A/D konverter der kan måle spændingen på en given analog PIN. Hvor mange analoge PINs der er, afhænger lidt af Arduino modellen. Standard er der 6 kanaler, eller PINs om du vil, og 10 bits. Det betyder at for hver af de analoge ben, kan Arduino måle 1024 værdier (fra 0 til 1023). Hver værdi repræsenterer så 0,0049V (4,9mV). Så hvis man har 1,3V på PIN, så vil analogread måle Arduino kan lave en analogread på ca 0,0001 sekund, eller gange på et sekund. Det bliver derfor ofte benyttet sammen med en variabel modstand, eksempelvis et potentiometer, som igen eksempelvis kunne være en fart regulator til din modeljernbane. Eksemplet herunder minder meget om digitalread: define MININDGANG A0; int MinMaaling1 = 0; void setup() { pinmode(minindgang,input); void loop() { MinMaaling1 = analogread(minindgang); 27 Introduktion til programmering

28 delay() Hvis du ønsker dit program skal holde pause, kan du bruge funktionen delay(), den får programmet til at gå i stå i X antal millisekunder. Eksempelvis: delay(500); // saetter programmet paa pause i 0,5 sekund, der er det samme som 500 milisekunder. Til de helt simple programmer kan det være fint at bruge delay, men det er lidt et sidespor at komme ud på, da det sætter hele programmet på pause, og vi dermed ikke kan kontrollere andre ting i den periode hvor delay() kører. Hvis du har bygget et kredsløb som indeholder en form for kontakt, eksempelvis et ringetryk, så kan denne ikke aktiveres, hvis dit program er midt i en delay() sekvens. Der er det meget smartere at bruge millis() millis() Din arduino har en (eller for nogle flere), indbygget timer der tæller millisekunder siden du tændte den. Det kan vi udnytte til eksempelvis at lave et program, hvor vi kan styre flere ting uafhængigt af hinanden. Her vil vi lave en kode der blinker en lysdiode (LED), men uden at bruge delay() const int ledpin = 13; den PIN vi vil benytte // Her defineres en konstant (en vaerdi der ikke aendres undervejs), til at angive // Variable der vil aendres undervejs i programmet : int ledstatus = LOW; // Er LED taendt eller slukket - denne variabel gemmer stadiet LED er i // Generelt skal du bruge "unsigned long" for variabler der skal indeholde tid. // Vaerdien vil hurtigt blive for stor til at int kan indeholde den. unsigned long tidligeremillis = 0; // vil gemme det sidste tidspunkt LED stadie ændrede sig. // Konstant - aendres ikke undervejs : const long interval = 1000; // hvor lang tids interval der skal vaere mellem blink (millisekunder) void setup() { // SET LED pin til at vaere en udgang: pinmode(ledpin, OUTPUT); 28 Introduktion til programmering

29 void loop() { // Her er koden der skal koere igen og igen // Se om det er tid til at skifte status paa LED, ved at checke // differencen mellem den nuvaerende tid nuvaerendemillis og sidst der blev aendret status tidligeremillis unsigned long nuvaerendemillis = millis(); //vi gemmer hvor mange millisekunder der er gaaet siden Arduino blev taendt. if (nuvaerendemillis - tidligeremillis >= interval) { //hvis nuvaerende tid minus tidligere er stoerre end intervallet, saa skal vi aendre status paa LED // gem nuvaerende tidspunkt som tidligeremillis, så vi kan checke igen naeste gang tidligeremillis =nuvaerendemillis; // Hvis LED er slukket, saa taend, og vice versa: if (ledstatus == LOW) { ledstatus = HIGH; else { ledstatus = LOW; // Saet LED til ny status digitalwrite(ledpin, ledstatus); Som du kan se, er der ikke noget i ovenstaeende kode der afholder arduino for bare at koere igen og igen, og dermed kan man begynde at checke for eksempelvis input fra ringetryk eller andet. 29 Introduktion til programmering

30 if... then...else En af de allermest brugte funktioner er funktionen if(), der direkte oversat betyder hvis. Når man programmerer logikken, kommer man næsten ikke udenom denne funktion, da det er den man bruger til at checke hvorvidt en speciel situation er tilstede, eller det modsatte. Et eksempel kunne være at checke om et ringetryk var aktiveret. Groft oversat kan man sige at if funktionen, i sin simpleste form, er bygget op således: hvis(betingelse er opfyldt) { goernoget; Man har dog også mulighed for at udbygge den lidt, så man samtidig bruger else, som direkte oversat betyder ellers. Et pseudo eksempel på hvordan det ville fungere kunne vaere: hvis(betingelse er opfyldt){ goernoget; ellers { goernogetandet; Sidst men ikke mindst kan man sammenbygge if then else funktionen til man har noget der passer ens behov. I pseudo kode kunne et eksempel se således ud: hvis(betingelse1 er opfyldt){ goernoget; ellers hvis(betingelse1 ikke er opfyldt men betingelse2 er){ goernogetandet; ellers { goernogettredie; //hvis hverken betingelse1 eller betingelse2 er opfyldt Hvis vi kigger engang på rigtig kode i stedet for pseudo-koden ovenfor, så kunne et program, der tænder en LED ved tryk på et ringetryk, se således ud (næste side): 30 Introduktion til programmering

31 /* Knap Taender og slukker en LED forbundet til PIN 13, når et ringetryk på PIN 2 bliver aktiveret. Kredsloebet: * LED inkl formodstand er forbundet til PIN 13 fra GND (0v) * Ringetryk er forbundet til PIN 2 fra +5v. * en 10 kohm modstnd er forbundet fra GND (0v) til PIN 2, altså samme sted hvor ringetrykket er forbundet. Vi har foer omtalt PULLUP, i dette tilfaelde goer vi det modsatte, og laver en PULL DOWN, hvor hvis ikke ringetrykket er forbundet, traekker vi signalet til GND (0v), hvormed PIN2 bliver LOW. *Bemaerk at paa de fleste Arduinoer er der allerede en LED forbundet til PIN 13 direkte paa Arduino printet. */ // Konstanter, vaerdier der ikke aendres. // ofte brugt til at definere hvad der sidder paa hvilke pins: const int buttonpin = 2; const int ledpin = 13; // Hvilken PIN er ringetrykket forbundet til // Hvilken PIN er LED forbundet til // Variabler vil aendre sig efter behov: int buttonstate = 0; eller ej. // Variable for at aflaese hvorvidt at ringetrykket er aktiveret void setup() { // Lav LED pin til en udgang pinmode(ledpin, OUTPUT); // Lav ringetrykkets PIN som indgang pinmode(buttonpin, INPUT); void loop() { // Laes status paa ringetrykket - er det aktiveret eller ej og gem resultatet i variablen buttonstate: buttonstate = digitalread(buttonpin); 31 Introduktion til programmering

32 // Check om ringetrykket er aktiveret. // hvis den er, er variablen buttonstate HIGH: if (buttonstate == HIGH) { // Hvis buttonstate er HIGH, saa taend LED digitalwrite(ledpin, HIGH); else { // ellers (hvis buttonstate ikke er HIGH ( saa maa den vaere LOW)), sluk LED digitalwrite(ledpin, LOW); Operatører Når man bruger if then else, så skal man lave nogle betingelser der kan testes på. Det gør man ved hjælp af operatører. De mest grundlæggende er her: == Er lig med if(vaerdi1==vaerdi2)!= Er forskellig fra if(vaerdi1!=vaerdi2) < Er mindre end if(vaerdi1<vaerdi2) > Er større end if(vaerdi1>vaerdi2) <= Er mindre eller lig med if(vaerdi1<=vaerdi2) >= Er større eller lig med if(vaerdi1>=vaerdi2) && Og if(vaerdi1==vaerdi2&&vaerdi2==vaerdi3) // begge udsagn skal være opfyldt Eller if(vaerdi1==vaerdi2 vaerdi2==vaerdi3) //bare et af udsagnende er sande er den sand.! Ikke If(!vaerdi1) // hvis værdien af vaerdi1 er 0 eller false Der er også en anden god funktion der hedder switch(), jeg kommer ikke i dybden med den her - du kan det samme med if(), switch() er bare smartere nogle gange ;-) 32 Introduktion til programmering

33 include() I Arduino verdenen er der mange biblioteker man kan bruge til alt muligt. Eksempelvis kommer vi til at bruge færdige biblioteker der kan hjælpe os med at bygge dekodere. Måden du benytter dig af et bibliotek er include("mitbibliotek.h"); Herefter kan du i koden kalde de funktioner der er defineret i den fil du har inkluderet. Kommentarer Generelt behøver man ikke at lægge kommentarer ind i sin kode, men det er dog en yderst god vane at tillægge sig, da det bliver meget lettere at fejlsøge, samt ikke mindst overskue koden for sig selv og andre. I det øjeblik man uploader koden til sin Arduino, bliver alle kommentarer automatisk sorteret fra, så det ikke er noget der fylder i hukommelsen på Arduinoen. Der er to måder at lave kommentarer på, alt efter om du vil lave en kommentar der fylder en enkelt linie, eller flere linier. // bruges når man vil lave en kommentar på en enkelt linie. Alt der kommer efter // og til liniens slutning, opfattes som en kommentar. /* Bruges når man som dette eksempel viser ønsker at lave en kommentar over flere linier - her er det vigtigt at huske at afslutte kommentaren med */ Seriel kommunikation Seriel kommunikation er brugt rigtigt mange steder, også i Arduino verdenen når man skal "tale" med forskellige enheder. Dog er det ikke noget vi kommer til at kigge i dybden på i denne introduktion, da den eneste grund jeg har taget det med, er at det samtidig er et fantastisk værktøj til fejlsøgning. Måden vi benytter seriel kommunikation til fejlsøgning er ved at bruge den indbyggede seriel monitor, som viser os hvilke data der bliver skrevet til serielporten på Arduino. Du starter serielmonitoren fra menuen, eller ved at trykke ctrl+shift+m i Arduino IDE. Serial.begin() Serial.begin(9600); bruges til at starte den serielle kommunikation, i dette tilfælde med en hastighed på 9600 bits per sekund (også kaldet BAUD). Den kaldes fra funktionen setup(), da den kun skal startes een gang. 33 Introduktion til programmering

34 Serial.print() Serial.print() bruges til at udskrive en tekst til seriel monitoren, det kunne eksempelvis være en informativ tekst, eller værdier fra dine variabler, så du ved at de er rigtige. Arduino er rigtigt god til at checke din kode for fejl inden du får lov at uploade, men skulle er alligevel have sneget sig en fejl ind, ville du eksempelvis ved at bruge Serial.print("koden blev afviklet til linie X"); flere steder i koden. så kan du altid se hvor langt den er, når den fejler. Serial.println() Serial.println() gør det samme, men sætter et linieskift bagved, hvilket kan være meget nyttigt, da det hele så bliver så meget mere læsbart. Man kunne eksempelvis også bruge det til at skrive en kort beskrivelse af sin løsning, så hvis en anden koblede arduino ide til, og startede serielmonitoren, så fik de eksempelvis en instruktion til hvordan enheden virkede. Eksempelvis således: setup(){ Serial.println(" "); Serial.println(" MARTINs TEST KREDSLOEB v1.0 "); Serial.println(" "); Serial.println(" Serial.println(" "); Serial.println(" Tryk paa knappen for at faa LED til at lyse"); Naar du slipper knappen vil LED slukke"); Serial.println(" God fornoejelse!"); Serial.println(" "); Du kan også kombinere det, så hvis du eksempelvis vil læse værdien af en sensor loop(){ Serial.print("Min sensor har nu vaerdien: "); Serial.println(minVariabel); /* Her kan det vaere en fordel nogle gange at saette en delay paa, saa man faktisk faar tid til at aflaese vaerdien */ delay(500); 34 Introduktion til programmering

35 Eksperimenter Den digitale modeljernbane Vi bygger Vejarbejds advarselslys Trafiklys Skiftende lys til belysning af bygninger Signal dekoder Servo dekoder v1 (ren styring af servoer) Servo dekoder v2 (styring af servoer og polarisering af hjertestykker) Tilbagemeldingsmodul til 2 skinne drift ver 1 (LocoNet) Tilbagemeldingsmodul til 2 skinne drift ver 2 (S88) Kun fantasien sætter grænser Nu er du kommet igennem denne introduktion, som jeg håber du har fundet interessant og lærerig. Selvom vi kun har skrabet "overfladen", så er principperne vi har gennemgået her, nøjagtigt de samme hvad enten det er en rigtig computer, automatisk styring af hjemmets el-apparater, eller som du har set her, styring og animation af din modeljernbane. Det er kun din fantasi der sætter grænser - hvis ikke den ene arduino model passer til dine ideer, er der sikkert en anden, og ellers kan man jo koble dem sammen. Alt efter hvad det er man ønsker at lave, kan der dog være andre typer ala Arduino som også kunne være interessante at kigge på, og som oftes kan programmeres direkte fra Arduino IDE. 35 Eksperimenter

36 Tak til Bo Holmqvist, for korrektur samt diverse input til dette dokument. Medlemmer i facebook gruppen Modeljernbane elektronik for diverse inspiration. 36 Tak til

Arduino kursus lektion 3:

Arduino kursus lektion 3: Arduino kursus lektion 3: I denne lektion skal vi lave få en diode til at fade op og ned! Herefter skal denne diode bruges sammen med en lysføler til at lave en smart lysfølsom diode som selv justere lyset

Læs mere

ARDUINO PROGRAMMERING

ARDUINO PROGRAMMERING ARDUINO PROGRAMMERING Teknologisk Institut Opgaver i programmering af Arduino Indholdsfortegnelse Kapitel 1... 2 Arduino Uno mikrokontroller... 2 Digitalt signal... 3 Analogt signal... 3 Arduino Uno Specifikationer...

Læs mere

Alt elektronik heri er købt via http://dx.com, og arduino udviklingssoftware er hentet fra http://arduino.cc.

Alt elektronik heri er købt via http://dx.com, og arduino udviklingssoftware er hentet fra http://arduino.cc. Få-tiden-til-at-gå-[DIGITAL]-ur =============================== Copyright 2013, Richard Jørgensen. Alle ophavsretlige rettigheder frafaldet 2015. (Kopier og brug som du har lyst.) Forord: ===== Denne vejledning

Læs mere

Fra programmering til mikroprocessor

Fra programmering til mikroprocessor Programmering for begyndere Brug af Arduino Fra programmering til mikroprocessor EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Programmerings kursus Sidste gang (Introduktion)

Læs mere

CANSAT & ARDUINO step by step

CANSAT & ARDUINO step by step CANSAT & ARDUINO step by step Jens Dalsgaard Nielsen SATLAB Aalborg Universitet Danmark jdn@space.aau.dk 1/51 Arduino CANSAT - MÅL At måle ved hjælp af sensor temperatur, tryk, acceleration, CO2, lys,...

Læs mere

Arduino kursus lektion 4:

Arduino kursus lektion 4: Arduino kursus lektion 4: I denne lektion skal vi bruge et digitalt termometer til at aflæse temperaturen! Herefter skal vi tænde 3 dioder som hver indikerer forskellige temperaturer! Opgave 1: Temperatursensor

Læs mere

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor.

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor. Simple kontakter Accelorometer Example sensors Lysfølsomme modstande RFID reader & tags Temperaturfølsomme modstande Flex Sensor Ultralyds afstandsmåler Piezo Pressure/vibration Piezo Sound/buzzer Peltier

Læs mere

TinkerCad - Arduino simulator

TinkerCad - Arduino simulator TinkerCad - Arduino simulator Dokument fra H.C.Ørsted Gymnasiet, delt i HTX-Strømspassergruppen. ( Lidt modificeret / Valle ) På tinkercad.com kan man både arbejde med 3D emner, men også elektroniske kredsløb.

Læs mere

Sådan forbindes Arduinoen via et fumlebræt til ATTiny45 chippen.

Sådan forbindes Arduinoen via et fumlebræt til ATTiny45 chippen. Arduino software: https://www.arduino.cc/en/main/software Klaus modeltog, det levende hus: http://www.moppe.dk/levhusel.html TV simulation: http://www.herberts-n-projekt.de/basteleien-1/belebtes-haus/

Læs mere

BASAL ARDUINO SÅDAN KOMMER DU IGANG MED ARDUINO, OG FORBEREDER DIG TIL KURSERNE MBHOBBY.COM AFHOLDER.

BASAL ARDUINO SÅDAN KOMMER DU IGANG MED ARDUINO, OG FORBEREDER DIG TIL KURSERNE MBHOBBY.COM AFHOLDER. BASAL ARDUINO SÅDAN KOMMER DU IGANG MED ARDUINO, OG FORBEREDER DIG TIL KURSERNE MBHOBBY.COM AFHOLDER. DETTE SELVSTUDIE ER UDVIKLET AF MARTIN GERTZ BECH, OG MÅ UDELUKKENDE BENYTTES TIL PERSONLIGE IKKE KOMMERCIELLE

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

Læs mere

Lektion 6 / Analog Arduino

Lektion 6 / Analog Arduino 1 Jeremiah Teipen: Electronic Sandwich BSPR11 Lektion 6 / Analog Arduino Mogens Jacobsen / moja@itu.dk Siden sidst 2 Har I fået nogle LEDs til at blinke? Har I brugt kontakter? Hvad har I eksperimenteret

Læs mere

Det er nødvendigt for brugeren at læse, forstå og følge vejledningens instruktioner.

Det er nødvendigt for brugeren at læse, forstå og følge vejledningens instruktioner. Tams Elektronik LD-G-3 / LD-W-3 (1) Lokomotivdekoder LD-G-3 / LD-W-3 i Märklin-Motorola format Denne oversættelse omfatter monterings- og anvendelsesvejledningerne til LD-G-3 / LD-W-3 dekoderen. Den originale

Læs mere

Lyskryds. Thomas Olsson Søren Guldbrand Pedersen. Og der blev lys!

Lyskryds. Thomas Olsson Søren Guldbrand Pedersen. Og der blev lys! Og der blev lys! OPGAVEFORMULERING:... 2 DESIGN AF SEKVENS:... 3 PROGRAMMERING AF PEEL KREDS... 6 UDREGNING AF RC-LED CLOCK-GENERAOR:... 9 LYSDIODER:... 12 KOMPONENLISE:... 13 DIAGRAM:... 14 KONKLUSION:...

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen

Læs mere

Dansk Mink Papir. Teknisk brugermanual

Dansk Mink Papir. Teknisk brugermanual Dansk Mink Papir Teknisk brugermanual Styring til FIX tørrekasse Beskrivelse Enheden styrer en AC blæser-motor via en relæudgang. Betjening foregår via et tastatur og et display, og brugeren kan vælge

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se

Læs mere

Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!)

Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!) MHz KIT Rev: /- Det er ikke tilladt, at man bare udsender radiobølger på den frekvens, man ønsker. Forskellige frekvenser er udlagt til forskellige formål. Nogle til politiet, militæret, FM-radio-transmission,

Læs mere

Beskrivelse af tryghedsalarmen

Beskrivelse af tryghedsalarmen Denne vejledning fungerer som en hurtig og nem brugervejledning på dansk, oversat af GSM Teknik ApS. Skal man bruge alle detaljer, henvises til den engelske vejledning, der medfølger i kassen. Beskrivelse

Læs mere

CANSAT & ARDUINO step by step

CANSAT & ARDUINO step by step CANSAT & ARDUINO step by step Jens Dalsgaard Nielsen SATLAB Aalborg Universitet Danmark jdn@space.aau.dk 1/45 Arduino CANSAT - MÅL At måle ved hjælp af sensor temperatur, tryk, acceleration, CO2, lys,...

Læs mere

const int disponibel_10= 10; const int disponibel_11= 11; const int disponibel_12= 12; const int blinkled = 13; // pin 13 er LED på NANO

const int disponibel_10= 10; const int disponibel_11= 11; const int disponibel_12= 12; const int blinkled = 13; // pin 13 er LED på NANO Styring_af_analog_repeater_OZ1LN_07-04-2018_v_1_07 device Arduino NANO fra v 1.06_j kræves Starttid bærebølge for valid pilottone ved start fra v 1.06_j kræves ResetTid uden bærebølge ved genstart efter

Læs mere

L P. Komfort / Alarm system Installationsvejledning. Tekniske data, symbol forklaringer

L P. Komfort / Alarm system Installationsvejledning. Tekniske data, symbol forklaringer Tekniske data, symbol forklaringer Styreenhed Strømforsyning Strømforbrug Komponent teknik Temperatur område Sirene udgang Udgange Kanal 2 udgang Indbyggede relæer 12/24 Volt, minus til stel, polaritetsbeskyttet

Læs mere

Projekt Når maskinen reagerer - Dataopsamling og aktuatorer

Projekt Når maskinen reagerer - Dataopsamling og aktuatorer Projekt Når maskinen reagerer - Dataopsamling og aktuatorer Af Nikki Mitchell og Jacob Thuesen Nikki Mitchell og Jacob Thuesen Side 1 af 20 08-02-2010 Indledning... 3 Formål... 3 Teori... 4 Arduino opgave

Læs mere

Drejeskive fra Märklin/Fleischmann

Drejeskive fra Märklin/Fleischmann Drejeskive fra Märklin/Fleischmann Märklin og Fleischman har en fælles drejeskive med op til 48 tilslutningsspor. Drejeskiven har et mekanisk låsesystem der bevirker at broen kan stoppe præcis ud for tilslutningssporet.

Læs mere

Brug af digitale ind og udgange

Brug af digitale ind og udgange Programmering for begyndere Brug af Arduino Programmeringskursus Brug af digitale ind og udgange Oversigt over aftenen Digitale ind- og udgange Det er der ikke så meget i: Digitale indgange kan tænde og

Læs mere

Digitaldekoder i Märklin Motorola format til lokomotiver med vekselstrømsmotor fra Märklin eller HAG.

Digitaldekoder i Märklin Motorola format til lokomotiver med vekselstrømsmotor fra Märklin eller HAG. Uhlenbrock 75 100 (1) Lokdekoder 75 100 Digitaldekoder i Märklin Motorola format til lokomotiver med vekselstrømsmotor fra Märklin eller HAG. Egenskaber Denne lokomotivdekoder til vekselstrømsmotorer forstår

Læs mere

Analoge indgange og A/D konvertering. Analoge udgange

Analoge indgange og A/D konvertering. Analoge udgange Programmering for begyndere Brug af Arduino Programmeringskursus Analoge indgange og A/D konvertering Analoge udgange Knud Krogsgaard Jensen OZ1QK Oversigt Oversigt over i aften: A/D konvertering iterations

Læs mere

Ved indkøring påtrykkes en kendt amplitude (HUSK 50 ohms afslutning) og displayet aflæses.

Ved indkøring påtrykkes en kendt amplitude (HUSK 50 ohms afslutning) og displayet aflæses. /* Power Meter 2012 /* Rettet den 13.februar 2013 /* Version 1.2 /* Input medie er en AD8307, som forsynes fra Arduino Uno stabiliserede 5 volt. A/D input er på Arduino analog input pin A0 AREF er tilført

Læs mere

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Udarbejdet af: Mathias R W Sørensen, klasse 3.4 Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-2012 IT-vejleder: Karl G. Bjarnason

Læs mere

Bruger manual AGAM kontrolboks

Bruger manual AGAM kontrolboks Bruger manual AGAM kontrolboks Kontrol boks set- up Front tavle (dør) 1. LED : Indikerer hvilke funktioner der er tilsluttet. (Lys tændt = funktion tændt ; lys slukket = funktion slukket). #1- Hovedpumpe

Læs mere

Monterings og brugervejledning Portautomatik S 66 samt tilbehør www.nordiskportimport.com 32 52 51 58

Monterings og brugervejledning Portautomatik S 66 samt tilbehør www.nordiskportimport.com 32 52 51 58 Monterings og brugervejledning Portautomatik S 66 samt tilbehør www.nordiskportimport.com 32 52 51 58 Brugervejledning En eldrevet port er ikke legetøj og bør anvendes med omhu og kun hvis der er fuldt

Læs mere

Dansk oversættelse version 1.0 Oktober 2007 Peter E. Jonasen baseret på den tyske original 101677/0906/SmEf

Dansk oversættelse version 1.0 Oktober 2007 Peter E. Jonasen baseret på den tyske original 101677/0906/SmEf Indbygnings- og brugervejledning Märklin 60760 Digital ombygningssæt til lokomotiver med tromlekummulator motor Dansk oversættelse version 1.0 Oktober 2007 Peter E. Jonasen baseret på den tyske original

Læs mere

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. APPETITVÆKKEREN OZ6YM, Palle A. Andersen Efteråret 2017 Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. DEMO-video

Læs mere

MP3 player med DMX interface.

MP3 player med DMX interface. Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK MP3 player med DMX interface. Funktion: En avanceret Mp3spiller med forskellige styringsmuligheder, velegnet til brug i museer, teatre, udstillinger

Læs mere

I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET

I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET Mandag den 14 januar 2013 I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET OZ1QK Knud Krogsgaard Jensen 1 ARDUINO I 2 C - BUSSEN ELLER?? Plan for I aften: Jeg siger noget i 10 minutter I fortæller lidt om

Læs mere

DC-Motor Controller. Brugermanual

DC-Motor Controller. Brugermanual Forside Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK DC-Motor Controller Brugermanual Firmware V4.00 Produkt indhold 1 styreboks til styring af 1 DC-motor. 1 strømforsyning 100 240 volt

Læs mere

Monterings og brugervejledning Portautomatik K 19 samt tilbehør www.nordiskportimport.com 50 250 260

Monterings og brugervejledning Portautomatik K 19 samt tilbehør www.nordiskportimport.com 50 250 260 Monterings og brugervejledning Portautomatik K 19 samt tilbehør www.nordiskportimport.com 50 250 260 Montering af Automatik K19 Klargøring af stangtrækket: Anbring stangen på et par bukke og monter Det

Læs mere

Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK. AC Motor Controller 370W. Brugermanual

Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK. AC Motor Controller 370W. Brugermanual Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK AC Motor Controller 370W Brugermanual WWW.WAHLBERG.DK TELEPHONE +45 86 18 14 20 CELL PHONE +45 40 52 20 88 EMAIL: mads@wahlberg.dk Marts

Læs mere

X88MV. Manual Version 1.26

X88MV. Manual Version 1.26 X88MV Manual Version 1.26 X88MV er udviklet til styring/fjernstyring af markvanding. Hurtig montering. Fleksibel. Hurtig. Kompakt. Billig. Intet abonnement. Indbygget timetæller. Kan køre på taletidskort.

Læs mere

Manual til PRO DK180

Manual til PRO DK180 Manual til PRO DK180 Indhold Forord... 4 Alarmens generelle opbygning... 5 Placering af alarmen... 7 Oversigt over alarmen... 8 Tag alarmen i brug... 10 Programering af alarmen... 11 Indtastning af egen

Læs mere

// inkluder library kode: #include <LiquidCrystal.h> #include <Serial.h> // Initialiser display LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// inkluder library kode: #include <LiquidCrystal.h> #include <Serial.h> // Initialiser display LiquidCrystal lcd(12, 11, 5, 4, 3, 2); /* OZ1HJR Program til styring af Mercury Motor SM-42BYG011-25 (ROB-09238) med EasyDriver V4.4 (ROB-10267). Når MS1 og MS2 begge er High, er et step (1.8 grader) opløst i 8 mikrostep. Et mikrostep svarer

Læs mere

Opgavesæt udviklet til kursus 48115. Grundlæggende elektronik på mobile maskiner 2. Udviklet i 2015

Opgavesæt udviklet til kursus 48115. Grundlæggende elektronik på mobile maskiner 2. Udviklet i 2015 Opgavesæt udviklet til kursus 48115 Grundlæggende elektronik på mobile maskiner 2 Udviklet i 2015 Ministeriet for Børn, Undervisning og Ligestilling (april, 2016). Materialet er udviklet af Metalindustriens

Læs mere

Svane Electronic Universal timer med 2 relæer og 18 funktioner hver 1

Svane Electronic Universal timer med 2 relæer og 18 funktioner hver 1 Svane Electronic Universal timer med 2 relæer og 18 funktioner hver 1 Digital dobbelt timer print modul 12V 2000.2236 Multi funktions timer med 18 funktioner pr. relæ, anvendelig i mange installationer,

Læs mere

Opslagsbog om computer. Af Erik Veidorf og Mike T. Krogh.

Opslagsbog om computer. Af Erik Veidorf og Mike T. Krogh. Opslagsbog om computer Af Erik Veidorf og Mike T. Krogh. Indhold: Side 1-------------------------------------------------------------------------------------------------------------CD-Rom/disk drev/ Side

Læs mere

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering...

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... 3 Kildekoden... 4 Variabler... 4 Setup... 4 Loop... 4 Indledning

Læs mere

Brugermanual for styreskab Master Chain 4.0

Brugermanual for styreskab Master Chain 4.0 Fodermaskine 1: Manuel Brugermanual for styreskab 88.340 - DK INDHOLDSFORTEGNELSE INTRODUKTION Se side Styringens funktioner. 3 Styreskab, display og tastatur. 4-5 Hovedmenu oversigt. 6-7 Servicemenu oversigt.

Læs mere

Jasopels Farm Assist V3. Bruger vejledning

Jasopels Farm Assist V3. Bruger vejledning Jasopels Farm Assist V3 Bruger vejledning Denne bruger vejledning beskriver de forskellige funktioner som farm assisten indeholder. Ved opstart af farm assisten vises et skærm billede (se nedenfor) med

Læs mere

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Interrupt - Arduino EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Interrupts Programmeringskursus Genbrug Interrupts Betyder blot at man afbryder

Læs mere

Elektronikken bag medicinsk måleudstyr

Elektronikken bag medicinsk måleudstyr Elektronikken bag medicinsk måleudstyr Måling af svage elektriske signaler Indholdsfortegnelse Indholdsfortegnelse... 1 Introduktion... 1 Grundlæggende kredsløbteknik... 2 Ohms lov... 2 Strøm- og spændingsdeling...

Læs mere

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations

Læs mere

Dekoder med 2x2 udgange

Dekoder med 2x2 udgange Dekoder med 2x2 udgange Diagram Print Komponentside Loddeside Side 1 Tilslutning af dekoderen. De fleste typer af dekodere har tilslutning direkte til sporet og har sin egen spændingsforsyning og signaltilpasning.

Læs mere

Kom godt i gang med Fable-robotten

Kom godt i gang med Fable-robotten Kom godt i gang med Fable-robotten 1. Først skal du installere programmet på din computer. Gå ind på shaperobotics.com og under support vælger du download: Her vælger du, under PC App om du kører Windows

Læs mere

Betjeningsvejledning. til. Vandudvejning. system

Betjeningsvejledning. til. Vandudvejning. system Betjeningsvejledning til Vandudvejning system Programnummer 731043 Tegningsnummer 201013 / 201019 1 Kundebetjening :...3 AFLÆSNING AF DATA: 3 INDLÆSNING AF SPÆRRINGER : 3 FEJLMEDDELELSER : 3 Operatørbetjening

Læs mere

Premier. Forforstærkere. Brugervejledning. For modellerne

Premier. Forforstærkere. Brugervejledning. For modellerne Premier Forforstærkere Brugervejledning For modellerne Phono Stage Head Amplifier Line Pre-Amplifier + fjernbetjent version Line / Phono Pre-Amplifier + fjernbetjent version Line / Phono Plus + fjernbetjent

Læs mere

Montage og brugsanvisning

Montage og brugsanvisning Montage og brugsanvisning System JA 3000 Standalone styring for befugter og affugter for relativ fugtighed eller dugpunkt. Indholdsfortegnelse Ophavsrettigheder... 3 EU overensstemmelseserklæring... 4

Læs mere

Projekt - RoboNet Del Journal.

Projekt - RoboNet Del Journal. Projekt - RoboNet Del Journal. A/D Konvertering. Udarbejdet af: Klaus Jørgensen. Gruppe: Jacob Clausen, Klaus Jørgensen og Ole Rud It og Elektronikteknolog, a Erhvervsakademiet Fyn Udarbejdet i perioden:

Læs mere

Delay(100); Man skriver fx blot delay(100); for at få Microcontrolleren til at vente 100 ms inden programmet fortsætter.

Delay(100); Man skriver fx blot delay(100); for at få Microcontrolleren til at vente 100 ms inden programmet fortsætter. Funktionen delay() Funktionen delay() er ofte praktisk at bruge i et program i Arduino-verdenen. Man skriver fx blot delay(100); for at få Microcontrolleren til at vente 100 ms inden programmet fortsætter.

Læs mere

STYRING FOR STOKERFYR

STYRING FOR STOKERFYR STYRING FOR STOKERFYR Måling og regulering af kedeltemperatur Måling og overvågning af røgtemperatur Eltænding og/eller pausefyring Mulighed for iltstyring Til Nordjysk Elektronik Ulvebakkevej 13 9330

Læs mere

NORDISK CONTROL A/S. FUNKTIONSBESKRIVELSE AF PORTSTYRING NC6005 3 X 400V 50Hz

NORDISK CONTROL A/S. FUNKTIONSBESKRIVELSE AF PORTSTYRING NC6005 3 X 400V 50Hz NORDISK CONTROL A/S FUNKTIONSBESKRIVELSE AF PORTSTYRING NC6005 3 X 400V 50Hz Portstyringen NC6005 er en CE-mærket universal 3-knaps styring interface for ABDL-Anlæg. Af primære funktioner kan nævnes: hukommelse

Læs mere

Indholdsfortegnelse :

Indholdsfortegnelse : Rapporten er udarbejdet af Daniel & Kasper D. 23/1-2001 Indholdsfortegnelse : 1.0 STEPMOTEREN : 4 1.1 Stepmotorens formål : 4 1.2 Stepmotorens opbygning : 4 2.0 PEEL-KREDSEN 4 2.1 PEEL - Kredsen Generelt

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato: Side 1 af 13 Dato: 03-06-03 Til Sigurd Som aftalt får du nu tilbygningen til 80C535 kittet, keyboard og programmet med programopdatering. Den sidste opgave her, gik så ud på at tilslutte et tastatur, og

Læs mere

UniLock System 10. Manual til T550 Secure Radiomodtager og håndsender. Version 2.0 Revision 140220

UniLock System 10. Manual til T550 Secure Radiomodtager og håndsender. Version 2.0 Revision 140220 UniLock System 10 Manual til T550 Secure Radiomodtager og håndsender Projekt PRJ124 Version 2.0 Revision 140220 T550 Secure er en højsikker trådløs UHF-læser der benyttes, hvor det ønskes at oplåse på

Læs mere

Mircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)

Mircobit Kursus Lektion 3   (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) Mircobit Kursus Lektion 3 http://microbit.org/ (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. Man skulle lave et tabel

Læs mere

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

GSM ALARM BASIC. Brugervejledning dansk. Version 1. Side

GSM ALARM BASIC. Brugervejledning dansk. Version 1. Side GSM ALARM BASIC Brugervejledning dansk Version 1 Side Tekniske data Spænding/strøm Standby strøm Alarm strøm Trådløs frekvens GSM frekvens Back-up Batteri Relæudgang (NO) 9-12V DC / 500mA

Læs mere

Internt interrupt - Arduino

Internt interrupt - Arduino Programmering for begyndere Brug af Arduino Internt interrupt - Arduino - Afslutning EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Intern interrupt Jeg vil rydde lidt op. Her er nogle punkter vil har glemt

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

GSM porttelefon og samtale anlæg. SSI 2600.8002 GSM porttelefon system

GSM porttelefon og samtale anlæg. SSI 2600.8002 GSM porttelefon system SSI 2600.8002 GSM porttelefon system GSM samtale anlæg og 1000 telefon numre med opkald for dør/port åbning Udendørs station med separat indendørs kontrol boks SSIHuset Svane Electronic ApS Arildsvej 27,

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er

Læs mere

Genius laderegulator Monterings og brugervejledning

Genius laderegulator Monterings og brugervejledning Genius laderegulator Monterings og brugervejledning Laderegulatorens opbygning Genius er en avanceret laderegulator for solceller/solpaneler der kontroller, overvåger og styrer indladning og afladning

Læs mere

Brug Photo Story 3 en let introduktion

Brug Photo Story 3 en let introduktion Brug Photo Story 3 en let introduktion Denne vejledning forudsætter at programmet Photo Story 3 er installeret på din computer. Se andetsteds for vejledning i at installere programmet, der kan findes gratis

Læs mere

Guide - Secvest IP FUAA10011

Guide - Secvest IP FUAA10011 Guide - Secvest IP FUAA10011 1 Indhold SECVEST IP - KOMPONENTER... 3 TILSLUTNING AF BATTERI OG STRØMFORSYNING... 4 PLACERING AF NØGLEKOMPONENTER... 5 INDKODNING AF DE TRÅDLØSE KOMPONENTER... 6 MENU 1 INDKODNING

Læs mere

Hvorfor & Hvordan lære Elever At programmere Arduinoer

Hvorfor & Hvordan lære Elever At programmere Arduinoer Hvorfor & Hvordan lære Elever At programmere Arduinoer Jens Dalsgaard Nielsen JDN / No.1 Teknologi konkurrencen IPADs, mobilos, HTC'er Medicentre JDN / No.2 IPAD, Iphone, HTC,... 1000 Mhz 8000000 kbyte

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Vers. 1.3.1 Opdateret: 29-08-2018 Indholdsfortegnelse 1. Installer programmet 3 2. Pak robotten ud 5 3. I gang med at programmere 6 4. Programmér Fable til at køre fra 90 til -90

Læs mere

Programmering af CS1700-Proxlæser

Programmering af CS1700-Proxlæser Comfort CSx75 Programmering af CS1700-Proxlæser Introduktion CS1700 er en proxlæser og der kan tilsluttes op til 15 læser til CSx75-centralen. Du kan programmere CS1700 til passagekontrol i et eller flere

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller-programmering med Arduino I teknologi skal vi lære at lave programmer til en microcontroller for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal

Læs mere

Enes Kücükavci Roskilde Tekniske Gymnasium 20 05 2010 Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C

Enes Kücükavci Roskilde Tekniske Gymnasium 20 05 2010 Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C Indhold Indledning(Enes)... 2 Problemstilling (Enes)... 2 Teori (Enes)... 2 Løsningsforslag (Enes)... 4 RFID relæet (Mathias)... 6 Krav (Enes og Mathias)... 8 Målgruppen (Mathias)... 8 Rekvirent... 8 Implementering(Mathias)...

Læs mere

Undervisningsmateriale til AMU kursus 48114, Grundlæggende elektronik på mobile maskiner, 1. Udarbejdet i 2015

Undervisningsmateriale til AMU kursus 48114, Grundlæggende elektronik på mobile maskiner, 1. Udarbejdet i 2015 Undervisningsmateriale til AMU kursus 48114, Grundlæggende elektronik på mobile maskiner, 1 Udarbejdet i 2015 Emneoversigt/forslag til rækkefølge Opgave 1. Grundlæggende el: 2 lektioner Grundlæggende begreber

Læs mere

EKSEMPEL PÅ ELEVOPGAVE TIL ARBEJDET MED PROGRAMMERING AF ARDUIONO MED LED BÅND

EKSEMPEL PÅ ELEVOPGAVE TIL ARBEJDET MED PROGRAMMERING AF ARDUIONO MED LED BÅND EKSEMPEL PÅ ELEVOPGAVE TIL ARBEJDET MED PROGRAMMERING AF ARDUIONO MED LED BÅND side 1 LED bånd I dette opgavesæt skal du arbejde med et LED bånd og en Arudino. Diagrammet viser LED båndets tilslutningen.

Læs mere

DCC digital dekoder til magnetiske produkter

DCC digital dekoder til magnetiske produkter Viessmann 5212 Digital Dekoder Dansk Brugervejledning DCC digital dekoder til magnetiske produkter med fire udgangsgrupper Indhold 1. Vigtige oplysninger... 2 2. Indledning / Egenskaber... 3 3. Montering...

Læs mere

L P. Komfort / Alarm system. 9. Tekniske data. LINDGAARD PEDERSEN A/S Banemarksvej 50 B - 2605 Brøndby Telefon 4344 8811 / 8640 8811 www.lpas.

L P. Komfort / Alarm system. 9. Tekniske data. LINDGAARD PEDERSEN A/S Banemarksvej 50 B - 2605 Brøndby Telefon 4344 8811 / 8640 8811 www.lpas. 9. Tekniske data Styreenhed Strømforsyning Strømforbrug Komponent teknik Temperatur område Sirene udgang Udgange Kanal 2//4 udgang Indbyggede relæer 12/24 Volt, minus til stel, polaritetsbeskyttet 15 milliampere,

Læs mere

Kravspecifikation For. Gruppen

Kravspecifikation For. Gruppen Kravspecifikation For Gruppen Indholdsfortegnelse 1. INDLEDNING...3 1.1 FORMÅL...3 1.2 REFERENCER...3 1.3 LÆSEVEJLEDNING...3 2. GENEREL BESKRIVELSE...4 2.1 SYSTEM BESKRIVELSE...4 2.2 SYSTEMETS FUNKTION...4

Læs mere

Hos Podconsultsbutik kan du finde vandpumpen i 3 udgaver, hvilket har betydning for hvordan du samler og forbinder pumpen til din Micro:bit.

Hos Podconsultsbutik kan du finde vandpumpen i 3 udgaver, hvilket har betydning for hvordan du samler og forbinder pumpen til din Micro:bit. Leg med vandpumper Hos Podconsultsbutik kan du finde vandpumpen i 3 udgaver, hvilket har betydning for hvordan du samler og forbinder pumpen til din Micro:bit. For nemheds skyld vil vi i denne guide kalde

Læs mere

Vejledning til varmevekslerstyring SILVER C RX, RECOnomic str. 100/120, RECOsorptic str. 50-120

Vejledning til varmevekslerstyring SILVER C RX, RECOnomic str. 100/120, RECOsorptic str. 50-120 Vejledning til varmevekslerstyring SILVER C RX, RECOnomic str 100/120, RECOsorptic str 50-120 1 Generelt Varmevekslerstyringen er et styresystem til stepmotor, 380 W Det er beregnet til nøjagtig og lydsvag

Læs mere

Brugervejledning for Senge- og dørvagt PIR2003

Brugervejledning for Senge- og dørvagt PIR2003 DENNE BRUGERVEJLEDNING GÆLDER FRA SOFTWARE VERSION 3.X Brugervejledning for Senge- og dørvagt PIR2003 KNOP ELEKTRONIK A/S Fabriksvej 20=7600 Struer=Mail: knop@knop.dk=web: www.knop.dk=tlf.: 9784 0444=Fax.:

Læs mere

L P. Komfort / Alarm system. 8. Tekniske data. LINDGAARD PEDERSEN A/S Banemarksvej 50 B - 2605 Brøndby Telefon 4344 8811 / 8640 8811 www.lpas.

L P. Komfort / Alarm system. 8. Tekniske data. LINDGAARD PEDERSEN A/S Banemarksvej 50 B - 2605 Brøndby Telefon 4344 8811 / 8640 8811 www.lpas. 8. Tekniske data Styreenhed Strømforsyning Strømforbrug Komponent teknik Temperatur område Sirene udgang Udgange Kanal 2/3/4 udgang Indbyggede relæer 12/24 Volt, minus til stel, polaritetsbeskyttet 15

Læs mere

Dansk El-montage manual Portautomatik

Dansk El-montage manual Portautomatik Dansk El-montage manual Portautomatik (med fysiske ende stop) Terminaler: Power Portstyring 1 2 Power input 220/230Vac. Kabeldim. 3x1.5 PVIKJ eller lign. 3 4 Advarselslampe. Udgang 230Vac/20W. Signalet

Læs mere

Installationsguide. Router Tilgin HG13xx serien. Fiberbredbånd TV Telefoni

Installationsguide. Router Tilgin HG13xx serien. Fiberbredbånd TV Telefoni Installationsguide Router Tilgin HG13xx serien Fiberbredbånd TV Telefoni Kære Kunde Tillykke med dit nye Waoo! produkt. Det er vigtigt, at du læser nedenstående inden, du begynder at bruge din router.

Læs mere

Lodning. Intro leaded. Tommy Sørensen

Lodning. Intro leaded. Tommy Sørensen Intro leaded Tommy Sørensen Indholdsfortegnelse Henvisninger...3 Lodning...4 Værktøj lodning...6 Eksempler på lodninger...9 Farvekode...10 Præfiks...10 Standardrækker...11 Komponenter...12 Modstand...12

Læs mere

MYLOQ 1101 Kodecylinder

MYLOQ 1101 Kodecylinder MYLOQ 1101 Kodecylinder Brugsanvisning DK Vigtig information før anvending Kodecylinderen skal aktiveres før brug (se side 3). En administrationskode skal tilføjes. Vær sikker på at få skrevet den nye

Læs mere

Maskinanlæg, opsætning af frekvensomformer

Maskinanlæg, opsætning af frekvensomformer Maskinanlæg, opsætning af frekvensomformer INDHOLDSFORTEGNELSE Opgaver - Maskinanlæg, opsætning af frekvensomformer...3 2-20 Rekv. 0 Prod. 28-06-2006-08:33 Ordre 000 EFU Opgave 1 1 stk. VLT 2800 1 stk.

Læs mere

DCC dekoder til servo

DCC dekoder til servo dekoder til servo Dekoderen kan kontrollere op til 4 servoer. Der er mulighed for at vælge forskellige hastigheder og vandring. Servoerne er velegnet til langsomt skift af sporskifte, bomanlæg, porte og

Læs mere

Løkkestrukturer mm. Trykknap: Button, Se eksempler / Digital / Button. Decision: If: Version 05/ Arduino, Loops, løkker, programfunktioner mm.

Løkkestrukturer mm. Trykknap: Button, Se eksempler / Digital / Button. Decision: If: Version 05/ Arduino, Loops, løkker, programfunktioner mm. Arduino, Loops, løkker, programfunktioner mm. Links til følgende i dokumentet: Trykknap If, If else, If Else If While, Do While For-Loop Break, PWM Serial Read Funktioner og subrutinerr Switch Case Random

Læs mere

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i)

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i) Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i) 1. DS1821 1-WIRE KOMMUNIKATION (HERUNDER TIMING KRAV) ------------------------ 2 2. DS1821 SOFTWARE (OPBYGNING AF STYREPROGRAM I SYSTEM51 C) -----------

Læs mere

BRUGER VEJLEDNING BOLYGUARD SG 560 K. Model: SG560

BRUGER VEJLEDNING BOLYGUARD SG 560 K. Model: SG560 BRUGER VEJLEDNING BOLYGUARD SG 560 K Model: SG560 Tak fordi du har købt SG560K, Et digital vildt kamera, for bedst mulige udnyttelse af alle funktionerne i dette vildtkamera, skal du læse alle anvisningerne

Læs mere

Silver Night. Forstærkere. Brugervejledning. For modellerne

Silver Night. Forstærkere. Brugervejledning. For modellerne Silver Night Forstærkere Brugervejledning For modellerne Stereo 300B - 7 Watt Mk1 & 2 Stereo Integrated 300B - 7 Watt Mk1 & 2 Stereo PX25 Mk2 8 Watt Stereo Integrated PX25-8 Watt Mk2 Parallel Single Ended

Læs mere

Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer.

Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer. PLC, analogteknik Øvelse 1 Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer. Timer 1.1 "TON" Timer on delay: I skal konstruerer en styring, hvor en lampe

Læs mere

MB-001 DCC/MM Udviklingsmodul

MB-001 DCC/MM Udviklingsmodul Rev 1.0.3 2016-06-05 Side 1 af 10 Intro DCC/MM Udviklingsmodul Venligst læst denne guide HELT igennem en gang eller to, før du begynder at samle kit et, så du føler dig afklaret med hvordan det skal samles.

Læs mere