Introducció a Arduino: una guia per a principiants

Introducció a Arduino: una guia per a principiants

Arduino és una plataforma de prototipatge electrònica de codi obert i és una de les més populars del món, amb la possible excepció del Raspberry Pi. Després d'haver venut més de 3 milions d'unitats (i moltes més en forma de dispositius de clonació de tercers): què ho fa tan bé i què en podeu fer?





Què és Arduino?

Arduino es basa en maquinari i programari fàcils d’utilitzar, flexibles. Està fet per a artistes, dissenyadors, enginyers, aficionats i qualsevol persona amb el més mínim interès en l'electrònica programable.





Arduino detecta l’entorn llegint dades de diversos botons, components i sensors. Poden afectar el medi ambient controlant els LED, motors , servos, relés i molt més.





Els projectes Arduino poden ser autònoms o poden comunicar-se amb programes que s’executen en un ordinador ( Processament és el programari més popular per a això). Poden parlar amb altres Arduinos, Raspberry Pis, NodeMCU o gairebé qualsevol altra cosa. Assegureu-vos de llegir la nostra comparació de microcontroladors de 5 dòlars per obtenir una comparació completa de les diferències entre aquests microcontroladors.

Potser us preguntareu, per què triar l’Arduino? Arduino simplifica realment el procés de creació d’un projecte d’electrònica programable, cosa que el converteix en una gran plataforma per a principiants. Podeu començar a treballar fàcilment en un sense experiència electrònica prèvia. Hi ha milers de tutorials disponibles, que tenen dificultats, de manera que podeu estar segur d’un repte un cop hàgiu dominat els conceptes bàsics.



A més de la simplicitat d’Arduino, també és econòmic, multiplataforma i de codi obert. L'Arduino Uno (el model més popular) es basa en els microcontroladors ATMEGA 16U2 d'Atmel. Hi ha molts models diferents produïts, que varien en mida, potència i especificacions, així que consulteu la nostra guia de compra per conèixer totes les diferències.

Els plans de les juntes es publiquen a la secció a Creative Commons de llicència, de manera que els aficionats amb experiència i altres fabricants són lliures de fer la seva pròpia versió de l’Arduino, potencialment ampliant-la i millorant-la (o simplement copiant-la directament, cosa que condueix a la proliferació de plaques Arduino de baix cost que trobem avui).





Què podeu fer amb un Arduino?

Un Arduino pot fer un nombre sorprenent de coses. Són el cervell escollit per a la majoria de les impressores 3D. El seu baix cost i la facilitat d’ús fan que milers de creadors, dissenyadors, pirates informàtics i creadors hagin realitzat projectes sorprenents. Aquests són només alguns dels projectes Arduino que hem fet aquí a MakeUseOf:

Què hi ha dins d’un Arduino?

Encara que hi ha molts tipus diferents de plaques Arduino disponibles, aquest manual se centra en el Arduino Un model. Aquesta és la placa Arduino més popular al voltant. Llavors, què fa que aquesta cosa marqui? Aquí teniu les especificacions:





  • Processador: 16 Mhz ATmega16U2
  • Memòria flash: 32 KB
  • Ram: 2 KB
  • Voltatge de funcionament: 5V
  • Voltatge d'entrada: 7-12V
  • Nombre d'entrades analògiques: 6
  • Nombre d'E / S digitals: 14 (6 d'ells Modulació d'amplada de pols - PWM )

Les especificacions poden semblar escombraries en comparació amb el vostre ordinador d’escriptori, però recordeu que l’Arduino és un dispositiu incrustat, amb molta menys informació per processar que l’escriptori. És més que capaç per a la majoria de projectes electrònics.

Una altra característica meravellosa de l'Arduino és la possibilitat d'utilitzar els que s'anomenen 'escuts' o taulers complementaris. Tot i que no es tractaran els escuts en aquest manual, són una manera molt acurada d’ampliar les funcions i la funcionalitat del vostre Arduino.

Què necessiteu per a aquesta guia

A continuació trobareu una llista de la compra dels components que necessiteu per a aquesta guia per a principiants. Tots aquests components haurien de ser inferiors a 50 $. Aquesta llista hauria de ser suficient per proporcionar-vos una bona comprensió de l'electrònica bàsica i tenir prou components per construir alguns projectes força interessants mitjançant aquesta o qualsevol altra guia Arduino. Si no voleu seleccionar tots els components, us recomanem que vulgueu comprar un kit d’inici.

