Informacion general:
Contacto: ericksm.electronica@gmail.com
Entrega: Por el momento la entrega es personal en Lima-Perú. Centro de lima.
Modulo de Radiofrecuencia 433MHz
Producto: Modulo de radiofrecuencia a 433MHz (Transmisor + Receptor)
Estado: Nuevo
Costo: 20 soles
Stock: 5
Caracteristicas:
-Modo de operacion: AM
-Fuente de alimentacion: 5V(Rx) - Hasta 12v(Tx)
-Alcance: 20 - 200 metros.
-Potencia de transmision: 10mW.
-Frecuencia de trabajo: 433MHz
Información adicional: Se vende el pic 16f84a programado como decodificador y decodificador. Mas informacion en el siguiente link:
http://archimon-tx8.blogspot.com/2014/03/modulos-rf-433mhz.html
Arduino UNO R3 + Cable USB
Producto: Arduino UNO R3 + Cable USB
Costo: 70 soles
Stock: Agotado
Caracteristicas:
-Microcontrolador: ATmega328
-Voltaje de operacion: 5V
-Entrada de voltaje: 7-12V (recomendado)
-Pines digitales I/O: 14 (6 con PWM)
-Pines de entrada analogica: 6
-Corriente por pin: 40 mA
-Flash Memory: 32 KB (ATmega328)
-Clock Speed: 16 MHz
Arduino Nano V3.0 Atmega328 + Cable Usb Mini
Producto: Arduino Nano V3.0 con ATMEGA328P
Estado: Nuevo
Costo: 50 soles
Stock: 6
Caracteristicas:
-12 entradas/salidas digitales.
-8 entradas analógicas.
-Transmision serial TX/RX con niveles TTL.
-Alimentacion por usb.
-Alimentacion externa de 5 a 12 voltios.
-Alimentacion por bateria de 9 voltios.
Fuente para Protoboard
Producto: Fuente para Protoboard regulada 5V - 3.3V
Estado: Nuevo
Costo: 22 soles
Stock: 1
Caracteristicas:
-Voltaje de Entrada: 6.5VDC 12VDC o USB
-Voltaje de Salida: 3.3VDC / 5VDC Regulada
-Voltaje de salida seleccionable 0VDC / 3.3VDC / 5VDC por jumpers independiente en cada canal
-Corriente Maxima 500mA
Componentes electrónicos
En esta sección presentaré información de los componentes electrónicos que usaremos en los proyectos o en los circuitos con microcontroladores. Tambien incluye algunos consejos propios para emplear los componentes en el desarrollo práctico.
Displays 7 segmentos
Existen dos tipos de displays de 7 segmentos: Display Ánodo común y Display Cátodo común.
Si es cátodo común, el pin central debe ser llevado a tierra directamente o por medio de un transistor si se desea hacer multiplexación con algun microprocesador, del mismo modo si es ánodo común, el pin central a Vcc o tambien por medio de un transistor.
El display más común es:
Los 7 pines (a,b,... g) necesariamente deben llevar una resistencia de 330 a 210 ohms dependiendo de la alimentación o del brillo en los leds que se desee, de lo contrario el display presentará menos brillo en los digitos que requieran mayor consumo (6,8,9).
Decodificador TTL 7447 y 7448
Decodificador de BCD a display 7 segmentos.
La imagen de la izquierda corresponde al decodificador TTL 7447 y la imagen de la derecha es el TTL 7448.
       
El proposito de ambos integrados es el mismo, representar números en los displays de 7 segmentos segun el dato en formato BCD presente en la entrada.
El CD7447 activa sus salidas en bajo por lo que es ideal para controlar displays de 7 segmentos ánodo común.
El CD7448 activa sus salidas en alto por lo que es ideal para controlar displays de 7 segmentos cátodo común.
Estos integrados, cualquiera de ellos, junto al contador 74192 y el secuencial CD4017, permiten realizar multiplexación de displays y asi ahorrar pines en un microcontrolador.
Displays 7 segmentos
Existen dos tipos de displays de 7 segmentos: Display Ánodo común y Display Cátodo común.
Si es cátodo común, el pin central debe ser llevado a tierra directamente o por medio de un transistor si se desea hacer multiplexación con algun microprocesador, del mismo modo si es ánodo común, el pin central a Vcc o tambien por medio de un transistor.
El display más común es:
Los 7 pines (a,b,... g) necesariamente deben llevar una resistencia de 330 a 210 ohms dependiendo de la alimentación o del brillo en los leds que se desee, de lo contrario el display presentará menos brillo en los digitos que requieran mayor consumo (6,8,9).
Decodificador TTL 7447 y 7448
Decodificador de BCD a display 7 segmentos.
La imagen de la izquierda corresponde al decodificador TTL 7447 y la imagen de la derecha es el TTL 7448.
       
