Entradas

Mostrando entradas de 2018

Mapa sonoro Guayabalyando

Imagen
GuayabalyAndo por la 15 es un taller de producción de contenidos locales realizado en el Parque Biblioteca Manuel Mejía Vallejo Guayabal, en la ciudad de Medellín, un espacio de co-creación que se gesta con usuarios de la biblioteca   que tienen el   interés en el aprendizaje de narrativas en diversos soportes: audio, video, fotografía, publicaciones web, cartografía, entre otros.   Esta actividad es un proceso de formación que busca nuevas formas de acercar a los interesados a la alfabetización digital más allá del teclado y el ratón. La actividad constantemente busca dinamizar los contenidos de memoria, por esto se traza una meta clara de generar una experiencia que impacte la percepción de ésta, a través de la integración de la tecnología y de los saberes análogos como medio para contarse. Desarrollando el siguiente prototipo, a partir de mapas bordados por asistentes al programa, a los cuales se les incluye un sistema electrónico programado, el cual permite con la presión manua

Teclado matríz 4x4 y LCD 16x2

Imagen
#include <Keypad.h> #include <LiquidCrystal.h> LiquidCrystal lcd(13, 11, 5, 4, 1, 0); const byte filas = 4;     //Numero de filas del teclado const byte columnas = 4;  //Numero de columnas del teclado //Defino una matriz 4x4 con la posicion de las filas y columnas char matriz[filas][columnas] = {   { '1', '2', '3', 'A'},   { '4', '5', '6', 'B'},   { '7', '8', '9', 'C'},   { '*', '0', '#', 'D'}, }; byte pinesFilas[filas] = {12, 10, 9, 8};       //Pines donde van conectadas las filas del teclado byte pinesColumnas[columnas] = {7, 6, 3, 2}; //Pines donde van conectadas las columnas del teclado //Inicializo el teclado con el numero de filas, columnas, los pines del Arduino utilizados y la matriz Keypad teclado = Keypad( makeKeymap(matriz), pinesFilas, pinesColumnas, filas, columnas); void setup() {   lcd.begin(16, 2);  

Teclado matricial 4x4 con LCD

Imagen
#include <Keypad.h> const byte filas = 4;     //Numero de filas del teclado const byte columnas = 4;  //Numero de columnas del teclado //Defino una matriz 4x4 con la posicion de las filas y columnas char matriz[filas][columnas] = {   { '1', '2', '3', 'A'},   { '4', '5', '6', 'B'},   { '7', '8', '9', 'C'},   { '*', '0', '#', 'D'}, }; byte pinesFilas[filas] = {13, 10, 9, 8};       //Pines donde van conectadas las filas del teclado byte pinesColumnas[columnas] = {7, 6, 1, 0}; //Pines donde van conectadas las columnas del teclado //Inicializo el teclado con el numero de filas, columnas, los pines del Arduino utilizados y la matriz Keypad teclado = Keypad( makeKeymap(matriz), pinesFilas, pinesColumnas, filas, columnas); void setup() {   Serial.begin(9600);   //Inicializo el puerto serie } void loop() {   char tecla_p

CONTADOR DOS DÍGITOS CON INFRARROJO

Imagen
#include <IRremote.h> int receiver = A0; // pin 1 of IR receiver to Arduino digital pin 11 IRrecv irrecv(receiver); // create instance of 'irrecv' decode_results results; int contador = 0;  //Variable asociada al contador int unidad=0;         // cuenta las unidades (derecha) int decena=0;         // cuenta las decenas (izquierda) void encender(int a, int b, int c, int d, int e, int f, int g) {   //Funcion que permite mostrar los numeros del 0 al 9   //Asigna un segmento del display a cada pin   digitalWrite (7,a);   //Se reciben 7 variables y se asignan   digitalWrite (8,b);   //a cada una de las salidas   digitalWrite (9,c);   digitalWrite (10,d);   digitalWrite (11,e);   digitalWrite (12,f);   digitalWrite (13,g);   } void encender2(int a2, int b2, int c2, int d2, int e2, int f2, int g2) {   //Funcion que permite mostrar los numeros del 0 al 9   //Asigna un segmento del display a cada pin   digitalWrite (0,a2);   //Se reciben 7 variabl

