Mostrando las entradas con la etiqueta Curso Arduino. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Curso Arduino. Mostrar todas las entradas

jueves, 21 de enero de 2021

Microcontroladores AVR (Microchip) – Programando en ASM (PART001)

Hola nuevamente a Artes Electrónicas Pachani, acá iré explicando mis experiencias con el microcontrolador Atmega32A  en el entorno AVR Studio 4 y Proteus, el objetivo sera aprender a programar en lenguaje ensamblador.

Programación AVR Studio4  y Proteus - Manejo de bits .


Descripción general de la arquitectura ATmega32


 Porque he elegido el ATmega32 como representante para mostrar mi experiencia con los microcontroladores Atmel AVR ?…. Es simple porque es muy versatil y los códigos pueden

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, 4 de junio de 2017

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


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, Hoy continuamos con la serie de tutoriales dedicados a Arduino, aqui describo cada una de los laboratorios. Estos tutoriales estarán dedicados exclusivamente a Arduino.

Mi primer HOLA MUNDO en ARDUINO


Un lenguaje de Alto Nivel
Ya en el anterior tutorial realizamos prueba de nuestro Arduino Uno, con el sketch Blink, ahora vamos a aprender un lenguaje de programación de alto nivel el cual se caracteriza por expresar los algoritmos de una manera adecuada para entender para los seres humanos, en lugar del lenguaje máquina.

lunes, 1 de mayo de 2017

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


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, Hoy continuamos con la serie de tutoriales (mis experiencias) dedicados a Arduino. Estos tutoriales estarán dedicados exclusivamente a Arduino.

Primera comunicación con Arduino


Ya el anterior tutorial nuestro primer objetivo fue instalar la IDE de Arduino de la pagina oficial, hoy me voy a dedicar de plano explicar de manera sencilla y fácil de entender otros aspectos que no se explican en la comunicación entre el la placa Arduino y la PC , entonces comencemos:

lunes, 10 de abril de 2017

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



Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, Hoy vamos a iniciar una serie de tutoriales dedicados a Arduino donde escribo cada una de mis experiencias, desde su instalación hasta su programación. Estos tutoriales estarán dedicados a Arduino.
¿Qué es ARDUINO?


Empecemos diciendo que Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos.

domingo, 19 de febrero de 2017

Curso Basico de Arduino

Introducción 

     Sean todos bienvenidos a este apartado especial, donde tendra como objetivo las practicas como inicio medio y superior de programación sera dedicado a Arduino (Mraca registrada) esta plataforma de desarrollo Arduino ha sido utilizado por muchos entusiastas de la electrónica.
 

     Debido a su simplicidad, aprender el lenguaje de programación de Arduino es moderadamente fácil debido a que es parecido a la programación en C,  para ello me ocupare de desarrollar practicas de nivel medio superior para ir mejorando nuestros conocimientos en Arduino. Sin descuidar a los amigos que estén iniciando en el manejo de la placa de desarrollo Arduino.

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...