domingo, 1 de septiembre de 2019

Programador PIC-AVR-EEPROM para Linux y Windows (PARTE 2)

Programador PIC-AVR-EEPROM para Linux y Windows (PARTE 2)


Hola y bien venidos nuevamente a los tutoriales de Artes Electrónicas Pachani, continuando con la serie de tutoriales donde muestro mis experiencias con los microcontroladores pic y avr, el tutorial va dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores, para el desarrollo de aplicaciones.



Programador OpenProg Linux – Windows 
Para continuar con este tutorial, OpenProg es una alternativa de programador de microcontroladores que en mi opnion tiene bastante facilidades en cuanto su facil construccion como tambien lo simple de usar pues al igual que un Raton (mouse) tanto los sistemas operativas mas simples puede reconocer y tener en sus librerias de tu dispositivo.

CARACTERÍSTICAS DEL PROGRAMADOR OpenProg (extraído de http://openprog.altervista.org )
  • Completamente gratis y de código abierto (incluido el firmware).
  • Programas PIC10-12-16-18-24, dsPIC30-33, ATMEL AVR (programación serie y HV serie), EEPROM serie tipo 24xxxx (I2C), 25xxx (SPI), 93xx6 (MicroWire), DS24xx (OneWire), 11xxx ( UNIO), se comunica con dispositivos genéricos I2C y SPI

martes, 3 de abril de 2018

Programación Básica en la plataforma Arduino (Parte 5)



Programación Básica en la plataforma Arduino (Parte 5)
Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, Hoy continuamos con la serie de tutoriales dedicados a Arduino. Estos tutoriales estarán dedicados exclusivamente a Arduino.
Programación en ARDUINO
 
Dado que la plataforma Arduino incorpora muchas de las salidas del microcontrolador AVR listas para ser utilizadas para el propósito que necesitemos, se puede decir que solo basta tener nociones básicas de electrónica y programación, de ahí la facilidad para desarrollar nuestros proyectos.

Ejercicios Resueltos
A modo de practicar vamo a ver algunos ejemplos que nos puede ayudar a realizar proyectos mas adelante, lo interesante y practico de esta placa de desarrollo Arduino es lo facil que se puede implementar un circuito electronico. Veamos que podemos hacer con Arduino Resistencias y diodos LED.

Ejercicio 01: Secuencia de leds.
Ya en el anterior tutorial aprendimos a realizar el encendido de un led según nuestro criterio, para este tutorial vamos a encender y apagar 4 leds secuencial mente. Los leds deben estar conectados a los pines 5,6,7 y 8. Se deben encender y posteriormente apagar los leds desde el pin 5 al 8, con un tiempo de duración de encendido y apagado de 1000 milisegundos ( o sea 1 segundo).
Este vendría a ser nuestro esquema circuital:


Este circuito lo esquematizamos con ayuda del software Fritzing para tener en mente el circuito que vamos a construir , este circuito sin duda nos ayudara a entender como armar el circuito en protoboar, ahora en la siguiente imagen veamos como seria este circuito en protoboard:



Sin duda esta nos da una idea clara como se debe de armar en protoboard el circuito de nuestra secuencia de leds, ya armándolo prácticamente debe ser capaz de funcionar:

El código propuesto vendría a ser el siguiente :
/*
------------------------------------------------------
Artes Electrónicas Pachani
Secuencia de Leds, esta secuencia tendrá 1 segundo , de diferencia entre encendido de cada led.
------------------------------------------------------
*/
//----------------------------------------------------
// Función principal
//----------------------------------------------------
int tiempo=1000; //Declaramos una variable como entero y de valor 1000 que viene a ser el tiempo.
void setup() { //Comenzamos con la configuración de los pines
pinMode(5,OUTPUT); // El pin 5 del arduino lo habilitamos como salida digital
pinMode(6,OUTPUT); // El pin 6 del arduino lo habilitamos como salida digital
pinMode(7,OUTPUT); // El pin 7 del arduino lo habilitamos como salida digital
pinMode(8,OUTPUT); // El pin 8 del arduino lo habilitamos como salida digital
}
//----------------------------------------------------
// Función cíclica
//----------------------------------------------------
void loop() { //Comienza el bucle principal del programa aquí definimos funciones y otros.
digitalWrite(5,HIGH); //Tomen nota de que aquí el pin 5 se coloca en HIGH (alto o + 5 V)
delay(tiempo); //Aquí usamos el tiempo de 1000 ms para indicar el tiempo en HIGH
digitalWrite(5,LOW); //Ahora el pin 5 se coloca en LOW (bajo o 0 V)
delay(tiempo); //Aquí usamos el tiempo de 1000 ms para indicar el tiempo en LOW
digitalWrite(6,HIGH); //Tomen nota de que aquí el pin 6 se coloca en HIGH (alto o + 5 V)
delay(tiempo); //Aquí usamos el tiempo de 1000 ms para indicar el tiempo en HIGH
digitalWrite(6,LOW); //Ahora el pin 6 se coloca en LOW (bajo o 0 V)
delay(tiempo); //Aquí usamos el tiempo de 1000 ms para indicar el tiempo en LOW
digitalWrite(7,HIGH); //Tomen nota de que aquí el pin 7 se coloca en HIGH (alto o + 5 V)
delay(tiempo); //Aquí usamos el tiempo de 1000 ms para indicar el tiempo en HIGH
digitalWrite(7,LOW); //Ahora el pin 7 se coloca en LOW (bajo o 0 V)
delay(tiempo); //Aquí usamos el tiempo de 1000 ms para indicar el tiempo en LOW
digitalWrite(8,HIGH); //Tomen nota de que aquí el pin 8 se coloca en HIGH (alto o + 5 V)
delay(tiempo); //Aquí usamos el tiempo de 1000 ms para indicar el tiempo en HIGH
digitalWrite(8,LOW); //Ahora el pin 8 se coloca en LOW (bajo o 0 V)
delay(tiempo); //Aquí usamos el tiempo de 1000 ms para indicar el tiempo en LOW
}

Como habrán notado la secuencia se la puede programar en cascada de modo que el programa cicló continué con la secuencia hasta que se le quite la corriente a la placa Arduino, ahora repasemos los puntos importantes del anterior código:
1.- Básicamente el programa trata a cada led por estados, es decir alto y luego bajo de modo que a la vista se tenga una secuencia de encendido y apagado, con la ayuda de una variable llamada tiempo.

2.- El manejo adecuado tanto en la programación de los pines de la placa Arduino, es decir el pin esta en OUTPUT (salida) , como bien sabrán en los microcontroladores se debe de tener cuidado al momento de tratar un pin como Salida o Entrada, pues podemos dañar este pin, de igual manera en la placa Arduino hay que definir bien el uso del pin de modo que no lo dañemos.

3.- Dado que nuestro ejemplo se lo realiza con el Arduino conectado a la PC , no es necesario conectar una fuente externa pues los diodos led no consumen mucha corriente, cundo se necesite mas corriente vamos a conectarlo según sea el proyecto que realicemos alimentar.

Ahora escribamos otra manera de resolver nuestra secuencia de leds de manera mas apropiada,
/*
------------------------------------------------------
Artes Electrónicas Pachani
Secuencia de Leds 2, esta secuencia tendrá 1 segundo , de diferencia entre encendido de cada led.
------------------------------------------------------
*/
//----------------------------------------------------
// Función principal
//----------------------------------------------------
int tiempo=1000; //Declaramos una variable como entero y de valor 1000 que viene a ser el tiempo.
int n; //Aquí declaramos una nueva variable para representar a los pines que vamos a usar
void setup() { //Comenzamos con la configuración de los pines
for (n=5;n<9;n++) { //Aquí el ciclo for contara desde el pin 5 hasta el pin 8
pinMode (n, OUTPUT); //Los pines que necesitamos son llamados y configurados como salida
}
}
//----------------------------------------------------
// Función
//----------------------------------------------------
void secuencia() { //Aquí escribimos un programa que se encargue de la secuencia
for (n=5; n<9; n++) {
digitalWrite (n, HIGH); // De igual manera se pone en pin n, en estado alto (+5V)
delay (tiempo); // Se mantiene este nivel alto por un t= tiempo
digitalWrite (n, LOW); // Se pone el pin n, en estado bajo (0 V)
delay (tiempo); // Aquí también le damos un t = tiempo
}
}
//----------------------------------------------------
// Función cíclica
//----------------------------------------------------
void loop() { // Aquí viene recién nuestra función cíclica que se repetirá de manera indefinida.
secuencia();
}


En conclusión, la manera como resolvamos un programa es sin duda iniciativa y buen criterio de cada programador , lo importantes es que se tenga en mente el buen funcionamiento del mismo y que cumpla con los requerimientos que se necesiten. En mi opinión, a medida que se practique tendremos mejores criterios para escribir el código, con ello mejorar y reducir las lineas en nuestros códigos que sin duda solo se logra con practica y mucho esfuerzo.
Para finalizar este tutorial, es muy útil que repases estas instrucciones. Espero que este tutorial te haya sido de utilidad, en los próximos tutoriales tendremos programas de manejo de puertos para ello hasta el próximo tutorial.


Todo el material que aquí se encuentra es de mi autoría, ademas de una recopilación de información de Internet de recursos que se pueden descargar como libros los cuales son usados como referencia para los ejercicios y los ejemplos, los cuales serán mencionados de modo que puedan consultar. Cualquier consulta la puedes realizar en la parte de comentarios.

Webgrafia:
1.- http://arduino.cc/ , la pagina oficial de Arduino donde se ha recopilado la información.
2.- EJERCICIOS DE ARDUINO RESUELTOS, Grupo Sabika, descargado de Internet.

Software utilizados:
1.- Arduino , descargado de http://arduino.cc/
2.- Fritzing , descargado de http://www.fritzing.org/



Programación Básica en la plataforma Arduino (Parte 4)


Programación Básica en la plataforma Arduino
Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, Hoy continuamos con la serie de tutoriales dedicados a Arduino. Estos tutoriales estarán dedicados exclusivamente a Arduino.
Mi primer HOLA MUNDO en ARDUINO
  Mi primer proyecto
Gracias a que la plataforma Arduino incorpora muchas de las salidas del microcontrolador AVR listas para ser utilizadas con un circuito adecuado, se puede decir que solo debemos tener nociones básicas de electrónica y programación, eso es suficiente para comenzar a desarrollar nuestros proyectos.

domingo, 18 de marzo de 2018

Programador PIC-AVR-EEPROM para Linux y Windows (PARTE 1)


Programador PIC-AVR-EEPROM para Linux y Windows (PARTE 1)

Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos continuara con una serie de tutoriales donde muestro mis experiencias orientados a los microcontroladores, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores, para el desarrollo de aplicaciones.


Programador Linux – Windows
Para empezar este tutorial es la recopilación de la investigación por las paginas web y foros dentro de Internet, la necesidad de un grabador que tenga el mayor alcance y capacidades era una de mis necesidades, a medida que investigue encontré dos tipos de grabador uno dedicado a la familia PIC y la otra a AVR que también pertenecen a MicroChip :).