Contador 00-99 con Multiplexación

Imagen
/* Contador decimal de dos Digigitos en 7 Segmentos usando multiplexacion  Conexiones:  Las conexiones entre el Arduino y el Display deben realizarse               con una resistencia de 1K ohmio.  ARDUINO  -    Display 7 Segmentos (catodo comun)    2            a    3            b    4            c    5            d    6            e    7            f    8            g    9            P       10           COM digito izquierdo usando Transistor NPN    11           COM digito derecho  usando Transistor NPN */ int retardo=10;       // tiempo que dura encendido cada 7 seg (10 mili segundos) int var=0;            // Valor del digito que se va a desplegar por el 7 seg. int unidad=0;         // cuenta las unidades (derecha) int decena=0;         // cuenta las decenas (izquierda) int conmutador=0;     // multiplexacion de uno a otro 7 segmentos int cont=0;           // contador de ciclos de espera para cambiar de numero void setup() {                 pinMode(2, OUTPUT);  //seg a   pin

Desplazar texto LCD 16x2

Imagen
// incluir librería del LCD: #include <LiquidCrystal.h> // inicializar la librería con los números de los pines de interfaz LiquidCrystal lcd(12, 11, 5, 4, 3, 2); String mensaje = "Texto de prueba";   //Escriba aqui el texto a mostrar int longitud_texto = mensaje.length();  //Obtiene y almacena la longitud del texto void setup() {   lcd.begin(16, 2);      //Inicializa la pantalla   lcd.setCursor(0, 0);   //Posiciona el cursor en la posicion (0,0)   lcd.print(mensaje);    //Muestra el mensaje   delay(1500); } void loop() {   //Mueve el texto a la izquierda tantas veces como su longitud   for (int posicion = 0; posicion < longitud_texto; posicion++)   {     lcd.scrollDisplayLeft();     delay(300);   }   //Mueve el texto a la derecha tantas veces como su longitud, mas 16, que es el tamaño de la pantalla   for (int posicion = 0; posicion < (16 + longitud_texto); posicion++)   {     lcd.scrollDisplayRight();     delay(300);   }  

Reloj con LCD 16:2

Imagen
/*   Circuito:  * LCD GND a Tierra (GND)  * LCD VCC pin a 5V  * wiper potenciometro a LCD VO pin  * LCD RS pin a digital pin 12  * LCD R/W pin a GND  * LCD Enable pin a digital pin 11  * LCD DB4 pin a digital pin 5  * LCD DB5 pin a digital pin 4  * LCD DB6 pin a digital pin 3  * LCD DB7 pin a digital pin 2  * LCD LED 1 a Resistencia de 10K con 5V  * LCD LED 2 a GND  */ // incluir librería del LCD: #include <LiquidCrystal.h> // inicializar la librería con los números de los pines de interfaz LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup()    {        lcd.begin(16, 2);           // Fijamos el numero de caracteres y filas        lcd.print("Reloj digital");  // Aquí va el mensaje    } void loop()    {        lcd.setCursor(6, 1);    // Ponte en la linea 1, posición 6        String s = reloj() ;        lcd.print(s) ;    } String reloj()    {        int n = millis() / 1000 ;       // Lo pasamos a segundos        int segundos = n

Hola mundo con pantalla LCD 16x2

