Vocabulario

 

Arduino / Genuino: Plataforma de robótica de Fonte Aberta (Open Source).
Baséase nun MicroControlador do fabricante Atmega.   É de uso libre, programable e deseñouse para o control de dispositivos electrónicos de baixa voltaxe (entre 3,5 y 12 V) e con pouca carga de datos.
Esta plataforma combina unha contorna de programación (IDE) cuxo código executase no microcontrolador e dispón do seu propio cartón de circuítos, o cal conta cunha serie de conectores (pins) cós que é posible controlar un gran número de dispositivos de diferente tipo.

        Genuino é unha marca rexistrada en Estados Unidos, rexistrouna un dos creadores de Arduino para protexer, xustamente, o seu propio negocio de fabricación de cartóns Arduino.

   Dispón dunha linguaxe de programación estándar chamada Processing, que deriva do ‘C++’.  Amais conta cunhas características técnicas que se deben cumprir para poder empregarse con Arduino.

Bash: En GNU / Linux é un tipo de arquivo de bloque ou en lote que almacena unha lista de instrucións que se executan no Terminal automaticamente, coma un programa.  Ven sendo o arquivo ‘.bat’ (Batch) de MS-DOS e Windows.

BIOS (Basic InPut OutPut System: Sistema Básico (de control) de Entradas e Saídas do Sistema): Comproba que o reloxo do sistema (do equipo) funciona, os compoñentes principais, os conectores, etc.

   Se todo está ben, inicia a carga do Sistema Operativo, que pasa a tomar o control do sistema.

    Se hai algún problema amosa por pantalla unha mensaxe informando ao usuario, se houbo algún cambio na configuración, etc.
Se existe algún erro sen demasiada gravidade, que non impide o arranque do sistema: Por exemplo, o reloxo fora de hora, o equipo arrincara normalmente, pero avisando de que o reloxo non está en hora.

    Se o fallo xa é importante, pode que permita arrincar o equipo, ou o bloquee, impedindo continuar o inicio do sistema.

Buses: Tamén chamados Pistas.  Son as conexións eléctricas que comunican cada un dos compoñentes dun circuíto.  A través destes buses ou pistas envíanse e recíbense as sinais eléctricas.

    Denomínanse pistas pola súa analoxía coas pistas de atletismo, ao ser cada unha independente das demais nas que so pode haber un corredor (unha sinal á vez).

   Os buses deben estar illados electricamente do resto dos buses, senón produciríase un curtocircuíto,

Exemplo de pistas nun circuíto electrónico:

Pistas

Cartóns de Expansión (Shield e HAT): Denomínanse “Shield” en Arduino e “HAT” en Raspberry Pi aos cartóns integrados por compoñentes e circuítos con funcionalidades e capacidades das que non dispón Arduino ou RaspBerry Pi directamente. Por exemplo, controlar dispositivos de alta voltaxe (220V) ou manexar varios dispositivos á vez.
Estes compoñentes conéctanse e contrólanse dende Arduino, dándolle maiores capacidades que as que ofrece Arduino por si só.
Ao unir diferentes shields con Arduino, e nalgúns casos con outros shields, permite crear sistemas complexos de maior potencia, amén dunha maior flexibilidade e complexidade no deseño dos proxectos.
No caso de Arduino toma o seu nome das pezas que compoñían a armadura dos guerreiros da época medieval, xa que ao conectar diferentes shields ao Arduino crea un dispositivo máis potente, robusto e flexible, xusto o que se acada creando unha armadura por pezas.

Circuíto Serie e Paralelo

Código Fonte: (Fonte: WikiPedia) O Código Fonte dun programa escríbeo un programador nunha linguaxe de programación, pero non é directamente executable polo ordenador, polo que debe traducirse a outra linguaxe ou código binario que entenda a máquina.

         Para levar a cabo esta tradución, úsanse os chamados compiladores, ensambladores, intérpretes e outros sistemas de tradución.

Código Obxecto: (Fonte: WikiPedia) É o código que se obtén ao traducir o Código Fonte, o código orixinal no que se escribiu o programa.

         Este código Fonte debe traducirse a unha linguaxe ou código que comprenda a máquina: o Código Obxecto.

         A tradución realízase mediante compiladores, ensambladores, intérpretes e outros sistemas de tradución.

Código Máquina: Código propio de cada máquina, o que realmente entenden e manexan.

         Aínda que pode executar outros códigos, o seu código propio, o código nativo, é o Código Máquina.

