Top Banner
QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCC QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCC
36

QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

Sep 02, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCQUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCC

Page 2: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

QUÈ ÉS ARDUINO?� Arduino és una plataforma electrònica

de codi obert basada en hardware iprogramari de fàcil ús. Està pensat pera qualsevol persona que faci projectesinteractius.interactius.

� El programari (Arduino IDE) fa quesigui fàcil d’escriure codi (llenguatge C)i pujar-lo a la placa Arduino.

� N’hi ha diferents tipus de plaques,bàsicament son un microprocessadoramb diferents tipus d’entrades isortides, amb connexió USB id’alimentació.

Page 3: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

LA PLACA ARDUINO UNO� La placa Arduino UNO és la més popular i utilitzada de tota la família

Arduino

Page 4: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

LA PLACA ARDUINO UNO� N’hi ha diferent versions de Arduino UNO. Amb diferent tamany però

basicament igual n’hi la Arduino Nano.

Page 5: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

LA PLACA ARDUINO UNO� Amb diferents microprocessador i nombre d’entrades i sortides n’hi ha

altres plaques Arduino (MEGA, DUE, Leonardo,…) però totes es programenigual des de el programari Arduino IDE.

Page 6: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

LA PLACA ARDUINO UNO� Podeu dir al vostre Arduino del que cal fer escrivint codi al llenguatge de

programació Arduino o copiant el codi ja fet per altres i descarregant-lo a laplaca desde el Arduino IDE

Page 7: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEIXENT LA PLACA ARDUINO UNO� Arduino Uno és una placa amb un microcontrolador basat en ATmega328P

Page 8: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEIXENT LA PLACA ARDUINO UNO� Té 14 pins digitals d’entrada / sortida (dels quals 6 es poden utilitzar com a

sortides PWM)

Page 9: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEIXENT LA PLACA ARDUINO UNO� Fins a 6 entrades analògiques. Poden ser usats com pins digitals extra.

Page 10: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEIXENT LA PLACA ARDUINO UNO� Es pot alimentar externament amb tensió continua entre 7V y 12V. El

microprocessador treballa a 5V i al connector hi ha disponibles les tensionsd’alimentació, els 5V i 3.3V, aquesta ultima només dona 50mA

Page 11: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEIXENT LA PLACA ARDUINO UNO� Té una connexió USB per poder carregar el programari des de l’Ardunio IDE

i comunicar-se amb ell amb un port sèrie, fa servir dos pins digitals. Tambépot ser alimentat només des de l’USB si el consum es petit.

Page 12: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEIXENT LA PLACA ARDUINO UNO� Té una sèrie de LEDs indicadors: Alimentació, port sèrie i pin13.

� Botó de Reset

� Dos dels pins (A4, A5) poden funcionar com a un bus I2C

Page 13: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEIXENT LA PLACA ARDUINO NANO� El Arduino Nano, de mida molt més

petita que el Arduino UNO, te lesmateixes prestacions ja que faservir el mateix processador. Hanreduït connectors i mida de lareduït connectors i mida de laplaca.

Page 14: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

COM CONECTAR ELS ELEMENTSPer probes es pot fer servir un taulell on posar els elements que no necessitasoldadura per fer les connexions, només cables.

Els LED necessiten la seva resistència, elpin dona 5V i 20mA màximEls REED i pulsadors necessiten unaresistència de pull-uppull upEls SERVOS normalment es connecten alspin PWM

Page 15: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

LES PLAQUES D’EXTENSIÓ O ‘SHIELD’Un ‘shield’ en Arduino és una placa que s'apila sobre l’Arduino o sobre un altre‘shield’, de manera que ens permet ampliar el hardware o per donarfuncionalitat extra a un Arduino.

N’hi ha plaques ‘shield’ per prototips ambsoldadura o amb taulell

Page 16: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

LES PLAQUES D’EXTENSIÓ O ‘SHIELD’Altres ‘shield’ interessants per a les maquetes inclouen control de motors decorrent continua, motors pas a pas, relés, sensors, servos,...

Page 17: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

ALTRES TIPUS DE PLAQUES D’EXTENSIÓAltres plaques d’extensió no es punxen a l’Arduino però també poden sercontrolats des de els pins analògics i digitals o pel bus I2C.N’hi ha de relés, servos, barreres de infraroig, pantalles OLED, transistors depotencia, ...