Imagen
/*   Circuito:    * LCD GND a Tierra (GND)  * LCD VCC pin a 5V  * wiper potenciometro a LCD VO pin  * LCD RS pin a digital pin 12  * LCD R/W pin a GND  * LCD Enable pin a digital pin 11  * LCD DB4 pin a digital pin 5  * LCD DB5 pin a digital pin 4  * LCD DB6 pin a digital pin 3  * LCD DB7 pin a digital pin 2  * LCD LED 1 a Resistencia de 10K con 5V  * LCD LED 2 a GND  */ // incluir librería del LCD: #include <LiquidCrystal.h> // inicializar la librería con los números de los pines de interfaz LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() {   // configurar el número de columnas y filas de la pantalla LCD:   lcd.begin(16, 2);     // Imprimir un mensaje en la pantalla LCD.   lcd.print("Hola mundo!"); } void loop() {   // coloca el cursor en la columna 0, línea 1   // (nota: la línea 1 es la segunda fila, ya que el conteo comienza con 0):   lcd.setCursor(0, 1);   // imprimir cantidad de segundos:   lcd.print(millis() / 1000);

Taller evaluativo Display 7 segmentos

Imagen
Realizar un sistema de turnos con un contador desde 00 hasta 99, teniendo en cuenta que si el valor del contador es mayor a 99, el sistema se debe reiniciar en 00, pero si es menor a 00, lo debe igualar a este mismo número

Sistema de turnos con Infrarojo

Imagen
#include <IRremote.h> int receiver = 5; // pin 1 of IR receiver to Arduino digital pin 5 IRrecv irrecv(receiver); // create instance of 'irrecv' decode_results results; int contador = 0;  //Variable asociada al contador void encender(int a, int b, int c, int d, int e, int f, int g) {   //Funcion que permite mostrar los numeros del 0 al 9   //Asigna un segmento del display a cada pin   digitalWrite (7,a);   //Se reciben 7 variables y se asignan   digitalWrite (8,b);   //a cada una de las salidas   digitalWrite (9,c);   digitalWrite (10,d);   digitalWrite (11,e);   digitalWrite (12,f);   digitalWrite (13,g); } void setup() {     Serial.begin(9600); // for serial monitor output   irrecv.enableIRIn(); // Start the receiver     //Inicializa los pines como entradas/salidas digitales   pinMode(7, OUTPUT);   pinMode(8, OUTPUT);   pinMode(9, OUTPUT);   pinMode(10, OUTPUT);   pinMode(11, OUTPUT);   pinMode(12, OUTPUT);   pinMode(13, OUTPUT);

Sistema de turnos con led de 7 segmentos y pulsadores

Imagen
int contador = 0;  //Variable asociada al contador int presionado1; //Variable para el antirrebote del pulsador aumentar int presionado2; //Variable para el antirrebote del pulsador disminuir int pulsador_disminuir = 2; //Pulsador conectado al pin 2 int pulsador_aumentar = 4; //Pulsador conectado a pin 4 void encender(int a, int b, int c, int d, int e, int f, int g) {   //Funcion que permite mostrar los numeros del 0 al 9   //Asigna un segmento del display a cada pin   digitalWrite (7,a);   //Se reciben 7 variables y se asignan   digitalWrite (8,b);   //a cada una de las salidas   digitalWrite (9,c);   digitalWrite (10,d);   digitalWrite (11,e);   digitalWrite (12,f);   digitalWrite (13,g); } void setup() {   //Inicializa los pines como entradas/salidas digitales   pinMode(7, OUTPUT);   pinMode(8, OUTPUT);   pinMode(9, OUTPUT);   pinMode(10, OUTPUT);   pinMode(11, OUTPUT);   pinMode(12, OUTPUT);   pinMode(13, OUTPUT);     pinMode(4, INPUT);  /

Prender y apagar un led del mismo botón

Imagen
// Práctica encender LED con botón pulsador y luego apagar LED con el mismo //boton pulsador int LED =13; int BOTON = 7; int val = 0; //val se emplea para almacenar el estado del boton int estado = 0; // 0 LED apagado, mientras que 1 encendido int valAntiguo = 0; // almacena el antiguo valor de val void setup(){   pinMode(LED,OUTPUT);  pinMode(BOTON,INPUT); } void loop() {      val= digitalRead(BOTON); // lee el estado del Boton if ((val == HIGH) && (valAntiguo == LOW)){ estado = 1-estado; delay(10); } valAntiguo = val; // valor del antiguo estado if (estado==1){  digitalWrite(LED, HIGH); } else{  digitalWrite(LED,LOW); } }