Compilador e Intérprete (Fonte: WikiPedia):

    Un compilador é un programa informático que traduce un programa que escrito nunha linguaxe de programación a unha linguaxe diferente, usualmente a linguaxe de Máquina, aínda que tamén pode traducirse a un código intermedio (bytecode) ou a texto.

Este proceso de tradución coñécese como compilación.

         Un intérprete ou interpretador é un programa informático que traduce unha linguaxe a outra a medida que esta se vai executando, tipicamente, instrución a instrución.

         Os intérpretes diferéncianse dos compiladores ou dos ensambladores en que namentres estes producen un código obxecto, os intérpretes so realizan a tradución sen gardar o resultado desta tradución.  Executan o código e punto.

Consola: Ver “Liña de Comandos”.

Controlador: Ver “Driver”.

Debugger:  Programa que analiza e comproba o funcionamento e os erros dun programa.

DIY (Do It YourSelf: Faino Ti Mesmo): Filosofía na que se basea Arduino.  O uso de tecnoloxías libres (Open Source), permite acceder a información e recursos que de outro xeito serían imposibles ou moi difíciles de conseguir.

DIWO (Do It With Others: Faino con outros):  A filosofía de DIY pero con outras persoas, grupos o asociacións, de forma que se poida abordar proxectos demasiado complexos de forma individual, pero que combinando e compartindo as capacidades, coñecementos e as habilidades de cada un conséguese levalos adiante.

        Fomenta a colaboración, compartir coñecementos, adquirir outros novos e o acceso a recursos que de xeito individual sería imposible ou moi compricado.

Driver: Tamén chamado Controlador, son arquivos que permiten utilizar un compoñente ou dispositivo polo resto da plataforma, ben sexa un sistema operativo dun ordenador ou, coma no caso dos cartóns, por Arduino.

   Inclúe unha serie de código propio do dispositivo que se denomina Libraría (por conter a “documentación” coa información coa que o microcontrolador poderá conectarse con ese compoñente).

       Cando conectamos unha impresora, unha memoria USB ou calquera outro aparato ao ordenador, este necesita que lle digan como comunicarse con el e que funcións posúe.

       Poden ser incompatibles con diferentes versións de Arduino e con diferentes cartóns (aínda que teñan o mesmo microcontrolador).

Ensamblador: (Fonte: WikiPedia) É un tipo de programa informático que traduce un ficheiro fonte escrito nunha linguaxe de ensamblador, a un ficheiro obxecto que contén código máquina, o cal executa directamente o microprocesador do ordenador.

Entorno Gráfico (GUI – Graphic User Interface. Interface Gráfico de Usuario): Sistema de control a través de ventás e iconas coas que se manexa de maneira visual, mediante o rato e combinacións de teclas, o ordenador e os programas.

   É, por exemplo, o caso dos sistemas operativos Macintosh e Windows, cos seus respectivos Escritorios.

    Diferenciase do Modo Texto en que apenas hai que dar ordes escritas có teclado.

FirmWare:  Código que se executa a nivel interno directamente nun dispositivo.  Non o controla o ordenador, senón que o executa o propio compoñente.

            Este código permite acceder a funcionalidades específicas do dispositivo ou a aquelas que requiran dun control directo a hora do uso ou ao comunicarse o ordenador con el ou outros compoñentes.

Fontes Libres ou Abertas (Open Source)

Folla Técnica (DataSheet): Documento coas especificacións técnicas dun compoñente u dispositivo (voltaxe de traballo, frecuencia, velocidade de movemento, velocidade de transmisión de datos, etc.) có que deseñar o circuíto e programalo.
Loxicamente, isto é máis complicado con compoñentes e dispositivos propietarios, nos que os fabricantes non son moi dados a facilitar este tipo de información.

Folla de Traballo: Ver “WorkSheet”.

Genuino: Ver “Arduino / Genuino”.

GUI: Ver “Entorno Gráfico”.

GPIO (General Purpose Input OutPut – Conectores (pins) de propósito xeral de Entrada e Saída): Son os pins – conectores terminais eléctricos –, que permiten conectar dispositivos electrónicos ás placas RaspBerry Pi ou a Arduino.  Cada conector contrólase de forma individual e independente, ben para enviar sinais de saída (OutPut) ou recibilas (InPut).

