Вы находитесь на странице: 1из 10

PROGRAMANDO CON ARDUINO CODIGO STANDART DE C Pautas y recomendaciones para programar cualquier tipo de lenguaje basado en c NOMBRES que

encajen con su funcin Es recomendable usar nombres apropiados que representen lo que va hacer dentro del programa. Se suele usar nombres compuestos para hacer el cdigo ms legible Por ejemplo: DetectorInteriores es ms fcil que DETECTORINTERIORES

LLAVES Las llaves se usan para delimitar las sentencias dentro de un bloque de control de flujo, como el que sigue. if (condicin){ //sentencias } O tambin se puede usar if (condicin) { //sentencias } TABULACIONES Y SANGA Usa las sangras para mostrar una estructura lgica del programa. LONGITUD DE LINEA Mantn la configuracin de lnea en 78 caracteres para que sean compatibles con monitores e impresoras FORMATO ELSE IF Usa el formato else if para cubrir mas condiciones if(condicin1) //sentencias

} elseif(condicin2){ //sentencias2, si no se da condicin1 y si se da condicin2 } else //sentencias3 si no se dan condicin1 ni condicion2

FORMATO DE CONDICIONES Cuando el compilador lo permita pon el valor de la constante a la izquierda de la comparacin de igualdad/ desigualdad. Si una igualdad es omitida el compilador te dar errores If(6== ErrorNum) INICIALIZA TODAS LAS VARIABLES Inicializa todas las variables a un valor conocido. Para evitar que se hagan flotantes o aleatorias

COMENTARIOS Los comentarios son la otra parte de la historia que estas escribiendo. Sirven para recordar dentro de un tiempo como funciona el programa que lo has escrito. Usa comentarios para marcar areas de cdigo que se terminarn despus, errores depurados o fururas mejoras

(aqu ya podemos exponer un programa blink)

PRIMEROS PASOS En este capitulo exponemos aspectos fundamentales bsicos de la programacin en C

ESTRUCTURA DE UN PROGRAMA DIRECTIVA DE PREPROCESADOR Directiva de preprocesador es un comando de Preprocesador de C (la cual es invocada en el primer paso de compilacin del programa) las dos ms importantes directivas de preprocesador son #define directiva, el cual sustituye texto por un identificador especifico y #include directiva, el cual incluye texto de un archivo externo dentro de un programa. DECLARACIN Una declaracin establece nombres y atributos de variables, funciones y tipos usados en los programas. Las variables globales se declaran al principio del programa y las variables locales se declaran dentro de la funcin en la que se usan DEFINICIN Una definicin establece el contenido de una variable o funcin. Una definicin asigna el espacio necesario para las variables y funciones EXPRESIN Una expresin es una combinacin de operadores y operandos a las que asigna un valor simple SENTENCIA Sentencias controlan el flujo u orden de ejecucin del programa FUNCION Es una coleccin de declaraciones, definiciones, expresiones y sentencias que lleva a cabo una tarea especifica. Las funciones vienen encerradas entre llaves. Las funciones no pueden ser anidadas. FUNCIN MAIN

Todos los programas contienen la funcin main, donde se ejecuta el programa, las llaves que encierran la funcin main son los que delimitan donde empieza y termina el programa. COMPONENTES DE UN PROGRAMA DE C Todos los programas contienen componentes esenciales como funciones y sentencias. Sentencias son partes del programa que desempean operaciones actualizadas. Todos los programas de c contienen una o mas funciones. Funciones son subrutinas cada una de las cuales contienen sentencias y pueden ser llamadas por otras partes del programa. Cuando escribimos un programa sangras, lneas en blanco y comentarios hacen ms comprensibles los programas. No solo para que el autor lo comprenda pasado un tiempo, si no para que pueda ser entendible por los dems

En programacin en el entorno de Arduino existe una estructura claramente diferenciada dentro de cada programa. Esta estructura divide a cada programa en dos mtodos, que veremos a continuacin, void setup y void loop. Antes del void setup se pueden definir constantes y/o variables que utilizaremos ms adelante Las dos barras // sirven para insertar lneas comentarios dentro del programa. Vamos a intentar realizar un programa bsico que sea encender y apagar un led para ello creamos un pseudocdigo:

//Aqu podemos definir variables y constantes Void setup(){ //definimos los pines como entradas } Void main(){ //apagamos y encendemos el led mediante funciones } o salidas

VOID SETUP.

En esta parte de la estructura, el cdigo que se inserte aqu solo ser ejecutado una vez al inicializar el programa. Sirve para inicializar variables, configurar los pines como entrada o salida, llamar a libreras

1.1

VOID LOOP. El void loop es la parte del sketch que como su nombre indica es un bucle infinito , lo utilizamos para escribir el cuerpo del sketch: sentencias, bloques,etc

PAUTAS EN CODIGO C Y DOCUMENTACIN Optimizar el cdigo en eficiencia y longitud

Eliminar lneas innecesarias de cdigo El cdigo debe tener el formato correcto Para imprimir cdigo se usa una fuente de ancho fijo como courrier new Usa las sangras para mostrar una estructura lgica del programa Usa una lnea en blanco para secciones de cdigo Usa nombres significativos para variables y nombres Si un apartado del cdigo es demasiado largo para una lnea, divdelo lgicamente en varias lneas Usa comentarios concisos para explicar el cdigo

1.2

FUNCIONES. Una funcin es una parte de programa que puede ser ejecutada tantas veces como queramos dentro del void loop. Para ello tendremos que definirla al principio, antes del void setup. En muchos textos al void main y void loop se les denomina como funciones En el lenguaje de Arduino vienen implementadas algunos tipos de funciones las ms usuales y las que utilizaremos son: pinMode() Funcin empleada para configurar los pines como entradas o salidas pinMode(pin, modo) pin: nmero del pin que queremos configurar modo: INPUT se emplea para configurar los pines como entradas y OUTPUT como salida

DigitalWrite() Escribe en un pin digital un valor Hight o low Digitalwrite(pin,valor) Pin: nmero del pin Valor :HIGH o LOW digitalRead().Permite leer el valor de un pin digital especificado digitalRead (pin) devuelve HIGH O LOW segn corresponda

Milis() Devuelve el tiempo en milisegundos desde que el programa se inici Delay() Hace una pausa en un tiempo determinado expresado en milisegundos delay(ms)

1.4

LLAVES

Las llaves se usan para delimitar las sentencias dentro de un bloque de control de flujo, que verenos mas adelante

1.5

PUNTO Y COMA

El punto y coma se usa comnmente cuando hacemos uso de alguna sentencia, si no hacemos uso del punto y coma a la hora de compilar el programa nos devolver errores debido a mala sintaxis

2.VARIABLES Los distintos bloques de control de flujo, sentencias, etc se relacionan a travs de variables que usa el sketch para su funcionamiento. Podemos definir variables Globales o variables locales, variables que cambian de valor o que siempre tendrn el mismo, en este caso sern denominadas constantes. 3.TIPOS DE DATOS Los principales tipos de datos en C son : Char variable 8 bit entero Int variable 16 bit entero Long int 32 bit entero En ocasiones los tipos de datos pueden ser modificados por unsigned que modifica las variables como sigue Char a// rango entre -1280 127 Unsigned char b// rango entre 0,1,2.255

4.-VALORES En el lenguaje de arduino las variables pueden tomar una serie de valores, segn de qu tipo sean estas variables: (esto va donde se explica las entradas y salidas) HIGH-LOW : Hight se emplea para definir la salida de un pin por Nivel alto y Low por nivel bajo INPUT-OUTPUT: INPUT se emplea para configurar los pines como entradas y OUTPUT como salida 5.ARITMETICA La aritmtica se usa para hacer operaciones entre las distintas variables que pueda tener el programa. Puede ser de cuatro tipos: Suma, resta multiplicacin y divisin.

Hay que prestar atencin con qu tipo de variable estamos operando, por ejemplo, si operamos dos variables de tipo int el resultado ser un int y asi sucesivamente. Tambin puede existir desbordamiento, por ejemplo si al operar estas dos variables nos devuelve un nmero mayor 16bit, es decir, mayor que 32628 5.1 Operadores aritmticos = //Asignacin + //Suma - //Resta * //Multiplicacin / //Divisin 5.2 Operadores Comparativos == //igual a = //no es igual a < //Menor que > //Mayor que <= //Menor o igual que >= //Mayor o igual que 5.3 ASIGNACIONES COMPUESTAS x ++ // igual que x = x + 1, o incrementar x en + 1

x -- // igual que x = x - 1, o decrementar x en -1 x += y // igual que x = x + y, o incrementra x en +y x -= y // igual que x = x - y, o decrementar x en -y x *= y // igual que x = x * y, o multiplicar x por y x /= y // igual que x = x / y, o dividir x por y 5.4 OPERADORES BOOLEANOS DE COMPARATIVOS Este tipo de operacin compara el valor e dos variables, no las opera && //producto lgico || //suma lgica ! //Negacin CONSTANTES 6.CONTROL DE FLUJO if/ if..else: comparadores if (condicin){ //sentencias } if(condicin1) //sentencias } elseif(condicin2){ //sentencias2, si no se da condicin1 y si se da condicin2 } else //sentencias3 si no se dan condicin1 ni condicion2

for: Bucle con contador for(inicializacin;condicin;incremento) { //sentencias }

break: Salida del bloque de cdigo switch case: comparador mltiple switch(variable){ case (valor1): // Sentencias break; case (valor2): //sentencias break; default: //sentencias que se realizan si la variable no toma ningn valor de los anteriores } while/dowhile while (expresin){ //sentencias que se realizan mientras la expresin sea verdadera } do{ //sentencias } while (condicin);

continue: Omite el resto de iteraciones de un bucle (do, for o while)

7.E/S DIGITAL 8.INTERRUPCIONES 8.TIEMPO 9. COMO HACER DEBUG

10. EJEMPLOS

Вам также может понравиться