Display de 7 segmentos

Imagen
Display de 7 segmentos (1 dígito) Introducción teórica Un display de segmentos (o visualizador) es un componente electrónico que se utiliza para representar números. Como su propio nombre indica y, como se puede observar en la imagen siguiente, el display está compuesto por 7 segmentos, los cuales se encenderán y/o apagarán en función del número a representar. De forma interna, se asemeja a siete LEDs conectados estratégicamente formando el número 8, aunque externamente dicha semejanza no se observa, de ahí su simplicidad. Cada uno de los segmentos que componen este display se denominan a, b, c, d, e, f y g, tal y como se muestra a continuación. Para mostrar el número 0, tendremos que encender a, b, c, d, e y f. Para el número 2, tendríamos a, b, g, e y d. Y de la misma forma para cualquier otro número. El P simboliza el punto decimal. En cuanto a la clasificación, existen de dos tipos: 1. Display de segmentos de cátodo común , en la que todos los cátod

Led RGB con sensor infrarojo y control remoto

Imagen
Código: #include <IRremote.h> int red = 9; int green = 13; int blue = 10; int receiver = 11; // pin 1 of IR receiver to Arduino digital pin 11 IRrecv irrecv(receiver); // create instance of 'irrecv' decode_results results; void setup() { pinMode (red, OUTPUT); pinMode (green, OUTPUT); pinMode (blue, OUTPUT);   Serial.begin(9600); // for serial monitor output irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) // have we received an IR signal? { Serial.println(results.value, HEX); // display it on serial monitor in hexadecimal irrecv.resume(); // receive the next value     if(results.value==0xFD08F7){     digitalWrite(red,HIGH);     digitalWrite(green,LOW);     digitalWrite(blue,LOW); }   if(results.value==0xFD8877){     digitalWrite(red,LOW);     digitalWrite(green,HIGH);     digitalWrite(blue,LOW);   }     else if(results.value==0xFD48B7){     digitalWrite(red,LOW);     digitalWrite(green,LOW);     digitalWrite(blue,HIGH); }  

Sensor infrarrojo

Imagen
Código para leer los botones del control remoto: #include <IRremote.h> int receiver = 11; // Entrada de señal del sensor infrarrojo IRrecv irrecv(receiver); // Creación de un objeto 'irrecv' decode_results results; void setup() { Serial.begin(9600); // Para iniciar la salida en monitor serial irrecv.enableIRIn(); // Para iniciar el infrarrojo } void loop() { if (irrecv.decode(&results)) // ¿Se recibió alguna señal IR? { Serial.println(results.value, HEX); // Mostrar en el monitor serial el código de cada tecla del control irrecv.resume(); // Recibir el siguiente valor } }

Neopixel - Bandera de Colombia

Imagen
#include <Adafruit_NeoPixel.h> #define PIN 6 #define NUMPIXELS 12 // Cuando configuramos la biblioteca NeoPixel, le decimos cuántos píxeles y qué pin usar para enviar señales. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); void setup() {   pixels.begin(); } void loop() {   for(int i = 0; i < NUMPIXELS; i++){     pixels.setPixelColor(i, pixels.Color(255,239,57));     pixels.show();        delay(250);       }      for(int i = 0; i < NUMPIXELS; i++){     pixels.setPixelColor(i, pixels.Color(5,74,255));     pixels.show();        delay(250);       }     for(int i = 0; i < NUMPIXELS; i++){     pixels.setPixelColor(i, pixels.Color(255,5,9));     pixels.show();        delay(250);       } }

LED RGB

Imagen