Hacking, Hackeo: Acción que consiste en modificar un aparato ou programa alterando o seu funcionamento ou as súas capacidades orixinais.

        Aínda que se relaciona có mundo do pirateo informático, en realidade son dous tipos de hackeo diferentes:  Por un lado está o hacking, que se fai a nivel particular e privado.

   Por outro está o hacking manifestamente ilegal, coñecido como Cracking ou Crackeo.  É un tipo de hacking malintencionado, xa que se realiza con fins completamente ilícitos, buscando obter un beneficio ilegal, ou para causar dano polo simple feito de poder facelo ou para conseguir recoñecemento de outros crackers.

Hard Hacking: Creación de novos dispositivos a partir doutros ou modificando dispositivos xa existentes.

   Diferenciase do Soft Hacking, ver definición, en que este realízase a nivel teórico: Desenvolvemento dunha idea, deseño de esquemas e supostos teóricos sen chegar a levalos á práctica.

HAT: Son as shields de Arduino pero para a plataforma RaspBerry Pi.

IDE (Entorno Integrado de Desenvolvemento): Non confundir có formato de conexión de discos duros.

O IDE é a aplicación dende a que programamos o código.

        Denomínase integrado por que dende a fiestra se xestionan todos os aspectos da programación: A programación en si do código, a depuración e corrección, a conexión coa plataforma, neste caso con Arduino, a carga do código, etc.

Intérprete / Compilador: Ver “Compilador / Intérprete”.

IoT (Internet of Things, Internet das Cousas): Esta tecnoloxía trata de que todas as cousas estean interconectadas a través da Internet: Dende os coches ate os electrodomésticos, os mobles ou a louza:

         Así, poderemos recibir avisos cando a nosa grampadora estea a quedarse sen grampas ou a cunca do café comece a arrefriar.

         Con este fin estase a traballar na seguinte xeración de datos móbiles, a G5, moito máis rápida que a actual G4, aínda que a costa dun menor alcance, limitando a zona de funcionamento.

LED (Light Emission Diode, Diodo de Emisión de Luz):  Son un tipo de “lámpadas” moi pequenas (duns poucos centímetros) que emiten grande cantidade de luz con moi pouco consumo (uns poucos voltios), amais de seren moi económicas.
Por esa razón acender e apagar un LED con Arduino é unha das primeiras prácticas que realiza case todo o mundo ao iniciarse nesta plataforma, xa que é barato, doado e sinxelo de facer e permite entender o funcionamento básico de Arduino.

Leis da Electricidade (Triángulo de Ohm)

Libraría: Un ou varios arquivos que conteñen código específico para o uso de características e funcionalidades particulares dun dispositivo ou compoñente en concreto as que Arduino non ten acceso directamente.

    Este código permite que un microcontrolador ou microprocesador poda facer uso das características propias dun dispositivo que directamente non pode  empregar sen ese código, xa que son propias do compoñente e non son de uso xeral ou estándar.

    Denominase Libraría por que conten a “documentación” coa información que lle permita ao microcontrolador ou microprocesador para o que se programa que podan conectarse e manexar ese compoñente.

    Estas libraría deben engadirse ao sistema de programación da plataforma, no caso de Arduino deben incluírse previamente no IDE, para que o código estea dispoñible cando se vai a facer uso del.

Polo xeral almacénanse en arquivos coa extensión DLL (Dinamyc Linked Librarys – Librarías Enlazadas Dinamicamente).

Liña de Comandos, Terminal, Consola: Sistema de control e de ordes mediante comandos de texto, no que apenas se utiliza o rato, posto que  todas as ordes e instrucións se deben teclear (Modo Texto), ao contrario que o Modo Gráfico (ver “GUI”), no que case todas as accións realízanse co rato e case no se fai uso do teclado para enviar ordes ao equipo.

    Recoñécese por dispor dun prompt ou sinalizador de entrada: por exemplo en MS-DOS acostuma a ser ‘c:>’, indicando onde se introducen as ordes, y por ter un aspecto parco sen apenas contido gráfico.
Emprégase moito a nivel de servidores, xa que require menos recursos e non precisa ser “bonito”, có que se reduce o mantemento e os riscos de faios, ao haber menos recursos en funcionamento.

LSB (Linux Standard Base): Establece unha serie de estándares para organizar a estrutura interna dos sistemas operativos derivados de GNU / Linux, de maneira que sexan compatibles a nivel de arquivos.
Entre os cambios que impón este estándar está o de aplicarlle un formato aos arquivos ‘Bash’ para que se podan empregar en diferentes distribucións.