Si no podeu obtenir un valor de resistència específic, alguna cosa el més proper possible normalment funcionarà bé.

Descripció general dels components elèctrics

Vegem què són exactament tots aquests components, què fan i com són.

Taula de pa

Utilitzats per prototipar circuits electrònics, proporcionen un mitjà temporal per connectar components junts. Les taules de pa són blocs de plàstic amb forats als quals es poden inserir cables. Els forats es disposen en files, en grups de cinc. Quan vulgueu reordenar un circuit, traieu el cable o la part del forat i moveu-lo. Moltes taules contenen dos o quatre grups de forats que recorren la longitud del tauler, al llarg dels laterals, i estan tots connectats, normalment són per a la distribució d'energia i es poden etiquetar amb una línia vermella i blava.

Les taules de pa són excel·lents per produir ràpidament un circuit. Es poden posar molt desordenats per a un circuit gran i els models més econòmics poden ser notablement poc fiables, de manera que val la pena gastar una mica més de diners en un bon.

LEDs

LED significa Díode emissor de llum . Són una font de llum molt barata i poden ser molt brillants, sobretot quan s’agrupen. Es poden comprar en una gran varietat de colors, no escalfen especialment i duren molt de temps. És possible que tingueu LED al televisor, al tauler de control del cotxe o a les bombetes Philips Hue.

El microcontrolador Arduino també té un LED incorporat al pin 13 que s’utilitza freqüentment per indicar una acció o esdeveniment o només per provar-los.

Resistència fotogràfica

Una resistència fotogràfica ( pàg hotocell o bé Resistència dependent de la llum ) permet al vostre Arduino mesurar els canvis de llum. Podeu utilitzar-lo per engegar l'ordinador a la llum del dia, per exemple.

Interruptor tàctil

com controlar el telèfon des de la PC

Un interruptor tàctil és bàsicament un botó. En prémer-lo es completarà el circuit i (normalment) canviarà de 0V a + 5V. Els Arduinos poden detectar aquest canvi i respondre en conseqüència. Sovint ho són momentània - és a dir, que només es 'premen' quan el dit els manté premuts. Un cop el deixeu anar, tornaran al seu estat predeterminat ('sense prémer' o desactivat).

Piezo Speaker

Un altaveu piezoelèctric és un petit altaveu que produeix so a partir de senyals elèctrics. Sovint són dures i primes, i no semblen res com un altaveu real. Dit això, són molt barats i fàcils de programar. El nostre joc Buzz Wire en fa servir un per jugar Cançó temàtica de Monty Python 'Flying Circus' .

Resistència

Una resistència limita el flux d’electricitat. Són components molt econòmics i un element bàsic de circuits electrònics per a aficionats i professionals. Gairebé sempre són necessaris per protegir els components de la sobrecàrrega. També són necessaris per evitar un curtcircuit si l'Arduino + 5V es connecta directament a terra. En resum: molt útil i absolutament imprescindible.

Filferros de pont

Els cables de pont s’utilitzen per crear connexions temporals entre components de la taula de treball.

Configuració del vostre Arduino

Abans d’iniciar cap projecte, cal que l’Arduino parli amb l’ordinador. Això us permet escriure i compilar codi perquè Arduino s'executi, així com proporcionar una manera perquè el vostre Arduino funcioni al costat de l'ordinador.

Instal·lació del paquet de programari Arduino al Windows

Dirigeix-te al Lloc web Arduino i descarregueu una versió del programari Arduino adequada per a la vostra versió de Windows. Un cop descarregat, seguiu les instruccions per instal·lar l'Arduino Entorn de desenvolupament integrat (AQUÍ).

La instal·lació inclou controladors, de manera que, en teoria, hauríeu d’anar bé immediatament. Si això falla per algun motiu, proveu aquests passos per instal·lar els controladors manualment:

  • Connecteu el tauler i espereu que Windows comenci el procés d’instal·lació del controlador. Al cap d’uns instants, el procés fracassarà, tot i els seus millors esforços.
  • Fer clic a Menú d'inici > control Panel .
  • Aneu a Sistema i seguretat > Sistema . Un cop oberta la finestra del sistema, obriu el fitxer Gestor de dispositius .
  • Sota Ports (COM i LPT), hauríeu de veure un port obert anomenat Arduino UN (COMxx) .
  • Feu clic dret a Arduino UN (COMxx) > Actualitzeu el programari del controlador .
  • Trieu Busqueu el programari del controlador a l’ordinador .
  • Navegueu i seleccioneu el fitxer de controlador de l’Uno, anomenat ArduinoUNO.inf , situat al Conductors carpeta de la descàrrega del programari Arduino.