Page 18: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEXIÓ ARDUINO A DCCPer fer un descodificador d'accessoris amb Arduino necessitem d’un circuitper poder llegir la senyal DCC i que a la vegada ens aïlli de les tensions altesque tenim a la via perjudicials per l’Arduino, recordem que treballa a 5V.

Això s’aconsegueix mitjançant un optoacoblador, el6N137 que es lo suficient ràpid per llegir el senyal DCC idonar-li a l’Arduino pel pin 2

Page 19: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEXIÓ ARDUINO A DCCMalauradament no hi ha una ‘shield’ comercial així que l’haurem de muntarnosaltres amb una placa prototipus o fer-la fer des de un disseny d’una web

https://github.com/lucadentella/arduino-dccshield

Page 20: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEXIÓ ARDUINO A DCCLa senyal DCC arribarà al pin 2 de l’Arduino però per fer-la servir al nostreprograma caldrà descodificar-la. Per sort la comunitat Arduino ha posat adisposició una llibreria per l’Arduino IDE per poder rebre i entendre el senyalDCC .

Des de el mateix Arduino IDE es pot instal·lar. Amb la llibreria, la feina de ferper exemple, un descodificador d'accessoris DCC es bastant simple.

Page 21: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEXIÓ ARDUINO A DCCAquest petit programaencén i apaga el LED dela placa Arduino(connectat al pin 13)quan rep la ordrecorresponent per al’activació de l’accessori 6en posició recte/desviat.

Si volem que ho faci perun altre accessori noméscal canviar a la línea 9 laadreça 6 pel accessorique escollim i tornar apujar el programa al’Arduino.

Page 22: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEXIÓ ARDUINO A DCCA l’Arduino IDE comprovem que hemseleccionat la placa Arduino que tenim i elport al que esta connectada.

Per carregar el programapremerem a sobre el botode Pujar programa

La llibreria permet fer tant descodificadors d’accessoris com descodificadorsembarcats. També té funcions per poder gestionar les CV.

N’hi ha d’altres llibreries per descodificar la senyal DCC:MynaBay: https://github.com/MynaBay/DCC_Decoder

de Pujar programa.

Si tot va bé ensinformarà de que haesta pujat

Page 23: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEXIÓ ARDUINO A DCCPunxant una ‘shield’ de relés i ampliantuna mica el programa podem tindre undescodificador de accessoris amb 4 reléssimilar als comercials i encara podríemmirar d’aprofitar alguna de les sortidesper encendre uns LEDs, per exemple.

O bé, afegint una altra de lesllibreries disponibles que ens permetcontrolar un servo, i modificantconvenientment el programa podemtindre un descodificador per agullesaccionats per servo amb polaritzaciódels cors

Page 24: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEXIÓ ARDUINO A DCCAmb la llibreria de servos només podríem controlar fins 12 servos a l’Arduino Uno,però amb plaques addicionals i fent ús del bus I2C podríem controlar de 16 a 1000.Necessitarem instal·lar les llibreries adients per treballar amb el bus I2C i el xipcontrolador de la placa de servos.

Les sortides son PWM per lo que en comptes de servospodríem controlar la intensitat de LEDs

Page 25: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CONEXIÓ ARDUINO A DCC

Amb la llibreria I2C i una altra per apantalles OLED, i una mica de feina deprogramació podem tindre cartellsanunciadors a les estacions.

Amb una ‘shield’ de control de motorspodrem controlar un motor pas a pasper moure una plataforma giratòria.

Hi ha una llibreria per a aquest tipus demotors.

Page 26: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

APENDRE A PROGRAMAR L’ARDUINO

Te dos rutines principals:

setup() – Conté el codi de configuració,s’executa una sola vegada al donar tensió oprémer el boto Reset.

S’anomena ‘sketch’ a un programa fet per a la plataforma Arduino.

prémer

loop () – Es el programa principal, s’executauna vegada i un altra sense parar.

Hi ha gran quantitat de llibreries que podem fer servir i que fan molt fàcilinteractuar amb el hardware, per utilitzar-les les haurem d'instal·lar i s’han deincloure al codi fent servir la directiva #include <llibreria.h>

