Ir al contenido principal

ELECTRICIDAD, programando arduino

comenzando a programar

La programación de arduino,   proyecto MIDI y comunicación con un teclado musical con dichas entradas, utilizaremos esta placa por ser más factible a conseguir y programarla de una forma sencilla para todos.


características técnicas:





La alimentación de esta placa podemos hacerla por medio del cable USB, o bien una alimentación externa que puede estar en el rango de 7v a 12v, las salidas de nuestra placa sera de 5 voltios y 3.3 voltios, ya que cuenta con una arreglo para obtener voltaje estable, ademas encontraremos nuestro GND que es pin tierra.

pines de alimentación para nuestros proyectos

Como podemos observar en la siguiente figura, son 14 pines digitales que pueden ser utilizados como entradas o salidas, cada uno puede recibir hasta 40 mA, entre ellos resalta el pin 0 y el pin 1 que son los que utilizamos para comunicación (Tx, Rx) 

pines digitales

Los pines (3,5,6,9,10,11) son PWM(modulación por ancho de pulso),
el pin digital 13 es pin LED que tiene conectado led , cuando el valor es alto enciende y cuando es bajo se apaga
pines analogos

El arduino posee entradas análogas, esta placa tiene seis etiquetadas desde A0 hasta A5, tienen una resolución de 10 bits (esto es 1024).



INICIEMOS

Para comenzar descargamos el IDE de Arduino, que es el software, conectamos la placa por medio del cable USB al ordenador, inmediatamente el led de PWR  debe estar encendido, al conectarlo automáticamente los drivers se deben instalar en el ordenador.

Ejecutamos la aplicación Arduino y luego seleccionamos el tipo de placa y el puerto serie al que esta conectado
Arduino Ide en ejecución

para elegir el tipo de placa que tenemos seleccionamos " Tools " , luego " Board "
aquí elegimos que tipo de placa tenemos en mi caso es Arduino UNO y la seleccionamos...





y entonces seleccionamos en que puerto serie esta conectado, en "Tools" luego a "Serial Port" y luego a "COM1, COM2, COM3" selecionar en el que el ordenador diga que esta conectado, en este caso podemos ver abajo a la derecha el puerto en el que está y es "Arduino Uno on COM4" entonces hay que buscar en Serial port el COM4 y seleccionarlo.



ahora que ya tenemos esta configuración ya podemos programar, ahora bien les escribiré sobre su entorno de programación y pues la estructura básicamente se compone de dos partes y es simple 
la primera es Void Setup() y la segunda es Void Loop() asi como se observa en la imagen siguiente:







La función setup() se invoca una sola vez cuando el programa empieza. Se utiliza para inicializar los modos de trabajo de los pines, o el puerto serie. Debe ser incluido en un programa aunque no haya declaración que ejecutar.