Windows acabarà la instal·lació del controlador des d'allà.

Instal·lació del paquet de programari Arduino al Mac OS

Descarregueu el programari Arduino per a Mac des de Lloc web Arduino . Extreu el contingut del fitxer .zip fitxer i executar l'aplicació. Podeu copiar-lo a la carpeta d'aplicacions, però funcionarà bé des del vostre escriptori o bé descàrregues carpetes. No cal instal·lar cap controlador addicional per a Arduino UNO.

Instal·lació del programari Arduino al paquet Ubuntu / Linux

Instal·la gcc-avr i avr-libc :

sudo apt-get install gcc-avr avr-libc

Si encara no teniu openjdk-6-jre, instal·leu-lo i configureu-lo també:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

Seleccioneu el correcte JRE si en teniu més d’un instal·lat.

Aneu al Lloc web Arduino i descarregueu el programari Arduino per a Linux. Tu pots untar i executeu-lo amb l'ordre següent:

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

Independentment del sistema operatiu que utilitzeu, les instruccions anteriors suposen que teniu una placa Arduino Uno original de marca. Si heu comprat un clon, gairebé segur que necessitareu controladors de tercers abans de reconèixer la placa per USB.

Execució del programari Arduino

Ara que el programari està instal·lat i el vostre Arduino està configurat, comprovem que tot funcioni. La forma més senzilla de fer-ho és mitjançant l'aplicació de mostra 'Parpellejar'.

Obriu el programari Arduino fent doble clic a l'aplicació Arduino ( ./arduino a Linux ). Assegureu-vos que la placa estigui connectada a l'ordinador i, a continuació, obriu el fitxer El LED parpelleja esbós d'exemple: Dossier > Exemples > 1. Fonaments > Parpellejar . Hauríeu de veure el codi de l'aplicació obert:

Per tal de penjar aquest codi al vostre Arduino, seleccioneu l'entrada al fitxer Eines > Pissarra menú que correspon al vostre model - Arduino Un en aquest cas.

Seleccioneu el dispositiu sèrie del vostre tauler a Eines > Port sèrie menú. A Windows, és probable que sigui així COM3 o superior. A Mac o Linux, això hauria de ser una cosa /dev/tty.usbmodem en ell.

Finalment, feu clic a Pujar botó a la part superior esquerra del vostre entorn. Espereu uns segons i hauríeu de veure el fitxer RX i TX LEDs de l'Arduino intermitents. Si la càrrega es realitza correctament, apareixerà el missatge 'Finalitzat la càrrega' a la barra d'estat.

Uns segons després d'acabar la càrrega, hauríeu de veure el fitxer pin 13 El LED del tauler comença a parpellejar. Enhorabona! Ja teniu el vostre Arduino en marxa.

Projectes inicials

Ara que ja coneixeu els conceptes bàsics, vegem alguns projectes per a principiants.

Anteriorment, heu utilitzat el codi de mostra Arduino per parpellejar el LED de bord. Aquest projecte farà flaixar un LED extern mitjançant una taula de treball. Aquí teniu el circuit:

Connecteu la pota llarga del LED (pota positiva, anomenada ànode ) a Resistència de 220 Ohm i després al digital pin 7 . Connecteu la cama curta (cama negativa, anomenada càtode ) directament a terra (qualsevol dels ports Arduino amb GND a la vostra elecció). Es tracta d’un circuit senzill. L'Arduino pot controlar digitalment aquest pin. Si activeu el passador, s’encendrà el LED, si l’apagareu el LED s’apagarà. La resistència és necessària per protegir el LED de massa corrent: es cremarà sense cap.

Aquí teniu el codi que necessiteu:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

Aquest codi fa diverses coses:

configuració nul·la (): Això és executat per Arduino una vegada que comença. Aquí és on podeu configurar les variables i qualsevol cosa que necessiti el vostre Arduino.

pinMode (7, OUTPUT): Això indica a l'Arduino que utilitzi aquest pin com a sortida, sense aquesta línia, l'Arduino no sabria què fer amb cada pin. Això només s'ha de configurar una vegada per pin i només heu de configurar els pins que vulgueu utilitzar.

