ebook img

Arduino - uno PDF

44 Pages·2017·1.88 MB·Spanish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Arduino - uno

Arduino - uno Programació aplicada IES Pare Vitòria Departament de Tecnologia 1. Sistema Arduino UNO La placa Arduino Arduino UNO és una placa de circuit imprés basada en el microcontrolador (circuit integrat programable, capaç d'executar les ordres emmagatzemades en la seva memòria) ATmega de codi obert, amb possibilitat de connexió amb altres plaques d'ampliació (shield). El programari Arduino (IDE) permet escriure programes (en un llenguatge semblant a C++) i pujar-los a la placa base. Formes d'alimentació de l'Arduino... (NO dels circuits externs!) • Adaptador (wall-wart) AC/DC [9V, 1000 mA] i un connector 5.5 x 2.1 centre-positiu (jack) • cable USB connectat al port USB: valors màxims: 5 V, 500 mA (en versió USB3.0 són 900 mA??) • Bateria connectada al GND i Vin del POWER, de 7 a 12 V (per baix és inestable i per dalt s'escalfa). • Vin és la entrada de tensió des d'una bateria (no USB o AC/DC). Es pot subministrar voltatge a través d'aquest pin o, si es subministra voltatge a través de la presa de corrent (power jack) accedir a ella a través d'aquest pin. • Els pins 3.3V i 5V són eixides de 3.3V 50mA, i 5V 300mA en conjunt; no s'han d'utilitar per alimentar a l'Arduino o circuits externs amb consums de corrent superiors a 50 mA (com els motors). • Els motors i altres actuadors de major consum es connecten a un circuit extern amb la seva pròpia font d'alimentació. Es poden adquirir circuits ja preparats, anomenats 'shields' que tenen previstes les eixides per a motors, etc. (possiblement caldrà implementar també les llibreries adients). NOTA: la font d'alimentació es selecciona automàticament, però sols ha d'haver-ne una. IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 2 / 37 Característiques tècniques (Technical specs) Microcontroller ATmega328P Flash Memory 32 KB (per als programes) Operating Voltage 5 V ... used by bootloader 0.5 KB Input Voltage recommended 7 - 12 V (6 - 20 V limit) SRAM 2 KB (valors de variables) Digital I/O Pins 14 (of which 6 provide PWM output) EEPROM 1 KB (ATmega328P) DC current per I/O Pin 20 mA per pin (máxim 300 mA totals) Clock Speed 16 MHz PWM Digital I/O Pins 6 pins Length 68.6 mm Analog Input Pins 6 pins Width 53.4 mm DC Current for 3.3V Pin 50 mA màxim Weight 25 g Els pins digitals I/O Treballen a 5 V i 20 mA tant en entrada com en eixida, amb un màxim de 40 mA en cadascun. (Input/Output) En total no s'han de superar els 300 mA connectats a l'Arduino. http://www.arduino.cc/ http://ca.wikipedia.org/wiki/Arduino Què necessitem Software: Hardware: Arduino IDE Placa Arduino UNO rev 3 Cable port USB tipus A/B Multiplataforma i gratuït, permet escriure el codi per programar Arduino, formada per l'editor de codi, el compilador i el depurador. Baixar l'Arduino IDE (Integrated Development Environment). • Linux des del Centre de programari, o bé, des de Synaptic, es baixarà l'Arduino IDE ....... i altres arxius relacionats (en Lliurex el Synaptic està en Paràmetres del sistema). • Linux des dels repositoris oficials d'Ubuntu (açò instal·larà també altres paquets) ◦ sudo apt-get update ◦ sudo apt-get install arduino arduino-core • Windows: baixar el Arduino-......-windows.exe (l'instal·lador, no el paquet zip ja que s'haurien d'instal·lar els drivers manualment) des de la web www.arduino.cc Per instal·lar -en Ubuntu- l'última versió (i estalviar-se problemes de compatibilitat amb els shields i els drivers), consulteu la pàgina següent. IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 3 / 37 Instal·lar la última versió Arduino en Ubuntu (o Lliurex) • Entrar a la web d'Arduino, pestanya Software (htps://www.arduino.cc/en/main/software) • Baixar l'arxiu arduino-1.8.5-linux64.tar.gz al directori principal • Obrir el terminal [Ctrl+Alt+T] i seguir els passos indicats (:~$ és el prompt del sistema operatiu) Comprovar que està l'arxiu tar.xz :~$ ls ... i veurem arduino-1.8.5-linux64.tar.xz ...(i altres carpetes) Desempaquetar l'aplicació :~$ tar -xvf arduino-1.8.5-linux64.tar.xz (també es pot fer clic dreta sobre la carpeta i arduino-1.8.5/ seleccionar 'extreure aquí' arduino-1.8.5/lib/ ... ... ... ... però crea una carpeta de més. arduino-1.8.5/tools/WiFi101/.../19.4.4/m2m_aio_2b0.bin (... sols en necessita una) arduino-1.8.5/tools/WiFi101/.../19.4.4/m2m_aio_3a0.bin arduino-1.8.5/arduino-1.8.5/... arxius) arduino-1.8.5/tools/howto.txt Comprovar que s'ha creat la carpeta :~$ ls arduino-1.8.5 arduino-1.8.5 ...i les altres carpetes i arxius Moure la nova carpeta al directori opt :~$ sudo mv arduino-1.8.5 /opt/arduino amb el nom arduino [sudo] contrasenya per a raimon: (escriu-la, no es veu res) Anar al directori /opt/arduino :~$ cd /opt/arduino I allí executar l'arxiu d'instal·lació :~$ ./install.sh ... respon :~$ Adding desktop shortcut, menu item and file associations for Arduino IDE... done! 'exit' per eixir de la terminal :~$ exit Ara cal connectar el cable USB a l'ordinador i a l'Arduino, accedir al programa i comprovar que reconeix la targeta Arduino UNO i el port de comunicacions ttyACM0 (a la pàgina següent s'explica com fer-ho) 1. Si amb l'Arduino connectat, dóna un 'Error opening serial port' escriu: :~$ ls -l /dev/ttyACM* i comprova que està el grup dialout :~$ crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0 2. Afegeix l'usuari al grup dialout :~$ sudo adduser nom_usuari dialout (... has de posar el teu nom d'usuari) S'està afegint l'usuari «......» al grup «dialout»… Fet. 3. Comprova que detecta el port USB :~$ dmesg | grep ttyACM Veurem una eixida semblant a: [68.653944] cdc_acm 3-1:1.0: ttyACM0: USB ACM device 4. Dóna permisos al port ttyACM0 :~$ sudo chmod 666 /dev/ttyACM0 Demana la contrasenya... i ja està tot i ja està tot (potser caldrà reiniciar) :~$ exit IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 4 / 37 NOTA: per saber en quins grups està autoritat l'usuari 'nom_usuari' cal entrar al terminal i escriure... groups nom_usuari per saber en quins grups està nom_usuari nom_usuari adm dialout cdrom ens mostra els grups als que pertany Configurar Arduino IDE 1. Connectar el cable USB a l'ordinador i a l'Arduino, el led verd de funcionament s'encendrà. 2. Entrar a l'Arduino IDE fent clic sobre el llançador. 3. Obrir Eines | Board | ... comprovar que està marcada Arduino UNO. 4. Obrir Eines | Port | ... comprovar que està actiu el port sèrie /dev/ttyACM0 o similar. 5. Obrir Fitxer | Preferències: es pot canviar la ubicació de la carpeta sketchbook i l'idioma. 6. Obrir Fitxer | Preferències | Editor: System default (o l'idioma desitjat), mida de lletra, etc. 7. ... si cal, reiniciar l'Arduino IDE. 8. Obrir Fitxer | Exemples | 01.Basic | Blink ◦ Verifca el codi ... el compilarà si no hi ha errors en el codi. ◦ Puja el codi ... envia el programa compilat a l'Arduino. ◦ El led 13 (que duu incorporat) ha de fer una intermitència d'1 segon. Nom per defecte d'un arxiu: sketch_mes dia lletra. ... Indica el port on està connectat. Pàgines amb tutorials Arduino Programes complementaris a Arduino • htps://github.com/AgoraaabAlcoi • Scratch 4 → htp://s4a.cat/index_cca.html • htp://www.zonamaker.com/arduino/intro-arduino • Friting → htp://friting.org/home/ • htp://tronixstuf.com/tutorials/ • Processing → htps://processing.org/ IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 5 / 37 Estructura general d'un programa en Arduino (C++) El llenguatge Arduino és molt similar al C++ i segueix les mateixes regles. declaracions; Declaració de variables globals, abans de la funció void setup() void setup() Configuracions inicials (funció buida setup). { - declaracions de variables globals (i dels valors inicials, si cal) declaracions; - inicialitació dels pins E/S } - confguració dels ports sèrie, etc. void loop() Bucle de programa a executar (funció buida loop). { - lectura dels pins d'entrada i activació de les eixides. instruccions; - declaració de variables locals. } - condicions (if, if...else) i bucles (for, while, do...while). Instruccions bàsiques de l'Arduino https://www.arduino.cc/reference/en/#page-title Declaració de variables tipus [int, long, foat] variable (= valor); És convenient utilitar noms descriptius. Poden ser globals o locals, segons el lloc on estiguen defnides. Estats lògics [1 - HIGH - ON - 5 Volts - cert], o bé, [0 - aOW - OFF - 0 Volts - fals]. Nota: cert (true) és realitat qualsevol senyal distint de zero. HIGH, LOW, true, false, INPUT, OUTPUT són constants predefnides. Pins digitals Pins 0-13, alguns poden actuar també com a PWM (Pulse Width Modulation). Un pin es pot referenciar amb el seu número (0-13) o amb una variable. pinMode(pin, mode) Declara un pin en el mode INPUT o mode OUTPUT. S'utilita en el mòdul void setup() i sols es declara una volta. Els pins estan predefnits com a entrades amb alta impedància (20 kΩ) Un pin en OUTPUT, connectat a un port USB proporciona 5 V a 40 mA. No es poden superar els 200 mA en total (ex: 5 pins d'eixida a 40 mA). digitalRead(pin) alig l'estat del pin i retorna un valor cert (HIGH) o fals (aOW). digitalWrite(pin,valor) Envia un valor cert (HIGH) o fals (aOW) a un pin. Pins analògics Són els pins A0-A5, ja estan defnits com a INPUT. No cal confgurar-les en el setup() ja que sols poden ser entrades. Encara que no és necessari posar la A, es millor fer-ho per evitar errors. analogRead(pin) alig un valor (en volts) del sensor corresponent (connectat a pin) Un circuit intern ADC (analog-to-digital converter) escala el valor de 0 a 1023 El senyal resultant (també en volts) ocupa 10 bits. (210 = 1024 senyals). Admeten voltatges en un rang de 0 a 5 V, 40 mA màxim. Sensors analògics: potenciòmetre, aDR, NTC, PTC, de so, d'ultrasó, IR, etc. Cal posar resistències externes de protecció (10 kΩ) en pull-up o pull-down analogWrite(pin,valor) Envia un valor entre [0-255] a un pin d'eixida PWM (3, 5, 6, 9, 10, 11). IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 6 / 37 Procés bàsic en Arduino • Programa ◦ Entrar al IDE Arduino ◦ Escriure el codi ◦ Comprovar el codi i guardar-lo • Muntatge del circuit ◦ Col·locar els components sobre la placa de proves ◦ Fer les connexions necessàries i revisar • Connectar l'Arduino a través del port USB • Pujar el codi • Comprovar funcionament Per fer els muntatges que s'indiquen, cal utilitar l'Arduino i una placa de proves (protoboard o breadboard) i fer les connexions amb cables pont (jumper wire) de diferents tipus o bé cables monoflars de 0.2 mm. a'Arduino pot gestionar entrades i sortides (E/S) digitals i analògiques amb els següents rangs de valors i amb els pins indicats. Baix s'indiquen les connexions bàsiques corresponents a aquestes possibilitats. Digital Analògica Entrada 0 - 1 1024 / pins A0 ... A5 Sortida 0 - 1 256 / PWM / pins ~ Esquemes dels muntatges més habituals i alguns actuadors o controladors IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 7 / 37 Característiques generals d'alguns components Un LED (Light-Emitting Diode) és un díode emissor de llum que emet llum quan es connecta a una font de corrent continu (direct current). El aED té polaritat i s'ha de connectar en directe. a'emissió lluminosa, explicada per la teoria de bandes, és produeix per Color λ (nm) ΔV mA l'energia alliberada en la recombinació d'electrons- i buits+ en la zona roig 610 - 625 2,1 - 2,3 20 d'esgotament del díode. Si l'energia és sufcient, es generen fotons amb una verd 515 - 520 3,1 - 3,3 20 longitud d'ona (λ) i un color característic. Segons el material semiconductor groc 580 - 595 1,8 - 2,2 20 emprat, s'obtenen aEDs de colors diferents. https://es.wikipedia.org/wiki/Led#Principioddedfuncionamiento blau 460 - 470 3,0 - 3,2 30 Valors estàndard: aED color: 2 V, 20 mA, aED blanc o blau: 3.3 V, 30 mA. blanc totes 3,0 - 3,2 30 Valors típics d'un TRANSISTOR de silici Díode de silici = 0,7 V (el díode de germani = 0,3 V) Transistor: V = 0,7 Volts, i V = 0,2 Volts (en saturació). BE EC Intensitat: I = I + I E B C I ≈ 2% I (sense massa error, es pot dir que I ≈ I ) B E E C Voltatge: V = V + V CE CB BE Guany: β = I / I constant sempre que V = constant C B EC β augmenta amb I i la temperatura. C en un transistor BC... (de baixa potència) β = de 100 a 200 en un transistor BD... (de potència) β = al voltant de 50 Font d'alimentació externa Si en un muntatge hi ha diferents elements amb diferents voltatges de funcionament, cal utilitar una font d'alimentació normalitada, com les dels ordinadors, i posar -si cal- resistències a cada element. negre: tots són GND La font d'alimentació d'un ordinador de torre pot subministrar diferents groc: +12 V i 18 A voltatges i pot aproftar perfectament per als muntatges electrònics. Per roig: +5 V i 19 A fer-la funcionar de forma independent, cal fer un pont entre el terminal violat (stand by): + 5V i 1 A verd i un dels GND (negre) en el connector de 20/24 pins. taronja: +3,3 V i 18 A IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 8 / 37 Integrats 78xx (reguladors de voltatge) Una font d'alimentació no dóna tots el voltatges que es poden necessitar (per exemple, 9V per alimentar un Arduino). Aleshores cal utilitar un regulador de voltatge. aa família de circuits integrats 78xx són reguladors lineals de voltatge, usats en circuits de baixa potència, que es connecten a un voltatge d'entrada i subministren un voltatge més baix a l'eixida, dissipant la resta en forma de calor. És aconsellable cargolar a un dissipador de calor, i posar pasta tèrmica a la junta. 1 - voltatge d'entrada, 2 - massa (GND), 3 - voltatge de sortida aes dues últimes xifres indiquen el voltatge d'eixida 7809 regulador a 9V i 1 A aa intensitat màxima de treball és d'1 A. Una lletra després del 78 indica una intensitat diferent: 78M07 regulador a 7V i 0.5 A. a (0.1A), M (0.5A), S (2A), T(3A). COMPROVAR què és correcte: • 12 V de la font d'alimentació externa • Fusible d'1 A. • Integrat 7809 i condensadors. • Sortida de 9 V (1 A màxim) • Connectar a l'Arduino 5.5x2.1 centre+ Ventiladors Es poden obtenir fàcilment d'ordinadors o portàtils vells; els valors típics que es poden trobar (en etiqueta o en datasheet) són: DC (Direct Current) Brushless - motor de corrent continu sense escombretes. DC 5 V, 0.3 A Potència consumida: P = I · V = 5 · 0,3 = 1,5 W DC 12 V, 0.18 A Potència consumida: P = I · V = 12 · 0,18 = 2,16 W DC 24 V, 1.8 W Intensitat que circula: I = P / V = 1,8 / 24 = 0,075 A = 75 mA Cap dels tres models pot connectar-se a l'alimentació de l'Arduino! Altres càlculs que també pots fer (exemple: característiques tècniques d'un ventilador ARCTIC F14) 74 cfm (cubic feet per minut) 74 cubic feet / minut · 0,0283 m3 / feet3 · 60 minut / hora = 125,65 m3/h 0,20 A, 12 V DC P = I · V = 0,2 · 12 = 2,4 Wats de potència consumida 1350 rpm 1350 rev/min · 1 min/60 s = 22,5 voltes/s [2 π rad/rev = 141,37 rad/s] IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 9 / 37 Cablejat • 2 cables [roig, negre]: (font de voltatge, Vcc), negre (massa, ground, GND) • 3 cables [roig, negre, groc]: Vcc, massa, sensor rpm • 4 cables [roig, negre, groc, blau]: Vcc, massa, sensor rpm, control PWM Altres models [roig, negre, blau, verd]: consultar el full de característiques tècniques, els cables rpm i pwm depenen del fabricant, no hi ha estàndard, així que pot ser funcionen de forma diferent. Càlculs bàsics abans d'utilitzar Arduino Els primers muntatges que es fan amb l'Arduino impliquen pocs components i amb pocs requeriments elèctrics; així, es connecten directament a l'Arduino i la font d'alimentació és el propi port USB de l'ordinador al qual hem connectat la placa. Aquesta primera visió del seu ús comporta el perill de pensar que sempre és així i que "es pot connectar tot a la placa Arduino... i l'Arduino al USB de l'ordinador". És totalment FALS i, a més, PERILLÓS! Com actuar? 1. Anotar tots els components necessaris i les seves característiques (voltatge, intensitat, resistència, potència). El més aconsellable és trobar el full de dades (datasheet) de cada component. 2. Dissenyar el circuit i fer els càlculs per saber els consums totals i la potència necessària. 3. Decidir, segons els resultats (total de volts, amperes i wats), quina font d'alimentació externa es necessita i si és possible connectar el muntatge a l'Arduino, o bé, cal fer modifcacions L'Arduino és sempre el control del procés, no sempre és la font d'alimentació del muntatge. Consulteu els exemples següents; en ells es fan els càlculs que es demanen, s'analita el muntatge suggerit i la seva idoneïtat per funcionar, es dóna una possible solució (pràctica) per que funcione correctament i es valora si la connexió amb un Arduino seria viable. A partir d'ara hem de pujar un nivell a l'hora de resoldre un problema: ja no es sufcient donar la solució correcta; per exemple, si es pregunta la intensitat i el resultat correcte és de 8 A, no hi ha prou amb donar eixe resultat, cal dir també els efectes que eixa intensitat tindrà sobre el circuit que es vol muntar, si es viable fer-ho, o si cal, suggerir el circuit adient o les modifcacions necessàries perquè el sistema funcione correctament. aa verdadera solució del problema és que el circuit funcione! IES Pare Vitòria - Departament de Tecnologia Arduino UNO RSB ·JMS - 09/09/18 - Pàg 10 / 37

Description:
Arduino IDE. Multiplataforma i gratuït, permet escriure el codi per programar Arduino, formada per l'editor de codi, el compilador i el depurador. Ampliar el sistema. Language Reference. Structure setup() loop(). Control Structures if ifelse for switch case while do while break continue return go
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.