Haurem d’estudiar la llibreria o mirar els exemples que normalment porten persaber quines funcions afegeix i com les hem de fer servir.

Page 27: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

APENDRE A PROGRAMAR L’ARDUINO

Ep!

Un moment!

He d'aprendre tot això perfer servir l’Arduino lafer servir l’Arduino a lamaqueta?

Page 28: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

APENDRE A PROGRAMAR L’ARDUINO

Em val amb el disseny que he vist aInternet en que la feina ja esta feta.

Vull un disseny especial ja que no hetrobat res que faci el que necessito.

Page 29: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

NO APENDRE A PROGRAMAR L’ARDUINO

1 He vist a Internet

� un descodificadorque em serveix i ja teel software llest perdescarregar �

2 Descarreguem el software i el descomprimim si cal.

L’obrirem a l’Arduino IDE.3 Instal·lem les llibreries que ens

indiquin o mirem al codi si ens fafalta alguna llibreria

Page 30: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

NO APENDRE A PROGRAMAR L’ARDUINO

4 Comprovem si hem de canviar alguna cosa al codi per a

que s’adapti a les meves necessitats

5 Escollim la nostra placa a l’Arduino IDE i el port

on esta connectada

6 Li donem al boto de ‘Pujar’ el programa al nostre Arduino

7 Comprovem que hi hagi anat bé sense errors

8 Comprovem que funciona

Page 31: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

ARDUINO SENSE COMPLICACIONSA Internet hi ha muntatges dedescodificadors DCC en que la feinaja esta feta. Només cal abaixar-se elcodi, instal·lar les llibreries que faciservir, i pujar el programa al’Arduino.

Moltes vegades l'únic que s’ha demodificar del codi es la adreça a laque volem que respongui o algunvalor que depengui de lo hemmuntat si hi ha diferents opcions.

Si fan servir CV es com undescodificador normal comercialperò hi ha que no cal, li pots dir desde el monitor sèrie:

Page 32: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

DESCODIFICADORS PER LOCOMOTORES

També hi ha algun disseny dedescodificadors embarcats perlocomotores, però la mida es gran pera les escales petites.

Estan basats en fer servir el circuit decontrol de motors.

El mes habitual es trobar circuits de control peranada i tornada de locomotores

Page 33: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CENTRAL DCC AMB ARDUINO

DCC++ es el disseny d’una central DCCfeta amb l’Arduino i una ‘shield’ decontrol de motors.

Es controla des de l’USB amb elmonitor sèrie mitjançant comandosde text.

Té sortides per via principal i via deprogramació per llegir i escriure CV.

També es pot controlar des de JMRI iRocrail.

Page 34: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

CENTRAL DCC AMB ARDUINO

Recordem que l’Arduino s’alimenta entre 7 i 12V,així que hem de aïllar la connexió VIN de la ‘shield’per a que la tensió a la que alimentem la DCC++que es superior no es espatlli l’Arduino, aquests’alimentarà des de l’USB.

A Internet, hi ha muntatges de la DCC++amb ‘shield’ Ethernet o WiFi i amb unapantalla LCD per fer-la autònoma i nodependre de l’ordinador.

També s’han dissenyat comandamentsper cable o inal·lambrics per a laconnexió sèrie.

Page 35: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

INTERNET� Llibreries Arduino

https://www.arduino.cc/en/Reference/Libraries

� Adafruit PCA9685 16-Channel Servo Driver

https://learn.adafruit.com/16-channel-pwm-servo-driver?view=all

� Arcomora

https://www.arcomora.com/

� DCC++

https://sites.google.com/site/dccppsite/home

� La maqueta de Infotronikblog

http://lamaquetade.infotronikblog.com/

� Club N Caldes

http://www.clubncaldes.com/search/label/Arduino

� Locoduino

http://www.locoduino.org/

Page 36: QUE ES POT FER AMB ARDUINO PER LA MAQUETA DIGITAL DCCusuaris.tinet.cat/fmco/download/Arduino_i_DCC_2019.pdfQUÈ ÉS ARDUINO? Arduinoésunaplataformaelectrònica de codi obert basada

GRÀCIES PER LA GRÀCIES PER LA GRÀCIES PER LA GRÀCIES PER LA SEVA ATENCIÓSEVA ATENCIÓ

Ponent: Paco Cañada

www.fut.es/~fmco