25
Arduino baserede kredsløb og dekodere

Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

  • Upload
    vodat

  • View
    234

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Arduino baserede kredsløb og dekodere

Page 2: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Introduktion Martin Bech

41 år

Multinørd, og rodet med modeltog siden barnsben

Bygger en kopi af Helsingør i 1:160 – computerstyret

Arbejder med IT – herunder tidligere en del programmering

Roder med elektronik baseret på Arduino

Aktiv i diverse facebook grupper – herunder Modeljernbane elektronik.

Medlem af Syd og Vestsjællands N klub (SOVNK)

Page 3: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Analog eller digital elektronik Analog elektronik er statisk – eksempelvis et relæ, eller

en astabil multivibrator (blinker)

Analog elektronik kræver udskiftning af komponenter for at virke anderledes

Digital elektronik kan programmeres, så man kan lave mere med færre komponenter, og bruge de samme ”byggeklodser” til flere ting.

Page 4: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Arduino

Page 5: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Hvad består en Arduino af

USB STIK

5-12 v DC

RESET

AtMEGA328p - hjernen

Analoge ind / udgange

Digitale ind/udgange

Page 6: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Hvad består en arduino af

Page 7: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Programmering Arduino IDE

USB kabel

C kode

Er engelsk et problem?

Page 8: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Hvilke koder har man brug for? pinMode(<pinnummer>,<input eller output>) digitalWrite(<pinnummer>,<HIGH eller LOW>) delay(<millisekunder>) if(<værdi><operator><værdi>) else digitalRead(<pinnummer>) #include <<filnavn>> analogWrite(<pinnummer>,<vaerdi>) analogRead(<pinnummer>,<vaerdi>) millis() for() switch() …. break

Serial.begin(<hastighed>) Serial.print(<værdi>) Serial.println(<værdi>) Servo.attach(<pinnummer>) Servo.write(<posistion>) EEPROM.read() EEPROM.write(<adresse>)

Page 9: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Det første programvoid setup() {// saet digital pin nummer 13 som udgangpinMode(13, OUTPUT);

}

// Loop koerer igen og igen saalaenge Arduinoer taendtvoid loop() {digitalWrite(13, HIGH); // Taend for digital pin 13 (HIGH = ca

5V)delay(1000); // vent et sekunddigitalWrite(13, LOW); // Sluk for digital pin 13 (LOW = ca 0v)delay(1000); // vent et sekund

}

Page 10: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Trafiklys til modeljernbanen - hardware

Page 11: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Trafiklys til modeljernbanen - kodeint ROED = 13; int GUL = 12; int GROEN = 11;

void setup(){pinMode(ROED,OUTPUT); pinMode(GUL,OUTPUT); pinMode(GROEN,OUTPUT);

}

void loop() { digitalWrite(ROED, HIGH); digitalWrite(GUL, HIGH); delay(3000);digitalWrite(ROED, LOW); digitalWrite(GUL, LOW); digitalWrite(GROEN, HIGH); delay(5000); digitalWrite(GROEN, LOW);digitalWrite(GUL, HIGH); delay(3000); digitalWrite(GUL, LOW);

}

Page 12: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

En DCC dekoder Noget elektronik der kan omforme signalet fra vores

spor, til noget vi kan bruge i Arduino

NmraDCC biblioteket

Resten af vores kredsløb

Noget kode ”logik”

Page 13: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Elektronik der kan omdanne DCC

Arduino PIN 2

DCC SIGNAL

Page 14: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

En DCC multi dekoder

Page 15: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

DCC tilbehørs adresse skema Hver ”dekoder” har op til 1 adresse

Hver adresse har 4 udgange

Hver udgang har to states on/off

Første board kunne så have eksempelvis adressen 1, og to states for hver 0/1 – 2/3 – 4/5 – 6/7

Page 16: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Uploade DCC eksempel til Arduino Checke COM-port

Checke Arduino type

Uploade

Åbne Serial Monitor

Teste

Page 17: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

PU Signal styring 6 LED

7 Signal billeder

Glødepære effekt

Page 18: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

PU Del 1 Starte et NmraDCC projekt

Definere vores LEDs

Lave basiskode til styring af adresser

Page 19: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

PU del 2 – nu med kør igennem Få input fra andet signal

Page 20: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

PU Del 3 Huske status på signalet

Eeprom

Page 21: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

PU signal – del 4 PWM

SoftPWM

Page 22: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Alternativer TCL5940

16 PWM udgange

4 pins på arduino

daisychaines

Page 23: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Eksempel på servo styring Servo.h

Definere en servo

Gå til position

Page 24: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Spørgsmål

Page 25: Arduino baserede kredsløb og dekoderearduino.bech.dk/wp-content/uploads/2016/03/DMJU_præsentation_2016_Arduino.pdf · Digital elektronik kan programmeres, så man kan lave mere

Tak for nu Modeljerbane Elektronik

Danske Arduino Entusiaster

Arduino, Elektronik og Modeljernbaner

http://arduino.bech.dk

[email protected] – ikke altid jeg når at svare

Mit dekoderprint, og andre ting kan bestilles hos mig til rimelige priser.

Mulighed for workshop/kursus i din klub / nærområde.