MicroControlador: Podemos dicir que un MicroControlador é un chip especializado deseñado para unha tarefa concreta ou, coma moito, para realizar varias tarefas sinxelas.  Leva integrado no seo do chip todos os compoñentes necesarios para funcionar, de aí que no caso de Arduino haxa modelos, coma o Nano, no que baste coa “cascuda”, o chip (o corpo) coas súas conexión (patas), para ter un sistema Arduino funcionando, xa que se deseñou para controlar as sinais de entrada e saída de cada un dos seus conectores ou pins.  É, polo tanto, unha versión moito máis sinxela, económica e de baixo consumo ca un MicroProcesador, coa limitación da potencia de cálculo, que é no que están especializados este últimos.

MicroProcesador: e o compoñente que se encarga do cálculo e procesamento das instrucións enviadas polos programas e @s usuari@s nos equipos informáticos.
Vai inserido, xunto có resto de compoñentes,  nunha placa denominada placa Base ou Placa Nai (MotherBoard).

  Soe chamárselle o “corazón” do sistema, pero un organismo necesita outros órganos, que son o resto de compoñentes.   Xa que logo, de nada vale ter un corazón potente se logo os pulmóns ou os riles non renden ao mesmo nivel (memoria RAM, Tarxeta Gráfica, etc.).

Monitor Serie: En Arduino é a ventá na que se amosan as mensaxes que envía Arduino.  Débese programar no código e permite seguir a execución do código.  Emprégase para tarefas de análise e probas.

Open Source: Fontes Libres ou Abertas

Pins: Conectores eléctricos estándar de tipo “espiga”.  Terminais estándar eléctricos que permiten conectar calquera dispositivo de ata 12V.

       Ao ser estándar pódese conectar calquera compoñente que dispoña do mesmo tipo de conexión eléctrica.

       Son terminais físicos macho e femia que se conectan a outros terminais directamente ou mediante cables.

       Cada pin ou conector contrólase dende a placa Arduino ou RaspBerry Pi, enviándolle unha sinal de activación (enerxía) ou desactivación (apagado).  Deste xeito contrólase o funcionamento dos diferentes compoñentes conectados.

       Así, pódese controlar o acendido e apagado dunha bombilla LED durante uns períodos establecidos ou cando Arduino detecte que se preme un botón ou un sensor lumínico deixe de recibir luz, orientado axeitadamente cara unha zona na que ao facerse de noite queda a escuras sen ningunha fonte lumínica: o sol ou calquera outra fonte de luz.

       Todos estes compoñentes (LED, pulsador, sensor, etc…) conéctanse a Arduino a través dos seus pins, mediante os que se comunicarán.

       É un sistema tan sinxelo que nin sequera require un conector específico, basta con un simple cable eléctrico para conectalos.  E que é o que provocou o tremendo éxito desta plataforma.

Pins Analóxicos e Pins Dixitais:
En Arduino os pins analóxicos admiten de 0 a 1023 valores, 10 bits, e identifícanse no código por levar un ‘A’ diante do número do pin (p.e., “A2”).
Son 4 veces máis precisos que os pins PWM dixitais, os cales teñen un rango de valores de 0 a 255 (8 bits ou 1 byte).

Pistas (circuítos electrónicos): Ver a definición de “Buses”.

Placa de Probas ou ProtoTipos: Ver ProtoBoard.

Plan de Traballo (WorkSheet): Documento que contén a información necesaria para realizar un proxecto:  Material a empregar, esquemas dos circuítos, do código, explicación de cada fase do proxecto, tempo e recursos estimados, incidencias e propostas de alternativas ou de mellora.

Ponte Hache: Establece a dirección na que entra e sae (E/S) a corrente para que o motor xire nun sentido ou noutro, é dicir, “pontea” a sinal inverténdoa.

Portos: É a referencia a nivel lóxico (de programación) dos pins ou terminais físicos.  En programación denomínanse portos, xa que é por onde arriban e parten os datos en cada pin.

Porto Analóxico e Dixital: Un Porto Analóxico funciona cunha sinal analóxica, que é unha sinal continua, tamén chamada indiscreta, que dentro dun rango de valores pode tomar calquera de eses valores en calquera parte da onda.

            Pola súa banda, unha sinal dixital é unha onda discreta, xa que so admite uns valores concretos, 0 e 1 – o código binario -, que son os que procesan os dispositivos dixitais.

            En Arduino unha onda analóxica pode ter 1024 valores (0 a 1023), namentres que unha sinal dixital so posúe 256 (0 – 255), unha ¼ parte, polo que é moito menos preciso.  Estes valores coinciden con 2⁸ (256) y 2¹⁰ (1024) bits.

