Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RESISTENCIA
Es un material formado por carbón y otros elementos resistivos para disminuir la corriente que pasa.
Se opone al paso de la corriente. La corriente máxima en un resistor viene condicionado por la
máxima potencia que puede disipar su cuerpo.
Esta potencia se puede identificar visualmente a partir del diámetro sin que sea necesaria otra
indicación. Los valores más comunes son 0,25 W, 0,5 W y 1 W.
POTENCIÓMETRO
Un potenciómetro es un componente electrónico similar a los resistores pero cuyo valor de
resistencia en vez de ser fijo es variable, permitiendo controlar la intensidad de corriente a lo largo
de un circuito conectándolo en paralelo ó la caida de tensión al conectarlo en serie.
PULSADOR
Un pulsador es un operador eléctrico que cuando se oprime permite el paso de la corriente eléctrica
y cuando se deja de oprimir lo interrumpe. Un interruptor es un operador eléctrico cuya función es
abrir o cerrar un circuito de forma permanente.
DIODO
Un diodo es un dispositivo semiconductor que actúa esencialmente como un interruptor
unidireccional para la corriente. Permite que la corriente fluya en una dirección, pero no permite a la
corriente fluir en la dirección opuesta.
2
LED
Un led es un diodo semiconductor que, cuando recibe tensión, genera luz. Un diodo, a su vez, es una
válvula de dos electrodos que permite el paso de la corriente eléctrica en un único sentido.
Un LED (Diodo emisor de luz, también "diodo luminoso") es un diodo semiconductor que emite luz.
Puede decirse que un led es una fuente lumínica. Cuando se le aplica tensión a alguna de sus dos
terminales, la recombinación de sus electrones provoca la liberación de energía en forma de
fotones.
LED RGB
Un LED RGB es un LED que incorpora en su mismo encapsulado tres LEDs, es RGB porque R (red,
rojo), G (green, verde) y B (blue, azul) así se pueden formar miles de colores ajustando de manera
individual cada color.
Los tres LEDs están unidos por el negativo o cátodo.
FOTORESISTENCIA
Es un componente electrónico cuya resistencia disminuye con el aumento de luz incidente. Un
fotorresistor o fotorresistencia es un componente electrónico cuya resistencia se modifica,
(normalmente disminuye) con el aumento de intensidad de luz incidente.
CONDENSADOR
Básicamente un condensador es un dispositivo capaz de almacenar energía en forma de campo
eléctrico. Está formado por dos armaduras metálicas paralelas (generalmente de aluminio)
separadas por un material dieléctrico. con una cierta separación, en cuyo caso se dice que el
dieléctrico es el aire. El condensador está formado por dos placas metálicas separadas por un
elemento dieléctrico. Cuando el condensador se conecta a esa fuente externa de voltaje, circula la
corriente eléctrica por él y una de las placas se carga positivamente y otra negativamente.
3
TRANSISTOR NPN
Un transistor NPN es impulsado (o activado) por corriente positiva polarizada en la base para
controlar el flujo de corriente del Colector al Emisor. Los transistores de tipo PNP están impulsados
por una corriente negativa polarizada en la base para controlar el flujo del Emisor al Colector.
Reed switch
Reed switch (interruptor de lengüeta) es un interruptor eléctrico activado por un campo magnético,
por ejemplo con un imán. Cuando los contactos están normalmente abiertos se cierran en la
presencia de un campo magnético; cuando están normalmente cerrados se abren en presencia de
un campo magnético. Un uso muy extendido se puede encontrar en los sensores de las puertas y
ventanas de las alarmas anti-robo, el imán va unido a la puerta y el reed switch al marco.
Zumbador o buzzer
El zumbador, buzzer en inglés, es un transductor electroacústico que produce un sonido o zumbido
continuo o intermitente de un mismo tono. Sirve como mecanismo de señalización o aviso, y son
utilizados en múltiples sistemas como en automóviles o en electrodomésticos. Inicialmente este
dispositivo estaba basado en un sistema electromecánico que era similar a una campana eléctrica
pero sin el badajo metálico, el cual imitaba el sonido de una campana.
Su construcción consta de dos elementos, un electroimán y una lámina metálica de acero. El
zumbador puede ser conectado a circuitos integrados especiales para así lograr distintos tonos.
Cuando se acciona, la corriente pasa por la bobina del electroimán y produce un campo magnético
variable que hace vibrar la lámina de acero sobre la armadura.
4
5
6
CONDICIONALES
CICLOS
7
FUNCIONES DIGITALES
FUNCIONES ANALÓGICAS
8
9
10
9. OPERACIONES DE COMPARACIÓN
Nota: Suele ser habitual al inicio confundir = (asignación) con == (comparación), hay que prestar
atención para no utilizarlas incorrectamente.
11
12
13
El inicio se ejecuta sólo una vez al principio. En cada pasada se comprueba la condición. Si es cierta,
se ejecutan las instrucciones y la modificación. El bucle termina cuando la condición se vuelve falsa.
14
15
16
La instrucción break se utiliza para salir de forma inmediata de la estructura en la que se encuentre.
Se utiliza habitualmente en las estructuras repetitivas for, while y do-while. También se utiliza para
salir de la estructura switch...case.
La instrucción continue salta el resto de la iteración actual de un bucle for, whileo do-while, pero no
sale de ellos, sino que vuelve a chequear la expresión condicional y procede a una nueva iteración
17
La instrucción return termina la función en el punto en el que se encuentra (el resto no se ejecuta) y
devuelve, si se desea, un valor desde dicha función a la función que la ha llamado.
Hay dos formas válidas, sin devolver nada o devolviendo un valor.
return;
return valor;
18
Las variables locales definidas dentro de una función no conservan sus valores entre llamadas
sucesivas a dicha función.
Si calificamos a dicha variable local como static, adquiere la propiedad de que conserva su valor
entre las sucesivas llamadas a la función.
static tipovarnombrevar=val_ini;
Las variables static sólo se crean y se inicializan la primera vez que se llama a la función en que se
han creado.
19
Si calificamos a una variable con la palabra clave const, la hacemos de sólo lectura, o sea, no
permitimos que el programa pueda cambiar su valor.
Const tipovarnombrevar=valor;
20
21
void setup()
{
pinMode(13,OUTPUT);
}
void loop()
{
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}
22
//------------------------------------
//Declara puertos de entradas y salidas
//------------------------------------
int pulsador=2; //Pin donde se encuentra el pulsador, entrada
int led=13; //Pin donde se encuentra el LED, salida
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(pulsador, INPUT); //Configurar el pulsador como una entrada
pinMode(led,OUTPUT); //Configurar el LED como una salida
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
Leer una entrada digital y mostrar por la pantalla del computador (consola serial) el estado
del pulsador cuando es oprimido
int boton=2; //Pin donde se encuentra el pulsador, entrada
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(boton,INPUT); //Configurar el boton como una entrada
Serial.begin(9600); //Inicia comunicación serial
}
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
int estado = digitalRead(boton);
if (estado==1)
{
Serial.println("Pulsado"); //Imprime en la consola serial
} // "Pulsado"
else
{
Serial.println("NO Pulsado"); //Imprime en la consola serial
} // "NO Pulsado"
delay(100); //Retardo para la visualización de datos en la consola
}
Leer una entrada análoga y mostrar por la pantalla del computador (consola serial) el valor
luego de girar el potenciómetro
Escritura serial
int brillo = 0;
int variacion = 5;
int led = 9;
void setup ()
{
pinMode(led, OUTPUT);
}
void loop ()
{
analogWrite(led, brillo);
brillo = brillo + variacion;
if (brillo == 0 || brillo == 255)
variacion = -variacion;
delay (30);
}
30
Programa que enciende un LED cuando el valor de la entrada análoga comandada por el
potenciómetro esta en cierto valor, cuando este valor cambia el LED se apaga, es un sistema
con control ON/OFF
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable el valor de la lectura análoga de la fotocelda
int foto = analogRead(A0);
//Verifica el valor máximo y realizar una conversión int conversion = 780 - foto;
//Condicional para establecer un valor absoluto
if ( conversion < 0)
conversion = conversion * -1; //Multiplicar por -1 porque es negativo
T9 Contador de pulsos
34
Contador de pulsos
---------------------------------------------
Programa que muestra por pantalla (consola serial) el número de veces que el pulsador ha
sido presionado, se realiza un proceso que de acuerdo al número de pulsaciones se
enciende
un LED,
//Declara puertos de entradas y salidas y variables
int conta = 0; //Variable para guardar el conteo de los pulsos
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicación serial
pinMode(2,INPUT);
//Configura el pin 2 como una entrada, pulsador
pinMode(13,OUTPUT); //Configura el pin 13 como una salida, LED
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
// Si el pulsador esta oprimido
if ( digitalRead(2) == HIGH )
{
// Si el pulsador no esta oprimido, flanco de bajada
if ( digitalRead(2) == LOW )
{
conta++; //Incrementa el contador
Serial.println(conta); //Imprime el valor por consola
delay (100); // Retardo
}
}
// Si el valor del contador es 5
if (conta==5)
{
digitalWrite(13,HIGH); //Enciende el LED
}
// Si el valor del contador es 8
if (conta==8)
{
digitalWrite(13,LOW); // Apaga el LED
}
}
35
//Fin programa
T10 Interruptor magnético para una alarma visual
36
---------------------------------------------
Interruptor magnético - Ladrón en casa
---------------------------------------------
Programa que genera una alarma visual con un LED a partir de un campo magnético
generado a un reed switch.
//--------------------------------------------------
//Declara puertos de entradas y salidas y variables
//--------------------------------------------------
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(contacto,INPUT); //El reed switch como una entrada
pinMode(led, OUTPUT); //El LED como una salida
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
37
Programa que hace uso de una función llamada color para generar diversas tonalidades en
un LED RGB
//Declara puertos de entradas y salidas y variables
int ledRojo = 9; //Declara Pin LED Rojo
int ledVerde=10; //Declara Pin LED Verde
int ledAzul=11; //Declara Pin LED Azul
//Funcion principal
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(ledRojo,OUTPUT); //El LED Rojo como una salida
pinMode(ledVerde,OUTPUT); //El LED Verde como una salida
pinMode(ledAzul,OUTPUT); //El LED Azul como una salida
}
//Funcion ciclicla
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
// Llamado a la función Color que recibe
// 1er posicion: Intensidad Rojo
// 2da posición: Intensidad Verde
// 3ra posición: Intensidad Azul
color(255,0,0);
//Rojo
delay(1000);
color(0,255,0);
//Verde
delay(1000);
39
color(0,0,255);
//Azul
delay(1000);
color(255,255,255); //Blanco
delay(1000);
color(255,0,255); //Magenta
delay(1000);
color(255,128,0); //Naranja
delay(1000);
}
//Funcion color
void color(int rojo, int verde, int azul){
//Escritura de PWM del color Rojo
analogWrite(ledRojo, 255-rojo);
//Escritura de PWM del color Verde
analogWrite(ledVerde, 255-verde);
//Escritura de PWM del color Azul
analogWrite(ledAzul, 255-azul);
}
T12 Control ON/OFF de un motor
40
/*
---------------------------------------------
Control ON/OFF de un motor
---------------------------------------------
Programa que hace uso de un motor y un pulsador, mientras se mantenga pulsado, el
motor debe estar encendido (ON) de lo contrario debe estar apagado (OFF)
//--------------------------------------------------
//Declara puertos de entradas y salidas y variables
//--------------------------------------------------
int pulsador =7; //Declara Pin del pusaldor
int motor=3; //Declara Pin del motor
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
41
{
pinMode(pulsador,INPUT); //El pulsador como una entrada
pinMode(motor,OUTPUT); //El motor como una salida
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
// Si el pulsador se encuentra oprimido
if(digitalRead(pulsador) == HIGH){
digitalWrite(motor,HIGH); //Enciende el motor
}else{ //si el pulsador no esta oprimido
digitalWrite(motor,LOW); //Apaga el motor
}
}
// Fin programa
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
43
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
// Si hay algun valor en la Consola Serial
if (Serial.available()){
//Variable donde se guarda el caracter enviado desde teclado
char a = Serial.read();
// Si el caracter ingresado esta entre 0 y 5
if (a>='0' && a<='5'){
//Variable para escalar el valor ingresado a rango de PWM
int velocidad = map(a,'0','5',0,255);
//Escritura de PWM al motor
analogWrite(motor,velocidad);
//Mensaje para el usuario
Serial.print("El motor esta girando a la velocidad ");
Serial.println(a);
}else{ // Si el caracter ingresado NO esta entre 0 y 5
//Mensaje para el usuario
Serial.print("Velocidad invalida");
Serial.println(a);
}
}
}
//Fin programa
T14 Generar tonos con un buzzer
44
---------------------------------------------
Generar tonos con un buzzer
---------------------------------------------
Programa que hace uso de un buzzer (chicharra) y un potenciómetro, la idea es generar
diversos tonos en el buzzer a partir del estado análogo del potenciómetro. Además se hace
uso de la función tone que es muy útil para generar diversas melodías
//------------------------------------
//Funcion principal
45
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Variable entera donde se almacena el valor del potenciómetro
int sensor = analogRead(tono);
//Variable donde se escala la frecuencia de 100 a 5000Hz
int frecuencia = map(sensor,0,1023,100,5000);
//Variable entera para guardar el tiempo deseado en ms
int duracion = 250;
//Funcion tone(), que recibe:
// 1ra posición: Pin del elemento sonoro
// 2da posición: Frecuencia deseada en Hz
// 3ra posición: Duración del tono
tone(buzzer, frecuencia, duracion);
//Retardo
delay(100);
}
//Fin programa
Auto fantástico:
6 leds que se encienden secuencialmente 1, 2, 3, 4, 5, 6, 5, 4, 3, 2.
Materiales. 7 leds rojos y resistencias de 220 Ω (rojo-rojo-marrón).
46
Sketch
int i; //esta variable valdrá para numerar los pines y los leds,...
//pues al pin 1 conectaremos el ánodo del led 1 y así.
void setup() {
for(i=1;i<=6;i++){ //vamos a realizar este bucle 6 veces
pinMode(i,OUTPUT); //el pin i es de salida
digitalWrite(i,LOW); //apagamos el led i en caso de estar e
} //al terminar el bucle hemos declarado los pines del 1 al 6 ...
//como de salida y hemos apagado los seis leds
}
void loop() {
for(i=1;i<=6;i++){
digitalWrite(i,HIGH); //encendemos el led i ...
delay(100); //dura
digitalWrite(i,LOW); //y luego lo apagamos
} // al terminar el bucle hemos hecho la secuencia de leds 1, 2, ..., 6
for(i=5;i>=2;i--){
digitalWrite(i,HIGH); //encendemos el led i ...
delay(100); //durante 0,1 s ...
digitalWrite(i,LOW); //y luego lo apagamos
} //al terminar el bucle hemos hecho la secuencia de leds 5, 4, 3, 2.
}
Led a distinta intensidad (resistencia 220)
Se pretende que un led se encienda paulatinamente hasta un máximo y luego reduzca.
47
const int led = 11; //conectaré el ánodo del led al pin 11, que es PMW~
int i; //usaremos la variable i para contar
void setup() {
pinMode(led, OUTPUT); //el pin al que conecto el ánodo del led es de salida
analogWrite(led, 0); //apagamos el led inicialmente
}
void loop() {
for(i=0;i<=255;i++){
analogWrite(led,i); //escribimos en el led el valor i
delay(10); //sin este retraso no nos daríamos cuenta de que el led ...
//se está encendiendo paulatinamente
} //al término del bucle el led pasa
for(i=254;i>=1;i--){
analogWrite(led,i);
delay(10);
} //al término del bucle el led pasa
//a estar casi totalmente apagado
}
void setup() {
Serial.begin(9600); //esta sentencia es necesaria para usar la pantalla
pinMode(11, OUTPUT); //el pin al que conecto el ánodo del led es de salida
//no es necesario declarar que
//pues los pines analógicos son de entrada automáticamente
}
void loop() {
brillo=analogRead(pot)/4; //convertimos el valor de lectura
//(entre 0 y 1023) en el valor de escritura analógi
//en el led (entre 0 y 255) y lo guardamos en brillo
analogWrite(led,brillo); //encendemos el led con la luminosidad brillo
Serial.println(brillo); //sacamos por la pantalla el valor de brillo...
delay(100);
}
void setup() {
pinMode(ledAm, OUTPUT);
pinMode(ledRo, OUTPUT);
}
void loop() {
analogWrite(ledAm,random(0,255));
analogWrite(ledRo,random(0,255));
delay(200);
}
void loop() {
lectura=analogRead(A0);
if (lectura<50){
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
}
else if (lectura<200){
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
}
else if (lectura<400){
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
}
else {
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
}
delay(500);
}
Práctica 15. Theremin óptico (función MAP)
51
void setup() {
pinMode(piezo,OUTPUT);
}
void loop() {
lectura=analogRead(A0);
frecuencia = map(lectura,lectBaja,lectAlta,frecBaja,frecAlta);
if (lectura<lectAlta){
tone(piezo,frecuencia,100);
} //gracias a este if el piezo no suena si no se tapa nada la ldr
}