El proposito de ambos integrados es el mismo, representar números en los displays de 7 segmentos segun el dato en formato BCD presente en la entrada.
El CD7447 activa sus salidas en bajo por lo que es ideal para controlar displays de 7 segmentos ánodo común.
El CD7448 activa sus salidas en alto por lo que es ideal para controlar displays de 7 segmentos cátodo común.
Estos integrados, cualquiera de ellos, junto al contador 74192 y el secuencial CD4017, permiten realizar multiplexación de displays y asi ahorrar pines en un microcontrolador.
Caracteristicas, circuito Arduino Uno R3
Video hacerca de Arduino Uno R3, caracteristicas y circuito.
Canal de youtube:
https://www.youtube.com/channel/UCufkw73DvfQvfoacujLvorQ/feed
Canal de youtube:
https://www.youtube.com/channel/UCufkw73DvfQvfoacujLvorQ/feed
Modulos RF 433MHz
Video de funcionamiento de los modulos de radiofrecuencia con el PIC 16F84A
Programas del PIC 16F84A como codificador y decodificador
Los PICs programados los estoy vendiendo, más información en la seccion de abajo "Venta de modulos RF".
Se realizan productos de control a distancia a pedido
Para controlar voltaje AC o DC. El único requerimiento es linea de vision libre.
Venta de modulos de radiofrecuencia a 433MHz
Producto: Modulo de radiofrecuencia a 433MHz (Transmisor + Receptor)
Costo: 20 soles
Contacto: ericksm.electronica@gmail.com
Entrega: Entrega personal en Lima-Perú
Costo de envio: Por el momento la entrega es personal. Si desea, el lugar de entrega puede ser en el centro de Lima por un monto adicional de 2 soles. Sin costo adicional de entrega en Chorrillos.
Programas para microcontroladores
Pueden ver el funcionamiento del modulo en la parte superior de la pagina.
Por el momento solo estoy entregando el PIC 16F84A programado. Codificación a 4 bits.
Contacto: ericksm.electronica@gmail.com
Costo por modificacion: Si desea codificar más bits (mas de 4), el costo varia dependiendo de la cantidad de bits.
Tambien se programan Atmegas con este mismo programa a pedido.
Producto probado
Antes de que llege a sus manos, el producto es probado sin antena. Si desea, añado una antena de alambre de cobre 17cm al receptor y transmisor para luego verificar su funcionamiento antes de su entrega.
Costo adicional de antena: 10 soles.
Detalles del producto
Features:
1. 100% new and high quality
2. Whole sale and best price.
3. Quantity: 1pc
Receiver module parameters
1.Product Model: MX-05V
2.Operating voltage: DC5V
3.Quiescent Current: 4MA
4.Receiving frequency: 433.92MHZ
5.Receiver sensitivity:-105DB
6.Size: 30 * 14 * 7mm
7.External antenna: 32CM single core wire, wound into a spiral
Technical parameters of the transmitter head
1.Product Model: MX-FS-03V
2.Launch distance :20-200 meters (different voltage, different results)
3.Operating voltage :3.5-12V
4.Dimensions: 19 * 19mm
5.Operating mode: AM
6.Transfer rate: 4KB / S
7.Transmitting power: 10mW
8.Transmitting frequency: 433M
9.An external antenna: 25cm ordinary multi-core or single-core line
10.Pinout from left → right: (DATA; VCC; GND)
Application environment
Remote control switch, receiver module, motorcycles, automobile anti-theft products, home security products, electric doors, shutter doors, windows, remote control socket, remote control LED, remote audio remote control electric doors, garage door remote control, remote control retractable doors, remote volume gate, pan doors, remote control door opener, door closing device control system, remote control curtains, alarm host, alarm, remote control motorcycle remote control electric cars, remote control MP3.
Remark
1.VCC voltage module operating voltage and good power filtering;
2.Great influence on the antenna module reception, preferably connected to the 1/4 wavelength of the antenna, typically 50 ohm single conductor, the length of the antenna 433M of about 17cm;
3.Antenna position has also affected the reception of the module, the installation, the antenna as possible straight away from the shield, high pressure, and interference source; frequency used to receive, decode and oscillation resistor should match with the transmitter.
Programas del PIC 16F84A como codificador y decodificador
Los PICs programados los estoy vendiendo, más información en la seccion de abajo "Venta de modulos RF".
Se realizan productos de control a distancia a pedido
Para controlar voltaje AC o DC. El único requerimiento es linea de vision libre.
Venta de modulos de radiofrecuencia a 433MHz
Producto: Modulo de radiofrecuencia a 433MHz (Transmisor + Receptor)
Costo: 20 soles
Contacto: ericksm.electronica@gmail.com
Entrega: Entrega personal en Lima-Perú
Costo de envio: Por el momento la entrega es personal. Si desea, el lugar de entrega puede ser en el centro de Lima por un monto adicional de 2 soles. Sin costo adicional de entrega en Chorrillos.
Programas para microcontroladores
Pueden ver el funcionamiento del modulo en la parte superior de la pagina.
Por el momento solo estoy entregando el PIC 16F84A programado. Codificación a 4 bits.
Contacto: ericksm.electronica@gmail.com
Costo por modificacion: Si desea codificar más bits (mas de 4), el costo varia dependiendo de la cantidad de bits.
Tambien se programan Atmegas con este mismo programa a pedido.
Producto probado
Antes de que llege a sus manos, el producto es probado sin antena. Si desea, añado una antena de alambre de cobre 17cm al receptor y transmisor para luego verificar su funcionamiento antes de su entrega.
Costo adicional de antena: 10 soles.
Detalles del producto
Features:
1. 100% new and high quality
2. Whole sale and best price.
3. Quantity: 1pc
Receiver module parameters
1.Product Model: MX-05V
2.Operating voltage: DC5V
3.Quiescent Current: 4MA
4.Receiving frequency: 433.92MHZ
5.Receiver sensitivity:-105DB
6.Size: 30 * 14 * 7mm
7.External antenna: 32CM single core wire, wound into a spiral
Technical parameters of the transmitter head
1.Product Model: MX-FS-03V
2.Launch distance :20-200 meters (different voltage, different results)
3.Operating voltage :3.5-12V
4.Dimensions: 19 * 19mm
5.Operating mode: AM
6.Transfer rate: 4KB / S
7.Transmitting power: 10mW
8.Transmitting frequency: 433M
9.An external antenna: 25cm ordinary multi-core or single-core line
10.Pinout from left → right: (DATA; VCC; GND)
Application environment
Remote control switch, receiver module, motorcycles, automobile anti-theft products, home security products, electric doors, shutter doors, windows, remote control socket, remote control LED, remote audio remote control electric doors, garage door remote control, remote control retractable doors, remote volume gate, pan doors, remote control door opener, door closing device control system, remote control curtains, alarm host, alarm, remote control motorcycle remote control electric cars, remote control MP3.
Remark
1.VCC voltage module operating voltage and good power filtering;
2.Great influence on the antenna module reception, preferably connected to the 1/4 wavelength of the antenna, typically 50 ohm single conductor, the length of the antenna 433M of about 17cm;
3.Antenna position has also affected the reception of the module, the installation, the antenna as possible straight away from the shield, high pressure, and interference source; frequency used to receive, decode and oscillation resistor should match with the transmitter.
PIC12F683
Este PIC es el pequeño gigante de Microchip.
Con tan solo 8 pines, posee varias caracteristicas de las cuales uno no pensaria que tendria.
Caracteristicas
-6 I/O pines.
-Memoria de programa de 2048 palabras (14 bits).
-35 instrucciones en Assembler.
-256 bytes de EEPROM de datos.
-128 bytes de SRAM de datos.
-4 entradas analógicas de 10 bits de resolución.
-Reloj interno seleccionable de 125KHz a 8MHz. Si se activa la opcion de reloj externo puede trabajar hasta con 20MHz.
-Modulo CCP. Capture, Compare, PWM módulo (de 10 bits).
-1 comparador analógico. Dos entradas para sensar y una salida.
Con respecto al PIC16F84A podemos ver las siguientes mejoras:
El doble de memoria(2048) para guardar nuestro programa.
4 veces más de memoria EEPROM.
Admite entradas analógicas.
Posee reloj interno seleccionable
Entre otras mejoras.
Otro punto a favor de este PIC es que no es necesario rescatar el valor OSSCAL, calibrarlo o estar pendiente de este valor como sucede con el PIC 12F675 o el PIC12F629. En el PIC 12F683 este valor ya se encuentra calibrado para usar su reloj interno sin ningun problema, no sufre modificacion alguna al programarlo.
Como único punto en contra solo veo la cantidad de pines pero esto puede jugarnos a favor si queremos ahorrar espacio y tener un circuito más compacto y de alta calidad. Por otro lado tambien tenemos los CI de registros de desplazamiento como el CD4017 ó el 74HC164 que nos pueden ayudar a expandir los pines de salida.
Mapa de memoria de datos
Como podemos observar, el espacio para almacenar nuestras variables comienza en la posicion 20h
Fuente de oscilador
Aqui podemos ver el modulo del reloj del PIC con el que trabaja, sea interno o externo. Si es interno puede ser seleccionado de 125KHz a 8MHz y en este rango puede ser calibrado con el registro OSCTUNE que veremos despues. El oscilador interno de baja frecuencia de 31KHz no esta calibrado de fabrica y no es afectado por OSCTUNE, es poco recomendable este reloj.
Registros
Mencionare los registros principales del PIC. No mencionare el registro STATUS ya que es igual al de otros PICs.
Registro OSCCON
El bit 0 SCS selecciona si es reloj interno o externo.
El bit 7 no esta implementado.
Los bits 1 y 2 LTS y HTS informan si los relojes son estables.
Este registro se complementa con los codigos en la palabra de configuración.
En modo INTOSC, GP5/OSC1/CLKIN puede funcionar como entrada/salida pero el pin GP4/ OSC2/CLKOUT funciona como salida de reloj interno dividido por 4.
En modo INTOSCIO , GP4 y GP5 pueden funcionar como salidas/entradas.
En la libreria del PIC tenemos:
Registro OSCTUNE
Este registro nos ayuda a calibrar el reloj interno del PIC para obtener una mejor presición en tiempos. Si se requiere mayor presición se debe emplear un cristal externo. El modo de configuracion para uso del cristal externo como reloj es _HS_OSC, _XT_OSC, etc.
Registro CMCON0
Se debe configurar al inicio del codigo de programa. Por defecto esta activado.
Para desactivar el modulo comparados debemos escribir en los bits CM 0,1 y 2 un "1" lógico.
Registro TRISIO
como vemos solo 5 pines pueden trabajar como I/O, mientras que el sexto pin solo puede trabajar como entrada,es el pin GP3 que tambien puede trabajar como MCLR del PIC si se configura para ello.
Registro ANSEL
Aqui se configura los pines que seran empleados como entradas analogicas y el prescaler del reloj que usara el ADC.
Tengan en cuenta antes de escoger el reloj y el prescaler que el Tad mínimo del PIC es 1.6us.
Fuente: Microchip 12f683
Hasta ahi los registros, solo mencione los principales, ahora vamos con el primer programa para el PIC12F683.
Programa
Continuando con el mismo formato del programa para el PIC16F84A, presento el primer programa para el PIC12F683. Es el programa para un led intermitente conectado en GP5 (PIN2).
Empleo el reloj interno del PIC para ahorrar pines. Considero esto necesario en nuestro primer programa ya que el pic solo posee 8 pines, 6 si no contamos los pines de alimentación. Si usted amigo lector recien comienza a programar PICs, le recomiendo el primer programa para el PIC16F84A de esta misma sección.
Lo más resaltante de este programa esta en la configuración del puerto para que trabaje como puerto digital y tambien la selección del reloj interno.
Circuito
El pin 4 MCLR se conecta a Vcc ya que su función esta activada, es decir, si este pin toma 0 voltios el programa se reinicia.
En el circuito tambien se tiene que conectar la fuente de alimentación, pin 8 - tierra y pin 1 - Vcc (5V)
Información del programa
Mencionaré las palabras de configuración nuevas respecto al PIC16F84A:
Nuestra palabra de configuración:
Luego definimos las variables que utilizamos COUNT1 y COUNT2.
El banco de memorias comienza en la posición 0x20.
Definimos el modo de operación de los puertos y el reloj interno.
Primero desactivamos la funcion de comparador. Esta activa por defecto.
Regresamos al banco 0 y lo siguiente es la misma programación que del PIC16F84A.
Con tan solo 8 pines, posee varias caracteristicas de las cuales uno no pensaria que tendria.
Caracteristicas
-6 I/O pines.
-Memoria de programa de 2048 palabras (14 bits).
-35 instrucciones en Assembler.
-256 bytes de EEPROM de datos.
-128 bytes de SRAM de datos.
-4 entradas analógicas de 10 bits de resolución.
-Reloj interno seleccionable de 125KHz a 8MHz. Si se activa la opcion de reloj externo puede trabajar hasta con 20MHz.
-Modulo CCP. Capture, Compare, PWM módulo (de 10 bits).
-1 comparador analógico. Dos entradas para sensar y una salida.
Con respecto al PIC16F84A podemos ver las siguientes mejoras:
El doble de memoria(2048) para guardar nuestro programa.
4 veces más de memoria EEPROM.
Admite entradas analógicas.
Posee reloj interno seleccionable
Entre otras mejoras.
Otro punto a favor de este PIC es que no es necesario rescatar el valor OSSCAL, calibrarlo o estar pendiente de este valor como sucede con el PIC 12F675 o el PIC12F629. En el PIC 12F683 este valor ya se encuentra calibrado para usar su reloj interno sin ningun problema, no sufre modificacion alguna al programarlo.
Como único punto en contra solo veo la cantidad de pines pero esto puede jugarnos a favor si queremos ahorrar espacio y tener un circuito más compacto y de alta calidad. Por otro lado tambien tenemos los CI de registros de desplazamiento como el CD4017 ó el 74HC164 que nos pueden ayudar a expandir los pines de salida.
Mapa de memoria de datos
Como podemos observar, el espacio para almacenar nuestras variables comienza en la posicion 20h
Fuente de oscilador
Aqui podemos ver el modulo del reloj del PIC con el que trabaja, sea interno o externo. Si es interno puede ser seleccionado de 125KHz a 8MHz y en este rango puede ser calibrado con el registro OSCTUNE que veremos despues. El oscilador interno de baja frecuencia de 31KHz no esta calibrado de fabrica y no es afectado por OSCTUNE, es poco recomendable este reloj.
Registros
Mencionare los registros principales del PIC. No mencionare el registro STATUS ya que es igual al de otros PICs.
Registro OSCCON
El bit 0 SCS selecciona si es reloj interno o externo.
El bit 7 no esta implementado.
Los bits 1 y 2 LTS y HTS informan si los relojes son estables.
Este registro se complementa con los codigos en la palabra de configuración.
En modo INTOSC, GP5/OSC1/CLKIN puede funcionar como entrada/salida pero el pin GP4/ OSC2/CLKOUT funciona como salida de reloj interno dividido por 4.
En modo INTOSCIO , GP4 y GP5 pueden funcionar como salidas/entradas.
En la libreria del PIC tenemos:
_INTRC_OSC_NOCLKOUT EQU H'3FFC' _INTOSCIO EQU H'3FFC' _INTRC_OSC_CLKOUT EQU H'3FFD' _INTOSC EQU H'3FFD' _EXTRC_OSC_NOCLKOUT EQU H'3FFE' _EXTRCIO EQU H'3FFE' _EXTRC_OSC_CLKOUT EQU H'3FFF' _EXTRC EQU H'3FFF'
Registro OSCTUNE
Este registro nos ayuda a calibrar el reloj interno del PIC para obtener una mejor presición en tiempos. Si se requiere mayor presición se debe emplear un cristal externo. El modo de configuracion para uso del cristal externo como reloj es _HS_OSC, _XT_OSC, etc.
Registro CMCON0
Se debe configurar al inicio del codigo de programa. Por defecto esta activado.
Para desactivar el modulo comparados debemos escribir en los bits CM 0,1 y 2 un "1" lógico.
Registro TRISIO
como vemos solo 5 pines pueden trabajar como I/O, mientras que el sexto pin solo puede trabajar como entrada,es el pin GP3 que tambien puede trabajar como MCLR del PIC si se configura para ello.
Registro ANSEL
Aqui se configura los pines que seran empleados como entradas analogicas y el prescaler del reloj que usara el ADC.
Tengan en cuenta antes de escoger el reloj y el prescaler que el Tad mínimo del PIC es 1.6us.
Fuente: Microchip 12f683
Hasta ahi los registros, solo mencione los principales, ahora vamos con el primer programa para el PIC12F683.
Programa
Continuando con el mismo formato del programa para el PIC16F84A, presento el primer programa para el PIC12F683. Es el programa para un led intermitente conectado en GP5 (PIN2).
Empleo el reloj interno del PIC para ahorrar pines. Considero esto necesario en nuestro primer programa ya que el pic solo posee 8 pines, 6 si no contamos los pines de alimentación. Si usted amigo lector recien comienza a programar PICs, le recomiendo el primer programa para el PIC16F84A de esta misma sección.
- ;http://www.archimon-tx8.blogspot.com
- list p=12F683
- #include "p12f683.inc"
- errorlevel -302 ; suppress message 302
- __config _FCMEN_OFF & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
- ;Ubicacion de variables en banco de memoria
- COUNT1 equ 0x20 ;el banco de memoria comienza en la posicion 0x20
- COUNT2 equ 0x21
- ;Inicio de programa
- org 0x00
- movlw 0x07
- movwf CMCON0 ;Comparadores OFF
- ;configuracion de puerto
- bsf STATUS,RP0 ;seleccionamos banco 1
- movlw b'01100001' ;bit 1 y 2(LTS HTS) indican si los osc. son estables. Bit 7 no implementado
- movwf OSCCON ;Oscilador interno a 4MHz (default)
- clrf ANSEL ;puerto digital
- movlw b'00001000' ;Bit 7 y 8 no implementados, Bit 3 solo como entrada
- movwf TRISIO ;Utilizaremos solo el GP5(PIN2) como salida.
- bcf STATUS,RP0
- ;Codigo de programa
- INICIO bsf GPIO,5 ;Poner a 1 GP5
- call DELAY
- bcf GPIO,5 ;Poner a 0 GP5
- call DELAY
- goto INICIO
- DELAY movlw 0xFF ; Subrutina de retardo
- movwf COUNT1 ; 256x256=65536 cuentas
- movwf COUNT2
- LOOP decfsz COUNT1,1 ; Decrementa COUNT1
- goto LOOP ; Salta si COUNT1=0
- movlw 0xFF
- movwf COUNT1 ; COUNT1=FF
- decfsz COUNT2,1 ; Decrementa COUNT2
- goto LOOP ; Salta si COUNT2=0
- return ; Retorno de subrutina
- end ; Fin de programa
Lo más resaltante de este programa esta en la configuración del puerto para que trabaje como puerto digital y tambien la selección del reloj interno.
Circuito
El pin 4 MCLR se conecta a Vcc ya que su función esta activada, es decir, si este pin toma 0 voltios el programa se reinicia.
En el circuito tambien se tiene que conectar la fuente de alimentación, pin 8 - tierra y pin 1 - Vcc (5V)
Información del programa
Mencionaré las palabras de configuración nuevas respecto al PIC16F84A:
FCMEN (Fail-Safe Clock Monitor enabled) modulo del oscilador a prueba de fallos. Si falla el reloj externo, cambia a reloj interno IESO (Internal External Switch Over Oscillator mode) Activa el uso del reloj externo e interno. CPD (Data EEPROM Code Protection) proteje la memoria EEPROM contra las lecturas. BOD (brownout reset) Reinicio del pic luego de una caida de voltaje. MCLRE_ON activa la funcion MCLRE en el pin 4, debe ser conectado a Vcc. INTRC_OSC_NOCLKOUT selección del reloj interno del pic. Los pines OSC1/CLKIN y OSC2/CLKOUT pueden trabajar como I/O.
Nuestra palabra de configuración:
__config _FCMEN_OFF & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
Luego definimos las variables que utilizamos COUNT1 y COUNT2.
El banco de memorias comienza en la posición 0x20.
Definimos el modo de operación de los puertos y el reloj interno.
Primero desactivamos la funcion de comparador. Esta activa por defecto.
movlw 0x07 movwf CMCON0 ;Comparadores OFFSeleccionamos el reloj interno del pic.
bsf STATUS,RP0 ;seleccionamos banco 1 movlw b'01100001' ;bit 1 y 2(LTS HTS) indican si los osc. son estables. Bit 7 no implementado movwf OSCCON ;Oscilador interno a 4MHz (default)Puerto como digital
clrf ANSEL ;puerto digitalTodo el puerto como salida.
movlw b'00001000' ;Bit 7 y 8 no implementados, Bit 3 solo como entrada movwf TRISIO ;Utilizaremos solo el GP5(PIN2) como salida. bcf STATUS,RP0
Regresamos al banco 0 y lo siguiente es la misma programación que del PIC16F84A.
Mis primeros programas
Los primeros programas en assembler o la primera vez que programamos un PIC resulta algo complicado, ya que, por otro lado, estamos probando nuestro programador de PICs, también que nuestro PIC funcione correctamente y luego pensamos en todo lo que podemos hacer con este pequeño chip.
PIC16F84A
El pic 16F84A es uno de los más usados por todos los que se inician en el campo de la programación de microcontroladores, asi que el primer programa que haremos sera para este PIC. Antes de comenzar, debo mencionar que no presentare un tutorial de Assembler, pero les recomiendo este archivo para el PIC16F84A, donde están todas sus instrucciones y más.
Información recomendada
Programación PIC16F84A
Libro Microcontrolador PIC16F84 Desarrollo de proyectos
Más aún les brindare información sobre algunos puntos.
Toda esta información será suficiente para comenzar.
Programa
Este es el programa que recomiendo para comenzar.
Es el clásico “Hola mundo” de los programas en microcontroladores, el famoso “led intermitente” o led que parpadea o “Led Blink”.
Si bien otros programas iniciales son más sencillos que este, no son suficientes para asegurar que todo está bien.
Circuito
Aquí está el circuito para probar el programa en la práctica.
Trabajaremos con Proteus, por lo práctico de este programa en las simulaciones de microcontroladores. También nos ayudara para asegurar que nuestro programa funciona bien.
En el circuito no se ve pero tambien se tiene que conectar la fuente de alimentación, pin 5 - tierra y pin 14 - Vcc (5V)
Información del programa
Veamos un poco la estructura del programa:
Luego del “list” y el “include” que nos permiten añadir las instrucciones del Pic especificado pasamos a la palabra de configuración.
Aquí tenemos información de las palabras de configuración más importantes para el PIC16F84A.
Protección de codigo (CP) no es necesario por lo que la deshabilitamos (OFF).
WDT tampoco es necesario por lo que es un programa sencillo.
PWRTE siempre lo considero activado. Es muy importante.
XT es por que trabajo con un cristal de 4MHz.
Luego definimos las variables que utilizamos COUNT1 y COUNT2.
El banco de memorias comienza en la posición 0x0c.
Definimos el modo de operación de los puertos.
Por último la rutina principal de bucle infinito.
“bsf” pone a 1 lógico el Pin 0 del puerto B.
“bcf” pone a 0 lógico el Pin 0 del puerto B.
Así se logra prender y apagar el led conectado al Pin 0 pero este efecto no sería observable sin un retardo, ya que las instrucciones como había mencionado demoran 1us.
El retardo se da en:
call DELAY
Donde se salta a la rutina de retardo “DELAY”.
Como había mencionado, con el StopWatch se puede calcular el tiempo que demora este retardo de forma exacta, obtuve 196ms o 200ms para redondear.
PIC16F84A
El pic 16F84A es uno de los más usados por todos los que se inician en el campo de la programación de microcontroladores, asi que el primer programa que haremos sera para este PIC. Antes de comenzar, debo mencionar que no presentare un tutorial de Assembler, pero les recomiendo este archivo para el PIC16F84A, donde están todas sus instrucciones y más.
Información recomendada
Programación PIC16F84A
Libro Microcontrolador PIC16F84 Desarrollo de proyectos
Más aún les brindare información sobre algunos puntos.
Toda esta información será suficiente para comenzar.
Programa
Este es el programa que recomiendo para comenzar.
Es el clásico “Hola mundo” de los programas en microcontroladores, el famoso “led intermitente” o led que parpadea o “Led Blink”.
- ;http://www.archimon-tx8.blogspot.com
- list p=16F84A
- include "p16f84a.inc"
- ;Definicion de fuses
- __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
- ;Ubicacion de variables en banco de memoria
- COUNT1 equ 0x0c
- COUNT2 equ 0x0d
- ;Inicio de programa
- org 0x00
- ;Modo de operacion de puertos I/O, interrupciones
- bsf STATUS,5
- movlw b'11111110' ;la unica salida será RB0
- movwf TRISB
- bcf STATUS,5
- ;Codigo de programa
- INICIO
- bsf PORTB,0
- call DELAY ;llamo a la rutina de retardo
- bcf PORTB,0
- call DELAY ;otra vez para notar el efecto del parpadeo
- goto INICIO
- DELAY movlw 0xFF ; Subrutina de retardo
- movwf COUNT1 ; 256x256=65536 cuentas
- movwf COUNT2
- LOOP decfsz COUNT1,1 ; Decrementa COUNT1
- goto LOOP ; Salta si COUNT1=0
- movlw 0xFF
- movwf COUNT1 ; COUNT1=FF
- decfsz COUNT2,1 ; Decrementa COUNT2
- goto LOOP ; Salta si COUNT2=0
- return ; Retorno de subrutina
- end ; Fin de programa
Si bien otros programas iniciales son más sencillos que este, no son suficientes para asegurar que todo está bien.
Circuito
Aquí está el circuito para probar el programa en la práctica.
Trabajaremos con Proteus, por lo práctico de este programa en las simulaciones de microcontroladores. También nos ayudara para asegurar que nuestro programa funciona bien.
En el circuito no se ve pero tambien se tiene que conectar la fuente de alimentación, pin 5 - tierra y pin 14 - Vcc (5V)
Información del programa
Veamos un poco la estructura del programa:
Luego del “list” y el “include” que nos permiten añadir las instrucciones del Pic especificado pasamos a la palabra de configuración.
Aquí tenemos información de las palabras de configuración más importantes para el PIC16F84A.
PWRTE (power up timer: temporizador de encendido) provee un retardo fijo de 72ms en el encendido únicamente, diseñado para mantener el reset mientras la fuente se estabiliza. CP protección de código. WDT (watchdog: temporizador de perro guardián)reset cuando hay desbordamiento. Evita los posibles cuelgues de programa. Tipo de oscilador: RC: Formado por una resistencia y un condensador. No preciso. LP: Baja frecuencia. Entre 32K a 200KHz. XT: Oscilador a cristal de cuarzo. Genera entre 100k a 4MHz. HS: Para frecuencias entre 4M a 20MHz.Nuestra palabra de configuración:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
Protección de codigo (CP) no es necesario por lo que la deshabilitamos (OFF).
WDT tampoco es necesario por lo que es un programa sencillo.
PWRTE siempre lo considero activado. Es muy importante.
XT es por que trabajo con un cristal de 4MHz.
Luego definimos las variables que utilizamos COUNT1 y COUNT2.
El banco de memorias comienza en la posición 0x0c.
Definimos el modo de operación de los puertos.
Por último la rutina principal de bucle infinito.
INICIO bsf PORTB,0 call DELAY ;llamo a la rutina de retardo bcf PORTB,0 call DELAY ;otra vez para notar el efecto del parpadeo goto INICIO
“bsf” pone a 1 lógico el Pin 0 del puerto B.
“bcf” pone a 0 lógico el Pin 0 del puerto B.
Así se logra prender y apagar el led conectado al Pin 0 pero este efecto no sería observable sin un retardo, ya que las instrucciones como había mencionado demoran 1us.
El retardo se da en:
call DELAY
Donde se salta a la rutina de retardo “DELAY”.
DELAY movlw 0xFF ; Subrutina de retardo movwf COUNT1 ; 256x256=65536 cuentas movwf COUNT2 LOOP decfsz COUNT1,1 ; Decrementa COUNT1 goto LOOP ; Salta si COUNT1=0 movlw 0xFF movwf COUNT1 ; COUNT1=FF decfsz COUNT2,1 ; Decrementa COUNT2 goto LOOP ; Salta si COUNT2=0 return ; Retorno de subrutina
Como había mencionado, con el StopWatch se puede calcular el tiempo que demora este retardo de forma exacta, obtuve 196ms o 200ms para redondear.
Amplificador de audio TDA2003
Los TDA son integrados muy conocidos en la electrónica de sonido, ya que mediante un sencillo circuito podemos obtener un pequeño pero eficiente amplificador de audio.
Recomiendo este amplificador para los que se inician en este mundo, los sorprenderá.
El condensador C6 de 2200uF puede ser reemplazado por uno de 1000uF, ello depende de como obtienen una mejor calidad de sonido, tambien la resistencia R4 de 330 Ohms puede ser de 220 Ohms, que es su valor tipico para el circuito.
El potenciometro es para variar el sonido del amplificador.
El circuito para el TDA2002 y TDA2003 es el mismo, lo que cambia es la potencia y el TDA2003 tiene una mayor potencia (10W), por lo que recomiendo armarlo para este CI.
Como podemos observar las dimensiones son reducidas, 5,7cm x 4,7cm.
El disipador si es recomendable porque el TDA se calienta en funcionamiento.
El programa utilizado fue ARES PROTEUS. Recomendado para los que inician en desarrollo de PCBs.
Materiales
Condensadores:
-0.1uF (104)
-47nF
-2200uF 16V
-10uF 16V
-470uF 16V
-2.2uF
Resistencias (todas de 1/2W)
-1 Ohm
-2.2 Ohm
-330 Ohm
-47 Ohm
CI:
-tda2003
Otros:
-Potenciometro 5k
-Molex (2)
-Disipador (pequeño para el TDA)
-Espadines macho
Descargas
Descargar PCBs + Lista de materiales
En el archivo .rar tambien esta el diagrama del circuito y la mascara de componentes.
Circuito terminado
Circuito
El potenciometro es para variar el sonido del amplificador.
El circuito para el TDA2002 y TDA2003 es el mismo, lo que cambia es la potencia y el TDA2003 tiene una mayor potencia (10W), por lo que recomiendo armarlo para este CI.
PCB
El disipador si es recomendable porque el TDA se calienta en funcionamiento.
El programa utilizado fue ARES PROTEUS. Recomendado para los que inician en desarrollo de PCBs.
Materiales
Condensadores:
-0.1uF (104)
-47nF
-2200uF 16V
-10uF 16V
-470uF 16V
-2.2uF
Resistencias (todas de 1/2W)
-1 Ohm
-2.2 Ohm
-330 Ohm
-47 Ohm
CI:
-tda2003
Otros:
-Potenciometro 5k
-Molex (2)
-Disipador (pequeño para el TDA)
-Espadines macho
Descargas
Descargar PCBs + Lista de materiales
En el archivo .rar tambien esta el diagrama del circuito y la mascara de componentes.
Circuito terminado
Aquí tengo el montaje final de cómo queda terminado:
Los espadines los utilice para conectar la alimentación, es
dependiendo de dónde lo utilizaran, en mi caso lo usaba para laboratorio o para
experimentar por lo que necesite conectores prácticos, actualmente lo derive a
un pequeño equipo de audio reproductor de USB.
Suscribirse a:
Entradas
(
Atom
)