bucle buit (): Qualsevol codi dins d’aquest bucle es repeteix repetidament, fins que l’Arduino s’apaga. Això pot fer que els projectes més grans siguin més complexos, però funciona increïblement bé per a projectes senzills.

digitalWrite (7, ALT): S'utilitza per configurar el passador ALTA o bé BAIX - ACTIVAT o bé DESACTIVAT . Igual que un interruptor de llum, quan el pin està ALTA, el LED estarà encès. Quan el pin sigui BAIX, el LED s’apagarà. Dins dels claudàtors, cal especificar informació addicional perquè funcioni correctament. La informació addicional es coneix com a paràmetres o arguments.

El primer (7) és el número de pin. Si heu connectat el LED a un altre pin, per exemple, canvieu-lo de set a un altre número. El segon paràmetre ha de ser ALTA o bé BAIX , que especifica si s’ha d’encendre o apagar el LED.

retard (1000): El dispositiu li diu a Arduino que espereu una quantitat de temps especificada en mil·lisegons. 1000 mil·lisegons és igual a un segon, de manera que això farà que l'Arduino esperi un segon.

Un cop el LED s'ha encès durant un segon, l'Arduino executarà el mateix codi, només es procedirà a apagar el LED i a esperar un segon més. Un cop finalitzat aquest procés, el bucle torna a començar i el LED es torna a encendre.

Desafiament: Proveu d’ajustar el retard de temps entre l’encesa i l’apagada del LED. Què observes? Què passa si configureu el retard en un nombre molt reduït, com ara un o dos? Es pot modificar el codi i el circuit per parpellejar dos LEDs?

Afegir un botó

Ara que teniu un LED funcionant, afegim un botó al vostre circuit:

Connecteu el botó de manera que pugueu el canal al mig de la taula de treball. Connecteu el fitxer dalt a la dreta cama a Pin 4 . Connecteu el fitxer abaix a la dreta cama fins a 10k Ohm resistència i després a terra . Connecteu el fitxer Baix a l 'esquerra cama a 5V .

És possible que us pregunteu per què un simple botó necessita una resistència. Això té dos propòsits. És un tirar cap avall resistència: lliga el passador a terra. Això garanteix que no es detectin valors falsos i impedeix l'Arduino pensant heu premut el botó quan no ho feu. El segon propòsit d'aquesta resistència és com a limitador de corrent. Sense ella, el 5V entraria directament a terra, el fum màgic seria alliberat i el vostre Arduino moriria. Això es coneix com a curtcircuit, de manera que l’ús d’una resistència impedeix que això passi.

Quan no es prem el botó, l'Arduino detecta terra ( pin 4 > resistència > terra ). En prémer el botó, 5V es connecta a terra. El pin Arduino 4 pot detectar aquest canvi, ja que el pin 4 ha canviat ara de terra a 5V;

Aquí teniu el codi:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

Aquest codi es basa en el que heu après a la secció anterior. El botó de maquinari que heu utilitzat és un momentània acció. Això significa que només funcionarà mentre el manteniu premut. L’alternativa és un tancament acció. És igual que els interruptors de llum o de sòcol; premeu una vegada per engegar-lo i torneu a prémer-lo per apagar-lo. Afortunadament, es pot implementar un comportament de bloqueig al codi. Això és el que fa el codi addicional:

button boolean On = false: Aquesta variable s’utilitza per emmagatzemar l’estat del botó: ON o OFF, HIGH o LOW. S'ha assignat un valor predeterminat de false.

pinMode (4, INPUT): Igual que el codi utilitzat per al LED, aquesta línia indica a Arduino que heu connectat una entrada (el vostre botó) al pin 4.

if (digitalRead (4)): De manera similar a digitalWrite () , digitalRead () s’utilitza per llegir l’estat d’un pin. Heu de proporcionar-li un número de PIN (4, per al botó).

Un cop premut el botó, l'Arduino espera 25 ms i torna a comprovar el botó. Això es coneix com a debounce de programari . Això garanteix que el que l’Arduino creu que és prémer un botó, realment es va fer una pulsació de botó i no el soroll. No cal que ho feu i, en la majoria dels casos, les coses funcionaran bé sense això. És més una pràctica recomanada.

Si l 'Arduino està segur que realment heu premut el botó, canvia el valor del fitxer botó Activat variable. Això alterna l'estat:

ButtonOn és cert: Estableix com a fals.

ButtonOn és fals: Estableix com a veritable.

Finalment, el LED s’encén segons l’estat emmagatzemat botó Activat .

