ARDUINO
ARDUINO
ARDUINO
INTEGRANTES:
Mejía Quispe, Jonny Diego 17200236
Puma Espinoza, Luis 17200331
Martel Huertas, Yosimar Antonio 17200043
INTRODUCCIÓN
Arduino es una plataforma de electrónica abierta (open Hardware) para la creación de
prototipos basada en software y hardware flexibles y fáciles de usar. Arduino puede
tomar información del entorno a través de sus pines de entrada de toda una gama de
sensores y puede afectar aquello que le rodea controlando luces, motores y otros
actuadores.
El microcontrolador en la placa Arduino se programa mediante el lenguaje de
programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado
en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad
de conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con
diferentes tipos de software. Las placas pueden ser hechas a mano o compradas las
cuales fueron hechas en una fábrica; el software puede ser descargado de forma
gratuita. Los ficheros de diseño de referencia (CAD) están disponibles bajo una
licencia abierta, así pues, eres libre de adaptarlos a tus necesidades.
CARACTERÍTICAS
Microcontrolador: ATmega2560 Corriente DC por cada Pin
Voltaje Operativo: 5V Entrada/Salida: 40 mA
Voltaje de Entrada: 7-12V Corriente DC entregada en el Pin
Voltaje de Entrada(límites): 20V 3.3V: 50 mA
Pines digitales de Memoria Flash: 256 KB (8KB
Entrada/Salida: 54 (de los cuales usados por el bootloader)
15 proveen salida PWM) SRAM: 8KB
Pines análogos de entrada: 16 EEPROM: 4KB
Clock Speed: 16 MHz
FUNCIONES
Una función es un bloque de código que tiene un nombre y un conjunto de estamentos que son
ejecutados cuando se llama a la función. Son funciones setup() y loop() de las que ya se ha
hablado.
PinMode (pin, mode) Esta instrucción es utilizada en la parte de configuración setup () y sirve
para configurar el modo de trabajo de un PIN pudiendo ser INPUT (entrada) u OUTPUT
(salida).
pinMode(pin, OUTPUT); // configura ‘pin’ como salida
DigitalRead(pin) Lee el valor de un pin (definido como digital) dando un resultado HIGH
(alto) o LOW (bajo). El pin se puede especificar ya sea como una variable o una constante (0-
13).
valor = digitalRead(Pin); // hace que 'valor sea igual al estado leído en ´Pin´
DigitalWrite(pin, value) Envía al ´pin´ definido previamente como OUTPUT el valor HIGH o
LOW (poniendo en 1 o 0 la salida). El pin se puede especificar ya sea como una variable o
como una constante (0-13).
digitalWrite(pin, HIGH); // deposita en el 'pin' un valor HIGH (alto o 1)
AnalogRead(pin) Lee el valor de un determinado pin definido como entrada analógica con una
resolución de 10 bits. Esta instrucción sólo funciona en los pines (0-5). El rango de valor que
podemos leer oscila de 0 a 1023.
valor = analogRead(pin); // asigna a valor lo que lee en la entrada ´pin'
AnalogWrite(pin, value) Esta instrucción sirve para escribir un pseudo-valor analógico
utilizando el procedimiento de modulación por ancho de pulso (PWM) a uno de los pin´s de
Arduino marcados como “pin PWM”. El valor que se puede enviar a estos pines de salida
analógica puede darse en forma de variable o constante, pero siempre con un margen de 0-255.
analogWrite(pin, valor); // escribe 'valor' en el 'pin' definido como analógico
Si enviamos el valor 0 genera una salida de 0 voltios en el pin especificado; un valor de 255
genera una salida de 5 voltios de salida en el pin especificado. Para valores de entre 0 y 255, el
pin saca tensiones entre 0 y 5 voltios
Delay(ms) Detiene la ejecución del programa la cantidad de tiempo en ms que se indica en la
propia instrucción. De tal manera que 1000 equivale a 1seg.
delay(1000); // espera 1 segundo
millis() Devuelve el número de milisegundos transcurrido desde el inicio del programa en
Arduino hasta el momento actual.
valor = millis(); // valor recoge el número de milisegundos
RandomSeed(seed) Establece un valor, o semilla, como punto de partida para la función
random().
randomSeed(valor); // hace que valor sea la semilla del random
Debido a que Arduino es incapaz de crear un verdadero número aleatorio.
Random(max) random(min, max) La función random devuelve un número aleatorio entero de
un intervalo de valores especificado entre los valores min y max.
valor = random(100, 200); // asigna a la variable 'valor' un numero comprendido entre 100-
200
Serial.begin(rate) Abre el puerto serie y fija la velocidad en baudios para la transmisión de
datos en serie. El valor típico de velocidad para comunicarse con el ordenador es 9600, aunque
otras velocidades pueden ser soportadas.
void setup()
{Serial.begin(9600); // abre el Puerto serie
} // configurando la velocidad en 9600 bps
Serial.println(data) Imprime los datos en el puerto serie, seguido por un retorno de carro
automático y salto de línea. Este comando toma la misma forma que Serial.print (), pero es más
fácil para la lectura de los datos en el Monitor Serie del software.
Serial.println(analogValue); // envía el valor 'analogValue' al puerto
Serial.print(data, data type) Vuelca o envía un número o una cadena de carateres, al puerto
serie. Dicho comando puede tomar diferentes formas, dependiendo de los parámetros que
utilicemos para definir el formato de volcado de los números.
Digital (7): Son los pines
digitales (del 0 al 13). Se
COMPONENTES AREF (9): Soportes de utilizan tanto para la entrada
referencia analógica. A digital como para salida
Botón de reinicio (10): Presionando el veces se utiliza para digital.
botón, conectará el pin de reset a tierra establecer una tensión de
temporalmente y reiniciará el código que referencia externa (entre
se carga en el Arduino. 0 y 5 voltios) como el PWM (8): Los pines
límite superior para los digitales 3,5,6,9,10 y 11
Potencia – USB (1) pines de entrada actúan como pines
/Conector de Adaptador analógica. digitales normales, pero
(2): La placa necesita ser también se usan para
alimentado Modulación por ancho de
eléctricamente. Puede ser pulsos.
alimentado desde un
cable USB que viene de
su ordenador o un cable Indicador LED de
de corriente eléctrica con alimentación (11): Cuando se
su adaptador. El cable enciende es un indicador de
USB sirve también para que el Arduino está conectado
cargar código en la placa. a una toma eléctrica, si no lo
hace, algo anda mal.
EJEMPLO
SEMÁFORO SIMPLE