manual programacion arduino - manual+programacion+arduino
Post on 05-Jul-2018
387 Views
Preview:
TRANSCRIPT
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
1/71
La “ inteligencia de Arduino” se expresa mediante su
lenguaje de programación
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
2/71
Datos del documento original
Arduino Notebook: A Beginner’s Reference Written
and compiled by Brian W. Evans
With information or inspiration taken from:http://www.arduino.cchttp://www.wiring.org.cohttp://www.arduino.cc/en/Booklet/HomePagehttp://cslibrary.stanford.edu/101/
Including material written by:Massimo BanziHernando BarraginDavid Cuartielles
Tom IgoeTodd Kurt
David Mellisand others
Published:First Edition August 2007
This work is licensed under the Creative CommonsAttribution-Noncommercial-Share Alike 3.0 License.
To view a copy of this license, visit:
http://creativecommons.org/licenses/by-nc-/
Or send a letter to:
Creative Commons171 Second Street, Suite 300San Francisco, California, 94105, USA
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
3/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
4/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
5/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
6/71
// configura el 'pin' como salida
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
7/71
// pone en uno (on, 5v) el ´pin´ // espera un segundo (1000 ms) // pone en cero (off, 0v.) el ´pin´
// crea una variable temporal 'v' // lee el valor del potenciómetro // convierte 0-1023 a 0-255
// devuelve el valor final
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
8/71
// declara la variable 'x' como tipo entero de valor 13
/* esto es un bloque de comentariono se debe olvidar cerrar los comentarios
estos deben estar equilibrados*/
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
9/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
10/71
// pregunta si la variable es menor de 100
;// si es cierto asigna el valor 100 a esta
// usa el valor como retardo
palabra reservada
entradaVariable“ int” ,
setup()
variable global
setup()
variable local
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
11/71
// 'value' es visible para cualquier función
// no es necesario configurar
// 'i ' solo es visible // dentro del bucle for
// 'f' es visible solo // dentro del bucle
// declara 'unaVariable' como tipo byte
// declara 'unaVariable' como una variablede tipo entero
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
12/71
// declara 'unaVariable' como tipo long
; // declara 'unaVariable' como tipo flotante
// declara un array de enteros de 6 posiciones // asigna l valor 10 a la posición 4
// x ahora es igual a 10 que está en la posición 3
del array
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
13/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
14/71
(int) myFloat
// igual que x = x + 1, o incrementar x en + 1 // igual que x = x - 1, o decrementar x en -1 // igual que x = x + y, o incrementra x en +y // igual que x = x - y, o decrementar x en -y // igual que x = x * y, o multiplicar x por y // igual que x = x / y, o dividir x por y
if
// x es igual a y // x no es igual a y
// x es menor que y // x es mayor que y
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
15/71
// x es menor o igual que y // x es mayor o igual que y
// cierto sólo si las dos expresiones son ciertas
// cierto si una cualquiera de las expresioneses cierta
// cierto solo si la expresión es falsa
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
16/71
pinMode
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
17/71
idea “ si esto no secumple haz esto otro” .
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
18/71
inicialización condición
// declara i, prueba que es menor que20, incrementa i en 1
// envía un 1 al pin 13 // espera ¼ seg. // envía un 0 al pin 13 // espera ¼ de seg.
variable de prueba
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
19/71
// testea si es menor que 200
ejecuta las instrucciones entre llaves // incrementa la variable en 1
leeSensor()
setup ()
// configura ‘pin’ como salida
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
20/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
21/71
// asigna a LED el valor 13 // asigna a botón el valor 7 // define el valor y le asigna el valor 0
// configura el led (pin13) como salida // configura botón (pin7) como entrada
//lee el estado de la entrada botón // envía a la salida ́ led´el valor leído
resoluciónde 10 bits
// asigna a valor lo que lee en la entrada ́ pin'
“ pin PWM”
// escribe 'valor' en el 'pin' definido comoanalógico
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
22/71
analogWriteanalogWrite
// define el pin 10 como ́ led´ // define el pin 0 como ́ analoǵ // define la variable ́ valor´
// no es necesario configurar entradas y salidas
// lee el pin 0 y lo asocia a lavariable valor
; / /divide valor entre 4 y lo reasigna a valor // escribe en el pin10 valor
// espera 1 segundo
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
23/71
// valor recoge el número de mil isegundos
// asigna a valor el más pequeños de los dos númerosespecificados.
asigna a valor el mayor de los dos números 'valor' y100.
random().
hace que valor sea la semilla del random
randomSeed
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
24/71
// asigna a la variable 'valor' un numero aleatoriocomprendido entre 100-200
// variable que almacena el valor aleatorio // define led como 10
// no es necesario configurar nada
// genera una semilla para aleatorio a partirde la función millis() // genera número aleatorio entre 0-255 // envía a la salida led de tipo PWM el valor // espera 0,5 seg.
// abre el Puerto serie
// configurando la velocidad en 9600 bps
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
25/71
// envía el valor 'analogValue' al puerto
// configura el puerto serie a 9600bps
// envía valor analógico // espera 1 segundo
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
26/71
Vuelca o envía el valor de b como un número decimal en caracteres ASCII. Equivaldríaa printInteger().
prints the string "79".
Vuelca o envía el valor de b como un número decimal en caracteres ASCII.
Equivaldría a printInteger().
prints the string "79".
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
27/71
Vuelca o envía el valor de b como un número hexdecimal en caracteres ASCII.Equivaldría a printHex();
prints the string "4F".
Vuelca o envía el valor de b como un número Octal en caracteres ASCII. Equivaldría aprintOctal();
// prints the string "117".
Vuelca o envía el valor de b como un número binario en caracteres ASCII. Equivaldríaa printBinary();
// prints the string "1001111".
Vuelca o envía el valor de b como un byte. Equivaldría a printByte();
Devuelve el caracter "O", el cual representa elcaracter ASCII del valor 79. (Ver tabla ASCII ).
// vuelca "Hello World!" .
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
28/71
// almacena el dato serie
abre el puerto serie, y le asigna la velocidad de 9600bps
// envía datos sólo si los recibe:
// lee el byte de entrada:
//lo vuelca a pantalla
// almacenar el dato serie
// abre el puerto serie,y le asigna la velocidad de 9600
bps
// envía datos sólo si los recibe:
// lee el byte de entrada:
//lo vuelca a pantalla
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
29/71
// LED en el pin digital 13
// configura el pin de salida
// configura el pin 13 comosalida
// inicia el bucle del programa
// activa el LED // espera 1 segundo
// desactiva el LED
// espera 1 segundo
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
30/71
// pin 13 asignado para el LED de salida // pin 2 asignado para el pulsador
// Configura entradas y salidas
// declara LED como salida // declara pulsador como entrada
// testea si la entrada esta activa HIGH
// enciende el LED // espera 1 segundo
// apaga el LED
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
31/71
// pin de salida para el MOSFET
// pin5 como salida
// repetir bucle 5 veces
activa el MOSFET // espera 1/4 segundo
// desactiva el MOSFET // espera 1/4 segundo
// espera 1 segundo
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
32/71
// pin PWM para el LED
// no es necesario configurar nada
el valor de i asciende
// se escribe el valor de I en el PIN de salida del LED // pauses for 100ms
// el valor de I desciendei
// se escribe el valor de ii // pasusa durante 100ms
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
33/71
// pin entrada para potenciómetro // pin de salida para el LED
// declara ledPin como SALIDA
// pone ledPin en on // detiene la ejecución un tiempo “ potPin” // pone ledPin en off
// detiene la ejecución un tiempo potPin”
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
34/71
// Salida analógica PWM para conectar a LEDresistencia variable conectada a la entrada analógica pin 0
// no es necesario configurar entradas y salidas
// incremento de valor de i
configura el nivel brillo con el valor de iespera un tiempo
decrementa el valor de i
configura el nivel de bri llo con el valor de iespera un tiempo
// Método para recoger el tiempo de retardo
crea una variable temporal (local // lee valor analógico
// convierte el valor leído de 0-1024 a 0-128 // devuelve el valor v
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
35/71
// servo conectado al pin digital 2 // ángulo del servo de 0-180
// anchura del pulso para la función servoPulse
// configura pin 2 como salida
// determina retardo // activa el servo
// pausa // desactiva el servo
// retardo de refresco
// el servo inicia su recorrido en 10º y gira hasta 170º
// el servo vuelve desde 170º hasta 10º
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
36/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
37/71
dot() dash()
ledPinpinMode ()
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
38/71
Morse.h - Library for flashing Morse code.Created by David A. Mellis, November 2, 2007.Released into the public domain.
* /
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
39/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
40/71
/*Morse.cpp - Library for flashing Morse code.Created by David A. Mellis, November 2, 2007.Released into the public domain.
* /
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
41/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
42/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
43/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
44/71
// pin digital 10
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
45/71
// pin en modo salida
// asigna el valor HIGH al pin // espera medio segundo
// asigna el valor LOW al pin // espera medio segundo
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
46/71
/*Con el siguiente código y con sólo realizar modificaciones en los intervalos detiempo que el pin seleccionado tenga valor HIGH o LOW, a través de la función
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
47/71
digitalWrite (), generamos la señal PWM a una determinada frecuencia desalida=261Hz* /
// pin digital 10
// valor que determina el tiempo que el pulso va a estar en on/off
// pin digital en modo salida
); // espera el valor de PW // asigna el valor LOW al pin
// espera el valor de PW // asigna el valor HIGH al pin
// máximo volume es 1000 ¿?
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
48/71
// decimal en ASCII // hexadecimal en ASCII // octal en ASCII
// binario en ASCII // un Byte
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
49/71
65 ---DEC---- (“6″ y “5″ ACIIs 54–55) 000110110–000110111
65 ---HEX---- (“4″ Y “1″ ACIIs 52–49) 000110100–000110001
65 ---OCT---- (“1″, “0″ y “1″ ACIIs 49–48–49) 000110001–
000110000–000110001
65 ---BIN---- (“0″,”1″,”0″,”0″,”0″,”0″,”0″y”1″ ACIIs 49–48–
49–49–49–49–49–48) 000110000-…
65 ---BYTE--- 01000001
//activamos el pin para saber cuandoarranco
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
50/71
// lee el valor del Pot
activamos
// lee el Pot y lo divide entre 4 para quedar entre 0-255
;// Variable para el puerto serial // valor entrante
// lista los puertos seriales disponibles //abre el primero de esa lista con velocidad 9600
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
51/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
52/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
53/71
/* Lectura de una entrada analógica en el PC
El programa lee una entrada analógica, la divide por 4para convertirla en un rango entre 0 y 255, y envía el valor al PC endiferentes formatos ASCCI.A0/PC5: potenciómetro conectado al pin analógico 1 y puerto de PC-5Created by Tom Igoe 6 Oct. 2005Updated* /
// captura la entrada analógica, la divide por 4 para hacer el rango de 0-255
// texto de cabecera para separar cada lectura:
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
54/71
// obtenemos un valor codificado en ASCII (1 Byte) en formato decimal :
//Carácter espacio // obtenemos un valor codificado en ASCII (1 Byte) en formato hexadecimal :
// obtenemos un valor codificado en ASCII (1 Byte) en formato binario
// obtenemos un valor codificado en ASCII (1 Byte)en formato octal:
//caracter salto de linea y retorno de carro
// espera 10ms para la próxima lectura
// variable para capturar el valor del sensor analógico
// define la velocidad de transferencia a 9600 bps (baudios)
//fórmula de transformación
//captura del valor de sensor analógico (0-1023)
//volcado al puerto serie de 8-bits
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
55/71
//caracter de retorno de carro
//caracter de salto de línea
// Serial Output // by BARRAGAN
// interruptor conectado al pin 0
// // inicia el puerto serie a 9600bps
//si el interruptor esta en ON
// envía 1 a Processing
// en caso contrario envía 0 a Processing
// espera 100ms
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
56/71
// variable que recibe el dato del puerto serie // LED conectado al pin 13
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
57/71
// pin 13 (LED)actua como SALIDA // inicia la comunicación con el puerto serie a 9600bps
// si hay dato e el puerto lo lee
// lee y almacena el dato en 'val'
//su el dato recibido es ́ H´
//activa el LED
// en caso contrario lo desactiva
// espera 100ms para una nueva lectura
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
58/71
“ toma y dame”
// valores de los sensores analógicos
// valor entrante de Processing
sólo si algo ha llegado // lo lee
// hace la lectura de los sensores en pines 3,4y5 (análogos)
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
59/71
// y los envía
// arreglo para recibir los tres datos // contador // posición de un objeto 3D
// control de verdad
// puertos serie disponibles
// Configuración del puerto // Envía el primer dato para iniciar el toma y dame
//si no hay datos envía uno
// esta función corre cada vez que llega un dato serial
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
60/71
// de ahora en adelante el dato de envío se dará por el toma y
dame
// Lee el dato y lo añade al arreglo en su última casil la
Si ya hay tres datos en el arreglo
// y envía para pedir más
// y todo empieza de nuevo
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
61/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
62/71
//captura del valor de sensor analógico (0-1023) //volcado al puerto serie 8-bits
;// fórmula de transformación
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
63/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
64/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
65/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
66/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
67/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
68/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
69/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
70/71
-
8/15/2019 Manual Programacion Arduino - Manual+Programacion+Arduino
71/71
top related