void setup()

 { pinMode(pin, OUTPUT); // configura el 'pin' como salida

Después de llamar a setup(), la función loop() hace precisamente lo que sugiere su nombre, se ejecuta de forma cíclica, lo que posibilita que al programa este responda continuamente ante los eventos que se produzcan en la placa .

void loop()

 { digitalWrite(pin, HIGH); // pone activo (on, 5v) el ´pin´ 
    delay(1000);                    // espera un segundo (1000 ms)
    digitalWrite(pin, LOW); // pone en cero (off, 0v.) el ´pin´ delay(1000);
 }


LAS LLAVES

 Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan para los bloques de programación setup(), loop(), if.., etc. 

type funcion() 
{
 instrucciones;
 }

La llave de apertura “{“ siempre debe terminar despues de las instrucciones en  una llave de cierre “}”,de lo contrario el programa dará error.
El entorno de programación de Arduino incluye una herramienta de gran utilidad para comprobar el total de las llaves. Sólo debemos hacer click en el punto de inserción de una llave abierta e inmediatamente marcara  el correspondiente cierre de ese bloque (esto es la llave cerrada). 

EL PUNTO Y COMA

El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de Arduino. También se utiliza para separar elementos en una instrucción de tipo “bucle for”.

 int a = 7; // declara la variable 'a' como tipo entero de valor 7 

LOS COMENTARIOS

Los  comentarios, o multi-línea de comentarios, son áreas de texto ignorados por el programa que se utilizan para las descripcion del código o comentarios que ayudan a comprender el programa. Comienzan con / * y terminan con * / y pueden abarcar varias líneas.

 /* esto es lo que sería un bloque de comentarios y  no se debe olvidar cerrar los comentarios */

LINEA DE COMENTARIOS

Una línea de comentarios comenzara con " / / " y terminan con la siguiente línea de código. Al igual que los comentarios de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la memoria.

 // aquí pones tu comentario

 Una línea de comentario se utiliza  después de una instrucción, para proporcionar más información acerca de lo que hace esta o para recordarla más adelante.

VARIABLES

Las variable es una manera de nombrar y almacenar un valor numérico para el uso posterior por el programa. Como su nombre lo indica, las variables son números que se pueden variar continuamente en contra de lo que ocurre con las constantes cuyo valor nunca cambiara. Una variable será declarada y asignarle un valor. El siguiente código declara una variable llamada variabledeEntrada y luego le asigna el valor obtenido en la entrada analógica del PIN3: 

int variabledeEntrada = 7; // declara una variable y le asignamos el valor 7 
variabledeEntrada = analogRead(3);// la variable recogerá el valor analógico del PIN3


DECLARANDO VARIABLES

El siguiente ejemplo declaramos la variable entradadeVariable como una variable del tipo entero “int”, y asignándole un valor inicial igual a siete. Esto se llama una asignación. 

int entradaVariable = 7; 

Una variable podra ser declarada en una serie de lugares del programa.

HIGH / LOW

Estas constantes definiran los niveles de salida altos o bajos y se utilizarán para la lectura o la escritura digital para las patillas. ALTO se define como en la lógica de nivel 1, ON, ó 5 voltios, mientras que BAJO es lógica nivel 0, OFF, o 0 voltios.

 digitalWrite(13, HIGH); // activa la salida 13 con un nivel alto (5v.)

 digitalWrite(13, LOW); // activa la salida 13 con un nivel bajo (0v.)


INPUT / OUTPUT

Estas constantes son utilizadas para definir, al comienzo del programa, el modo de funcionamiento de los pinsitos mediante la instrucción pinMode de tal manera que el pin puede ser entrada INPUT o salida OUTPUT.

 pinMode(13, OUTPUT); // designamos que el PIN 13 es una salida  

DELAY

Detendra la ejecución del programa y la cantidad de tiempo esta en ms que se indica en la propia instrucción. De manera que 1000 equivale a 1segundito.

 delay(1000); // espera 1 segundito

Serial.begins

Abrirá el puerto serie y fijara 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 y en MIDI es de 31250 que es el que utilizaremos para comunicarnos con nuestro teclado musical, tambien saber que otras velocidades pueden ser soportadas. 

void setup()
 { 
Serial.begin(9600); // abre el Puerto serie 
} // configurando la velocidad en 9600 bps


Entradas populares de este blog

ELECTRICIDAD, como conectar arduino a teclado

Sobre agregar pitch bend, modulación, volumen y sustain  a un teclado que no lo contiene, habría que saber sobre que manera nos podrá funcionar bien, a la cual me incline por la placa Arduino, después de conocer el entorno de programación para arduino en los post anteriores, ya estamos listos, ademas tendremos que saber como conectar la placa arduino a nuestro teclado, pero primero veremos como conectar la botonera y potenciometros, las características del teclado es que tenga las entradas MIDI que es donde nos conectaremos arduino a nuestro teclado musical, necesitaremos los siguientes materiales para armarlo: - placa arduino - cable usb - potenciometros - resistencias 330 ohms - programa arduino - cautin(soldador) - estaño - jack MIDI(para salida) - switch - botones interruptor - programa de control(para cargarlo en arduino) Ahora solo necesitamos tener conocimientos básicos de electrónica para armarlo. para este prototipo instalaremos los siguientes contro...

Versiones y tipos de micro PLC

Micro PLC y versiones de LOGO! Versiones de LOGO! de Siemens y Micro PLC de otras marcas Versiones de LOGO! de Siemens LOGO! 8: La versión más reciente y avanzada, con conectividad Ethernet, programación remota, y soporte para IoT. LOGO! 7: Predecesor de LOGO! 8, adecuado para aplicaciones pequeñas y medianas. LOGO! Soft Comfort: Software de programación para simular y supervisar sistemas. LOGO! Modulares: Expansión mediante módulos adicionales para entradas, salidas o conectividad. Micro PLC de otras marcas Allen-Bradley (Rockwell Automation) Micro820: Hasta 36 puntos de entrada/salida, compatible con Ethernet/IP. Micro850: Capacidad de expansión modular para proyectos más grandes. Micro810: Ideal para aplicaciones pequeñas, con interfaz HMI integrada. Schn...

ELECTRICIDAD, código comunicación MIDI

COMUNICACIÓN MIDI #include <MIDI.h> const int sustain = 7; int a = 0; int b = 0; const int analogInPin3 = A0; // Analog input pin that the potentiometer is attached to const int analogOutPin3 = 11; // Analog output pin that the LED is attached to const int analogInPin = A2; // Analog input pin that the potentiometer is attached to const int analogOutPin = 9; // Analog output pin that the LED is attached to const int analogInPin2 = A1; // Analog input pin that the potentiometer is attached to const int analogOutPin2 = 10; // Analog output pin that the LED is attached to int sensorValue = 0; // value read from the pot int outputValue = 0; int sensorValue2 = 0; // value read from the pot int outputValue2= 0; int sensorValue3 = 0; // value read from the pot int outputValue3= 0; void setup() { MIDI.begin(); Serial.begin(31250); pinMode(sustain,INPUT); } void loop() { ////////////////////////////////////////////pit...