sábado, 17 de marzo de 2018

Programador PIC para Linux y Windows (PARTE 3)

Programador PIC para Linux y Windows (PARTE 3)

Hola nuevamente a Artes Electrónicas Pachani, continuando con la serie de tutoriales donde muestro mis experiencias orientado a los microcontroladores PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores, para el desarrollo de aplicaciones.


WINDOWS

Podemos decir que es uno SO que hemos conocido desde un principio y que se puede decir que la gran mayoría usa y seguirá utilizando, lo bueno es que aquí podemos encontrar una infinidad de IDE para reconocer nuestro grabador JDM y que muchos de ellos tendrán el soporte necesario.

domingo, 4 de marzo de 2018

Programador PIC para Linux y Windows (PARTE 2)

Programador PIC para Linux y Windows (PARTE 2)

Hola nuevamente a Artes Electrónicas Pachani, donde muestro mis experiencias orientado a los microcontroladores PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores , para el desarrollo de aplicaciones.

 

Programador básico JDM (Linux - Windows)

Ya en el anterior tutorial habíamos construido con éxito nuestro grabador JDM y ahora llega el momento de realizar las pruebas de conectividad con la PC para verificar si este funciona.

Programador PIC para Linux y Windows (PARTE 1)

Programador PIC para Linux y Windows


Hola nuevamente Artes Electrónicas Pachani, continuando con mis experiencias orientado a los microcontroladores PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores, para el desarrollo de aplicaciones.



Programador básico JDM (Linux - Windows)

Esta es una nueva serie de tutoriales que ido preparando para aquellos aficionados ansiosos de aprender a programar sus microcontroladores PIC (pronto AVR y memorias EEPROM), hoy les voy a recopilar las herramientas que se puede encontrar en la Internet para poder grabar los

Microcontroladores PIC – Curso de Programación en MikroC (Parte 6 )

Microcontroladores PIC – Curso de Programación en MikroC Bienvenido nuevamente a los tutoriales de Artes Electrónicas Pachani , con...