Sensor de llum

Passem a un projecte avançat. Aquest projecte utilitzarà un fitxer Resistència dependent de la llum (LDR) per mesurar la quantitat de llum disponible. A continuació, l’Arduino informarà els missatges útils del vostre ordinador sobre el nivell de llum actual.

la millor manera de transmetre de PC a TV

Aquí teniu el circuit:

Com que els LDR són un tipus de resistència, no importa en quin sentit es col·loquen; no tenen polaritat. Connecteu-vos 5V a un costat de la LDR. Connecteu l'altre costat a terra mitjançant un 1k Ohm resistència. Connecteu també aquest costat a entrada analògica 0 .

Aquesta resistència actua com una resistència desplegable, igual que en els projectes anteriors. Es necessita un pin analògic, ja que els LDR són dispositius analògics, i aquests pins contenen circuits especials per llegir amb precisió maquinari analògic.

Aquí teniu el codi:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

Aquest codi fa algunes coses noves:

Serial.begin (9600): Això indica a l'Arduino que voleu comunicar-vos per sèrie a una velocitat de 9600. L'Arduino prepararà tot el necessari per a això. La taxa no és tan important, però tant el vostre Arduino com l’ordinador han d’utilitzar-ne el mateix.

analogRead (A0): S’utilitza per llegir el valor que prové de la LDR. Un valor inferior significa que hi ha més llum disponible.

Serial.println (): S'utilitza per escriure text a la interfície sèrie.

El simple si La sentència envia diferents cadenes (text) a l'ordinador en funció de la llum disponible.

Pengeu aquest codi i manteniu el cable USB connectat (així es comunicarà Arduino i d’on prové l’alimentació). Obriu el monitor sèrie ( Dalt a la dreta > Monitor de sèrie ), Hauríeu de veure els missatges que arriben cada 0,5 segons.

Què observes? Què passa si tapeu el LDR o hi brilleu una llum intensa? Podeu modificar el codi per imprimir el valor del LDR sobre sèrie?

Fer soroll

Aquest projecte utilitza l’altaveu Piezo per fer sons. Aquí teniu el circuit:

Noteu alguna cosa familiar? Aquest circuit és gairebé exactament el mateix que el projecte LED. Els piiezos són components molt simples: emeten un so quan se’ls dóna un senyal elèctric. Connecteu el fitxer positiu cama a digital pin 9 mitjançant un 220 Ohm resistència. Connecteu el fitxer negatiu cama a terra .

Aquí teniu el codi, és molt senzill per a aquest projecte:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

Aquí només hi ha algunes funcions de codi noves:

to (9, 1000): Això fa que el piezo generi un so. Calen dos arguments. El primer és el pin que cal utilitzar i el segon és la freqüència del to.

noTone (9): Això deixa de produir qualsevol so al pin proporcionat.

Proveu de canviar aquest codi per produir una freqüència diferent. Canvieu el retard a 1 ms: què observeu?

On anar des d’aquí

Com podeu veure, l’Arduino és una manera senzilla d’entrar en electrònica i programari. És un dels millors microcontroladors per a principiants. Esperem que hagueu vist que és fàcil construir projectes electrònics senzills amb Arduino. Podeu crear projectes molt més complexos un cop hàgiu entès els bàsics:

  • Crea adorns de llum nadalenca
  • Arduino Shields per superpotenciar el vostre projecte
  • Construeix el teu propi joc de pong amb un Arduino
  • Connecteu el vostre Arduino a Internet
  • Creeu un sistema domòtic amb el vostre Arduino

Quin Arduino tens? Hi ha algun projecte divertit que t’agradi fer? Per obtenir més informació, consulteu com millorar la vostra codificació Arduino amb VS Code i PlatformIO.

Compartir Compartir Tweet Correu electrònic 15 Ordres de l'indicador de comandes de Windows (CMD) que heu de conèixer

El símbol del sistema continua sent una potent eina de Windows. Aquests són els comandaments CMD més útils que tots els usuaris de Windows necessiten conèixer.

Llegiu a continuació
Temes relacionats
  • Bricolatge
  • Arduino
  • Electrònica
Sobre l'autor Joe Coburn(136 articles publicats)

Joe és llicenciat en Informàtica per la Universitat de Lincoln, Regne Unit. És un desenvolupador de programari professional i, quan no fa drons voladors ni escriu música, sovint se’l pot trobar fent fotos o produint vídeos.

Més de Joe Coburn

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us