Prompt: Ver “Liña de Comandos”.

ProtoBoard / BreadBoard: Tamén chamadas Placas de Proba ou de ProtoTipos, son placas cunha matriz de conectores distribuídos en ringleiras que permite interconectar diferentes compoñentes e crear varios circuítos empregando unha soa placa.
Deste xeito pódese conectar un chip Arduino no centro da placa e logo ao lado de cada pin do chip será posible conectar mediante cables outros dispositivos colocándoos nas conexións a altura de cada pin do chip.

PWM – Porto de Pulso Modulado
Os portos PWM (Porto de Pulso Modulado) son portos dixitais que permiten variar a potencia da enerxía subministrada a un porto dende 0 (sen enerxía) a 255 (enerxía máxima), que como se pode observar corresponde aos valores de 8 bits (1 Byte).
É unha solución que permite simular unha (falsa) saída analóxica sobre un pin dixital.

Racor: Peza que se fixa nun elemento para evitar que este se mova.
Polo xeral, va inserido nun tubo que contén outra peza no seu interior para que esta non saia do seu interior.
É o caso dos extrusores das impresoras 3D, nos que os condutos que levan o filamento ata a boquilla van revestidos cun tubo interior de teflón.  Para evitar que este se mova e saia fora do conduto, pónselle un racor para que non se desprace, pero sen quedar completamente fixo.

RAM (Random Access Memory): Memoria de execución. É onde se executan (corren) os programas e o Sistema Operativo (SO). Non é unha memoria de almacenamento, coma un disco duro, xa que cando se desconecta a enerxía, os datos pérdense, tendo que volver a cargalos na seguinte vez que se acenda o equipo. É unha memoria moi rápida (xa que debe gardar e entregar os datos directamente ao procesador ou CPU).
Nembargantes, precisa dunha memoria auxiliar aínda máis rápida: a memoria Caché.  É unha memoria moi pequena comparada coa RAM, pero de maior velocidade, que permite que a RAM non quede baleira, non quede “seca”, provocando faios de procesamento, os coñecidos, e temidos, bloqueos do sistema.

RaspBerry Pi: Ordenador de tamaño micro, aproximadamente do tamaño dunha billeteira, de baixo custe integrado nunha placa creado pola RaspBerry Fundation e orientado a ensinanza e de uso libre, aínda que de licencia propietaria.
Web: https://www.raspberrypi.org/

ROM (Read Only Memory): Memoria de só lectura. É unha memoria de moi pouca capacidade, cuxa función é a de executar funcións básicas de comprobación do hardware cada vez que se arrinca o sistema.

Sistema Operativo (SO): É o programa principal ou programa base que se encarga do funcionamento do equipo no que se instala: Instalar / desinstalar aplicacións, executalas, control do sistema, executar as ordes d@ usuari@ e amosarlle avisos e mensaxes.

   Cada sistema informático ten unha arquitectura concreta.  Por esta razón non se instala o mesmo SO un ordenador GNU / Linux, Macintosh ou Windows, ou en un dispositivo móbil Android ou Apple, xa que funcionan de maneira diferente (aínda que fan case o mesmo).

   Os Sistemas Operativos controlan o funcionamento dos diferentes compoñentes do sistema, a execución dos programas e as orde d@s usuari@s.

   Unha descrición moi gráfica do que é un Sistema Operativo é que ven a ser a diferencia entre un ordenador e unha caixa de cables e chips.

Shield: Ver “Cartóns de Expansión”.

Sketch: Código que se envía a Arduino para que o execute.  É o programa que cargamos en Arduino e que controla o funcionamento del robot.

Soft Hacking: Xackeo a nivel teórico, realízanse os deseños, esquemas e se desenvolven posibles solucións a casos prácticos.

            Queda a parte práctica, o Hard Hacking, na que os deseños e indicacións realizados na parte teórica, o Soft Hacking, lévanse á práctica creando os ProtoTipos, maquetas e circuítos de proba.

Terminal: Ver “Liña de Comandos”.

Triángulo de Ohm (Leis da Electricidade)

WorkSheet (Folla de Traballo):  Documento no que se elabora un cronograma e se fai unha estimación do tempo, recursos, materiais, custes, etc… precisos para a realización dun proxecto.