Concepto de Programacion
Concepto de Programacion
Concepto de Programacion
Tienen inicio y fin: todo algoritmo comienza en un estado inicial con una
serie de datos específicos, y culmina con una solución o salida.
Funcionan en secuencia: un algoritmo está compuesto por una serie de
pasos ordenados.
Las secuencias son concretas: cada paso es claro y no deja lugar a la
ambigüedad.
Los algoritmos son abstractos: son modelos o guías para ordenar procesos.
La cantidad de pasos de un algoritmo es finita.
En programación, supone el paso previo a ponerse a escribir el código. Primero
debemos encontrar la solución al problema , para luego, a través del código, poder
indicarle a la máquina qué acciones queremos que lleve a cabo. De este modo, un
programa informático no sería más que un conjunto de algoritmos ordenados y
codificados en un lenguaje de programación para poder ser ejecutados en un
ordenador.
No obstante, los algoritmos no son algo exclusivo de los ámbitos de las
matemáticas, la lógica y la computación. Utilizamos numerosos algoritmos para
resolver problemas en nuestra vida cotidiana. Algunos de los ejemplos más
habituales son los manuales de instrucciones o las recetas de cocina.
PROGRAMACION EN ARDUINO
La programación de Arduino es la programación de un microcontrolador. Esto era
algo más de los ingenieros electrónicos, pero Arduino lo ha extendido a todo el
público. Arduino ha socializado la tecnología.
Programar Arduino consiste en traducir a líneas de código las tareas
automatizadas que queremos hacer leyendo de los sensores y en función de las
condiciones del entorno programar la interacción con el mundo exterior mediante
unos actuadores.
Arduino proporciona un entorno de programación sencillo y potente para
programar, pero además incluye las herramientas necesarias para compilar el
programa y “quemar” el programa ya compilado en la memoria flash del
microcontrolador. Además, el IDE nos ofrece un sistema de gestión de librerías y
placas muy práctico. Como IDE es un software sencillo que carece de funciones
avanzadas típicas de otros IDE, pero suficiente para programar.
Estructura de un sketch en Arduino.
Loop(): Después de crear una función setup(), que inicializa y establece los
valores iniciales, la función loop() hace precisamente lo que sugiere su
nombre y se repite consecutivamente, lo que permite que su programa
cambie y responda. Se usa para controlar activamente la placa Arduino.
digitalRead ()
E / S digital digitalWrite ()
pinMode ()
E / S analógicas analogRead ()
analogReference ()
analogWrite ()
Familia Zero, Due y MKR analogReadResolution ()
analogWriteResolution ()
E / S avanzada noTone ()
pulseIn ()
pulseInLong ()
shiftIn ()
shiftOut ()
tono ()
Tiempo delay ()
delayMicroseconds ()
micros ()
milis ()
Matemáticas abs ()
restringir ()
mapa ()
max ()
min ()
pow ()
sq ()
sqrt ()
Bits y Bytes bit ()
bitClear ()
bitRead ()
bitSet ()
bitWrite ()
highByte ()
lowByte ()
Comunicación serie
corriente
Variables.
Tipos de datos y constantes de Arduino.
Constantes ALTA | BAJA
ENTRADA | SALIDA |
INPUT_PULLUP
LED_BUILTIN
verdadero | Constantes de
coma flotante falsas
Constantes
enteras
Conversión byte ()
char ()
float ()
int ()
long ()
word ()
Tipos de datos array
bool byte
String ()
unsigned char
unsigned int
unsigned long
void
word
Estructura.
Los elementos del código Arduino (C ++).
Estructura de control break
continue
do ... while
else
for
goto
if
return
switch ... case
while
Sintaxis adicional #define (define)
#include (include)
/ * * / (comentario de bloque)
// (comentario de una sola línea)
; (punto y coma)
{} (llaves)
Operadores de comparación ! = (no igual a)
<(menor que)
<= (menor o igual que)
== (igual a)
(mayor que)
> = (mayor o igual que)
Operadores bit a bit & (bit a bit y)
<< (desplazamiento de bits a la
izquierda)
>> (desplazamiento de bits a la
derecha)
^ (xor bit a bit)
| (bit a bit o)
~ (bit a bit no)
Operadores compuestos % = (resto compuesto)
& = (compuesto bit a bit y)
* = (multiplicación compuesta)
++ (incremento)
+ = (suma compuesta)
- (disminución)
- = (resta compuesta)
/ = (división compuesta)
Cuando compilamos y cargamos el programa en Arduino esto es lo que ocurre:
Además todo esto no solo es válido para las placas Arduino, sino para muchas
otras placas y microcontroladores que usando el mismo lenguaje de programación
tenemos soporte para compilarlo y transferir el código binario a la memoria flash
del microcontrolador.
Un ejemplo de uso de funciones AVR que no dispone el entorno de Arduino es
cuando queremos hacer delays muy pequeños. La función delayMircoseconds()
puede hacer el delay más pequeño con el lenguaje de Arduino que es de 2
microsegundos.
Para delays menores es necesario usar ensamblador y en concreto la función
‘nop’ (no operation. Cada llamada a ‘nop’ ejecuta un ciclo de reloj que para 16
MHz es un retraso de 62,5 ns.
Los registros son unas zonas concretas de la memoria RAM accesibles directamente
desde la CPU o desde otros elementos del microcontrolador que permite hacer
operaciones directas.
Librerías.
Las librerías son trozos de código hechos por terceros que usamos en nuestro
sketch. Esto nos facilita mucho la programación y hace que nuestro programa sea
más sencillo de hacer y de entender. En este curso no veremos como hacer o
modificar una librería pero en este curso debemos ser capaces de buscar una
librería, instalarla, aprender a usar cualquier librería y usarla en un sketch.
Las librerías normalmente incluyen los siguientes archivos comprimidos en un
archivo ZIP o dentro de un directorio. Estas siempre contienen:
Un archivo .cpp (código de C++)
Un archivo .h o encabezado de C, que contiene las propiedades y métodos
o funciones de la librería.
Un archivo Keywords.txt, que contiene las palabras clave que se resaltan
en el IDE (opcional).
Muy posiblemente la librería incluye un archivo readme con información
adicional de lo que hace y con instrucciones de como usarla.
Directorio denominado examples con varios sketchs de ejemplo que nos
ayudará a entender cómo usar la librería (opcional).
La instalación de librerías se puede hacer directamente desde el gestor de
librerías o manualmente.
Además de estas librerías “oficiales” que podemos obtener desde el gestor de
librerías y las publicadas en el playground de Arduino, existen muchos desarrollos
disponibles en Internet y los propios fabricantes de componentes HW publican las
librerías para poder usarlo o incluso la propia comunidad de usuarios.