PICAXE

Prácticas de laboratorio para PICAXE

¿Qué PICAXE escoger? observa la siguiente tabla y escoge el que más se adecue a tus implementaciones:






Estos laboratorios han sido diseñados para que el interesado en PICAXE pueda entender su programación.  En esta recopilación encontraremos temas para implementar y diseñar sus propios proyectos con PICAXE, por lo tanto se explicarán algunos conocimientos básicos:

Circuitos base

Observa el circuito base de los distintos modelos de PICAXE desde su configuración de 8 a 20 pines, si deseas saber el circuito base para los de 28 y 40 pines revisa el manual 1 que trae el software de PICAXE.






Si tu PC no tiene puerto serial: puedes comprar un conversor de usb a serial y se conecta el cable serial que uno puede fabricar con un conector DB9, cable UTP, PICAXE utiliza un jack de audio para conectar,  pero yo prefiero tener los alambres libres sin conector para poderlo poner en el protoboard sin problemas.



Variables

En dispositivos PICAXE encontramos dos tipos de variables BYTE y WORD, una variable BYTE tiene 8 bits y una WORD es el conjunto de dos variables tipo BYTE.  Por ejemplo: w0 es el conjunto de b0 y b1, w1 es b2 y b3. Por lo que tenemos que tener claro que tipo de variable es la que necesitamos para cierta aplicación.

Configuración de puertos
Se debe revisar las configuraciones de los puertos de  cada uno de los modelos de PICAXE, ya que algunos tienen funciones especiales que solo esos pines la pueden realizar como: I2C(solo traen 2 pines SDA y SCL), ADC (la mayoria de puertos lo trae, pero no todos), PWM por hardware (especificamente de 1 a 3 pines según el modelo), puertos que solo son digitales, etc.  Observa la configuración de pines para el picaxe 8M2, 14M2, 18M2 y 20X2:






Conversor Análogo - Digital

Convierte una señal análoga a digital, puede utilizarse para una resolución de 8 o 10 bits, se aconseja proteger con hardware el puerto para evitar sobrevoltajes y dañarlo.

Laboratorios

Es recomendable que aparte que se hagan los laboratorios al pie de la letra, también cambien de puertos las salidas o entradas para poder adquidir la experiencia en el control de puertos. Para saber que hacen los comandos, les recomiendo leer el manual 2 de PICAXE, o puedes descargarlo desde aquí: PICAXE.

LABORATORIO 1 - semáforo:  Realizar un programa en lenguaje basic para el circuito mostrado abajo, el cual simule el funcionamiento de un semáforo con tiempos imaginarios.
  • do...loop: ciclo infinito el cual hace que el programa se repita, si no se coloca sólo se ejecuta 1 vez
  • low: asigna a un puerto definido un valor de 0 lógico como salida
  • high: asigna a un puerto definido un valor de 1 lógico como salida
  • pause: delay en ms.
  • for...next: ciclo definido
Materiales:

  • 1 PICAXE 20X2
  • 2 resistencias de 330 ohms
  • 1 resistencia 10kohms
  • 1 resistenca 22kohms
  • 3 LEDS (rojo, amarillo y verde)


CÓDIGO FUENTE:

do
high b.5
pause 3000
low b.5
high b.7
pause 4000
low b.7
pause 700
for b1=1 to 5
high b.6
pause 500
low b.6
pause 500
next b1
loop
También puedes utilizar el siguiente código, el cual te ayudará a entender el uso del comando "symbol".  El cual se utiliza para renombrar variables o constantes y hacerlas más faciles de recordar en la programación. No se utiliza el comando "symbol" en los demás laboratorios para efecto de demostraciónde programación pero te invito a que modifiques dichos laboratorios y apliques el comando symbol.

CÓDIGO FUENTE ALTERNO:

symbol rojo=b.5
symbol amarillo=b.6
symbol verde = b.7
do
 high rojo
 pause 3000
 low rojo
 high verde
 pause 4000
 low verde
 pause 700
 for b1=1 to 5
  high amarillo
  pause 500
  low amarillo
  pause 500
 next b1
loop


LABORATORIO 1a - semáforo:  Realizar un programa en lenguaje basic para el circuito mostrado abajo, el cual simule el funcionamiento de un semáforo con tiempos imaginarios.


Materiales:

  • 1 PICAXE 20X2
  • 2 resistencias de 330 ohms
  • 1 resistencia 10kohms
  • 1 resistenca 22kohms
  • 3 LEDS (rojo, amarillo y verde)


CÓDIGO FUENTE:

do
low b.5
pause 3000
high b.5
low b.7
pause 4000
high b.7
pause 700
for b1=1 to 5
low b.6
pause 500
high b.6
pause 500
next b1
loop


LABORATORIO 2 - ADC:  Realizar un programa en lenguaje basic para el circuito mostrado, el cual lea un valor  analógico en uno de sus puertos recibido por el potenciómetro e indique con 3 leds si es un nivel de voltaje alto (verde), medio (amarillo) o bajo(rojo) que recibe en su puerto.


Materiales:

  • 1 PICAXE 20X2
  • 2 resistencias de 330 ohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 Potenciometro 10 Kohms
  • 3 LEDS (rojo, amarillo y verde)


CÓDIGO FUENTE:

high b.5,b.6,b.7
do
readadc c.3,b1
if b1 < 86 then
low b.5
high b.6,b.7
endif
if b1 > 86 and b1 < 171 then
low b.6
high b.5,b.7
endif
if b1 < 170 then
low b.7
high b.6,b.5
endif
loop

LABORATORIO 3 - PWMRealizar un programa en lenguaje basic para el circuito mostrado, el cual lea un valor  analógico en uno de sus puertos recibido por el potenciómetro y atenue la intensidad lumínica de un led según sea el valor recibido del potenciómetro.
  • setfreq: asigna la frecuencia de trabajo del PICAXE
  • readadc: lee un valor análogo y lo convierte a digital con una resolución de 8 bits.
  • pwm: envia pulsos con ciclos de trabajo definido, es un comnado que rara vez se utiliza y compatible solo con algunos PICAXE, es recomendable usar este comando cuando necesitemos más pines de los que posee PICACE para hacer un PWM.

Materiales:

  • 1 PICAXE 20X2
  • 1 resistencia de 330 ohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 Potenciometro 10 Kohms
  • 1 LED rojo


CÓDIGO FUENTE:
setfreq m16
do
readadc b.6,b1
pwm b.7,b1,2
loop




LABORATORIO 4 - switch tipo toggle:  Realizar un programa en lenguaje basic para el circuito mostrado, el cual lea un valor  lógico 1 y luego 0  por medio de un interruptor.
  • input: define al puerto como entrada
  • output: define al puerto como salida
  • toggle: invierte el valor de la salida del puerto. Ej: si es 1 lo pasa a 0 y viceversa
Materiales:

  • 1 PICAXE 20X2
  • 1 resistencia de 330 ohms
  • 2 resistencias 10 Kohms
  • 1 resistencia de 1Kohms
  • 1 resistenca 22 Kohms
  • 1 Switch pulsador
  • 1 LED rojo
CÓDIGO FUENTE:
input c.2
output b.7
do
if pinc.2 = 1 then
pause 200
if pinc.2 = 0 then
toggle b.7
endif
endif
loop


LABORATORIO 4a - switch tipo toggle:  Realizar un programa en lenguaje basic para el circuito mostrado, el cual lea un valor  lógico 0 y luego 1  por medio de un interruptor.

Materiales:

  • 1 PICAXE 20X2
  • 1 resistencia de 330 ohms
  • 2 resistencias 10 Kohms
  • 1 resistencia de 1Kohms
  • 1 resistenca 22 Kohms
  • 1 Switch pulsador
  • 1 LED rojo
CÓDIGO FUENTE:
input c.2
output b.7
do
if pinc.2 = 0 then
pause 200
if pinc.2 = 1 then
toggle b.7
endif
endif
loop


LABORATORIO 5 - temperaturaRealizar un programa en lenguaje basic para el circuito mostrado, el cual lea la temperatura medida por el DS18B20 y envie el valor de la temperatura por medio de la comunicación serial a la PC.
  • readtemp: lee la temperatura de un DS18B20 y la guarda en una variable
  • sertxd: envia información a la PC por medio del cable de programación
Materiales:
  • 1 PICAXE 20X2
  • 1 resistencia de 330 ohms
  • 2 resistencias 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 DS18B20
CÓDIGO FUENTE:
do
readtemp c.6,b1
sertxd ("La temperatura es: ",#b1,13,10)
loop










LABORATORIO 6 - servomotorRealizar un programa en lenguaje basic para el circuito mostrado, el cual haga que un servomotor gire media vuelta y luego regrese al origen, el ciclo debe ser infinito.

  • servo: inicializa en el pin definido el servo y le dice donde posicionarse
  • servopos: después de inicializar se puede proceder a movilizar al servomotor con este comando, sus rangos son: mínimo 45 y máximo 225 (aproximadamente).
Materiales:
  • 1 PICAXE 20X2
  • 1 resistencia de 330 ohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 servomotor


CÓDIGO FUENTE:

servo b.7,75

b2=75
main:
if  b2 < 225 then
servopos b.7,b2
pause 200
b2=b2+10
endif
if  b2 > 225 then
servopos b.7,75
pause 200
b2=75
endif
goto main






LABORATORIO 6a - servomotorRealizar un programa en lenguaje basic para el circuito mostrado, el cual haga que un servomotor gire dependiendo de la cantidad que se gira un potenciómetro. Los límites de funcionamiento de dicho motor con respecto a su posición son: mínimo 45 y máximo 225 (aproximadamente).

Materiales:
  • 1 PICAXE 20X2
  • 2 resistencias de 330 ohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 potenciometro 10 Kohms
  • 1 servomotor

CÓDIGO FUENTE:

servo b.7,45

do
readadc c.7,b1
if b1 < 46 then
servopos b.7,45
endif
if b1 > 45 and b1 < 225 then
servopos b.7,b1
endif
if b1 > 225 then
servopos b.7,225
endif
loop




LABORATORIO 7 - sonidos morseRealizar un programa en lenguaje basic para el circuito mostrado, el cual haga piezo sounder produzca un sonido semejante al código morse. Utilizando los dos circuitos mostrados.
  • sound: produce pulsos para generar sonidos con un piezo sounder o una bocina.
Materiales:
  • 1 PICAXE 20X2
  • 1 resistencia de 1 Kohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 transistor 1N2222
  • 1 diodo 1N4004
  • 1 piezo buzzer
  • 1 capacitor de .1uf 25V
CÓDIGO FUENTE:
setfreq m16
main:
for b1 = 0 to 2
sound B.7,(110,30)
pause 50
sound B.7,(110,30)
pause 150 next b1
sound B.7,(110,35)
pause 250
sound B.7,(110,80)
pause 250
goto main
 Circuito 1:

Circuito 2:


LABORATORIO 8 - sensor HallRealizar un programa en lenguaje basic para el circuito mostrado, el cual detecte un campo magnético por medio de un sensor de efecto Hall (A3144), apague el LED.

Materiales:
  • 1 PICAXE 20X2
  • 1 resistencia de 1 Kohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 A3144
  • 1 LED rojo

CÓDIGO FUENTE:
input c.6
output c.2

do
    b1 = pinc.6
    if b1 = 1 then
        high c.2
    endif
    if b1 = 0 then
        low c.2
    endif
loop




LABORATORIO 9 - control de puertosRealizar un programa en lenguaje basic para el circuito mostrado, el cual controle el puerto del microcontrolador donde estan conectado los LEDs y que cuente de 0 a 15 y muestre en binario el valor contado.
  • pinsX: con este comando le decimos al PICAXE que envie un valor al puerto definido en formato binario.

Materiales:
  • 1 PICAXE 20X2
  • 4 resistencia de 1 Kohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 4 LEDs

CÓDIGO FUENTE:
output b.0,b.1,b.2,b.3
do

for b1 = 0 to 15

pinsb = b1

pause 750

next b1

loop




LABORATORIO 9a - control de puertosRealizar un programa en lenguaje basic para el circuito mostrado, el cual controle el puerto del microcontrolador donde estan conectado los LEDs y que cuente de 0 a 15 cuando se presiona el interruptor y muestre en binario el valor contado.

Materiales:
  • 1 PICAXE 20X2
  • 5 resistencia de 1 Kohms
  • 2 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 Interruptor
  • 4 LEDs

CÓDIGO FUENTE:

output b.0,b.1,b.2,b.3
input c.0
do
if pinc.0 = 1 then
pause 80
if pinc.0 = 0 then
for b1 = 0 to 15
pinsb = b1
pause 750
next b1
endif
endif
loop

LABORATORIO 9b - control de puertosRealizar un programa en lenguaje basic para el circuito mostrado, el cual controle el puerto del microcontrolador donde estan conectado los LEDs y que cuente de 0 a 255 y muestre en binario el valor contado.

Materiales:
  • 1 PICAXE 20X2
  • 8 resistencia de 1 Kohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 8 LEDs

CÓDIGO FUENTE:
output b.0,b.1,b.2,b.3,b.4,b.5,b.6,b.7
do

for b1 = 0 to 255

pinsb = b1

pause 250

next b1

loop





LABORATORIO 9c - control de puertosRealizar un programa en lenguaje basic para el circuito mostrado, el cual controle el puerto del microcontrolador donde estan conectado los LEDs y muestre en binario el valor leido por el ADC.

Materiales:
  • 1 PICAXE 20X2
  • 5 resistencia de 1 Kohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 1 Potenciometro de 10Kohms
  • 4 LEDs

CÓDIGO FUENTE:
output b.0,b.1,b.2,b.3
do
readadc c.2,b1
pinsb = b1
pause 250
loop




¿Por qué muestra que se repite la secuencia de 0 a 15 varias veces? el comando readadc es un comando de 8 bits por lo tanto lee de 0 a 255 lo cual hace que varias veces se repita la secuencia de 0 a 15.

LABORATORIO 9d - control de puertosRealizar un programa en lenguaje basic para el circuito mostrado, el cual controle el puerto del microcontrolador donde estan conectado los LEDs y despliegue valores aleatorios binarios (puede escoger los valores).

Materiales:
  • 1 PICAXE 20X2
  • 4 resistencia de 1 Kohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 4 LEDs

CÓDIGO FUENTE:

output b.0,b.1,b.2,b.3
do
    pinsb = 254
    pause 300
    pinsb = 001101
    pause 300
    pinsb = 001010
    pause 300
    pinsb = 000001
    pause 300
    pinsb = 0x0A
    pause 300
    pinsb = 0x00
    pause 300
    pinsb = 0x04
    pause 800
loop


LABORATORIO 9e - control de puertosRealizar un programa en lenguaje basic para el circuito mostrado, el cual controle el puerto del microcontrolador donde estan conectado los LEDs y que cuente de 0 a 9 y los despliegue en un display de 7 segmentos con un 4511B.

  • let dirsX: configura los pines del PICAXE para hacerlos salidas o entradas.

Materiales:
  • 1 PICAXE 20X2
  • 1 resistencia de 500 ohms
  • 1 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 4 LEDs

CÓDIGO FUENTE:
let dirsb = %11111111
do
for b1 = 0 to 9
let pinsb = b1
pause 1000
next b1
loop


LABORATORIO 10 - protocolo I2C: Realizar un programa en lenguaje basic para el circuito mostrado, el cual grabe por I2c a una memoria EEPROM dos valores 30 y 255 presionando dos interruptores (cada interruptor para cada uno de los valores) y que el otro PICAXE cuando se presione el interruptor si lee el la EEPROM 255 hará parpadear el LED.

  • hi2csetup: configura el protocolo I2C en donde se asigna si es maestro o esclavo, la dirección del maestro o del esclavo (por configurar el PICAXE como maestro se usa la dirección del esclavo), la velocidad de envio y en que empaquetado se envia (word o byte, depende del dispositivo I2C se define si es word o byte).
  • hi2cout: envia al número de registro del dispositivo el valor enviado entre paréntesis. 
  • hi2cin: lee en el registro asignado y lo almacena en una variable.

Materiales:
  • 2 PICAXE 20X2
  • 1 EEPROM 24LC256
  • 3 interruptores
  • 6 resistencia de 1 Kohms
  • 7 resistencia 10 Kohms
  • 2 resistenca 22 Kohms
  • 2 LEDs
 CÓDIGO FUENTE (maestro escribe):
hi2csetup i2cmaster, %10100000, i2cslow, i2cword
low c.7
main:
    if pinc.0 = 1 then
        pause 50
        high c.7
        hi2cout 0,(30)
        pause 80
        low c.7
    endif
    if pinc.2 = 1 then
        pause 50
        high c.7
        hi2cout 0,(255)
        pause 80
        low c.7
    endif
goto main
CÓDIGO FUENTE (maestro lee):
hi2csetup i2cmaster, %10100000, i2cslow, i2cword
main:
    if pinc.0 = 1 then
        pause 50
        hi2cin 0,(w1)
        if w1 = 255 then
            for b2 = 0 to 30
                toggle b.6
                pause 150   
            next b2
        endif
    endif
goto main


LABORATORIO 10a - protocolo I2C: Realizar un programa en lenguaje basic para el circuito mostrado, el cual grabe por I2c a una memoria EEPROM dos valores 30 y 255 presionando dos interruptores (cada interruptor para cada uno de los valores) y ese mismo PICAXE cuando se presione otro interruptor y lee en la EEPROM 255 hará parpadear el LED.

Materiales:
  • 1 PICAXE 20X2
  • 1 EEPROM 24LC256
  • 3 interruptores
  • 4 resistencia de 1 Kohms
  • 6 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 2 LEDs
CÓDIGO FUENTE:
hi2csetup i2cmaster, %10100000, i2cslow, i2cword
low c.7
main:
    if pinc.0 = 1 then
        pause 50
        high c.7
        hi2cout 0,(30)
        pause 80
        low c.7
    endif
    if pinc.2 = 1 then
        pause 50
        high c.7
        hi2cout 0,(255)
        pause 80
        low c.7
    endif
    if pinc.3 = 1 then
        pause 50
        hi2cin 0,(w1)
        if w1 = 255 then
            for b2 = 0 to 30
                toggle b.6
                pause 150   
            next b2
        endif
    endif
goto main


LABORATORIO 11 - interrupción: Realizar un programa en lenguaje basic para el circuito mostrado, el cual interrumpa el parpadeo de un LED utilizando una interrupción por Software. ¿Qué es una interrupción? el microcontrolador tiene la capacidad de analizar pines externos por  medio de un sub nucleo interno, para cuando suceda algún evento el microcontrolador sepa e interrumpe el programa original y hace ejecutar el cmando para la interrupción.

  • # picaxe 20x2: directiva que se emplea para decirle al software que debe grabarse el programa en un PICAXE 20X2.
  • setin: configura la interrupción por software, a este tipo de comando picaxe le llama "interrupción por arrastre" ya que antes de que se ejecute cada línea de comando se analiza el o los puertos en cuestión y ver si cumple con las condiciones, se recomienda al lector leer el Manual 2 de PICAXE sobre este tema.
  • interrupt: es la etiqueta por la cual se llamara la interrupción (es la asignada por PICAXE asi que no puede variarse), el subprocedimiento debe finalizarse repitiendo el comando setin (si no se agrega se desactivará la interrupción) y luego el comando "return".
  • return: hace regresar de un subprocedimiento al programa principal, si este comando se usa y no hay otro subprocedimiento creado al cual pueda estar ligado, el programa no marcara error pero cuando se ejecute, no funcionará correctamente.

Materiales:
  • 1 PICAXE 20X2
  • 1 interruptor
  • 3 resistencia de 1 Kohms
  • 2 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 2 LEDs

 CÓDIGO FUENTE:
# picaxe 20x2

setint 000100,000100,c
input c.2
output b.6
low c.7
do
    toggle b.6
    pause 150   
loop

interrupt:
    pause 10
    for b0 = 0 to 5
        pause 50
        high c.7
        pause 50
        low c.7
    next b0
    setint 000100,000100,c
    return


LABORATORIO 11a - interrupción: Realizar un programa en lenguaje basic para el circuito mostrado, el cual interrumpa el parpadeo de un LED utilizando una interrupción por Hardware.

  • hintsetup: comando para configurar los pines definidos para los PICAXE (únicamente PICAXE 20X2, 28X2 Y 40X2) y sus estados para interrumpir, se recomienda al lector leer más referente al tema de interrupciones por hardware en el manual 2 de PICAXE.
  • setintflags: crea interrupciónes en ciertas condiciones de las banderas, en el cual le indicamos que pin de interrupción se habilitará y su cndición.
  • interrupt: subprocedimiento con el cual inicia la interrupción, debe finalizarse con 4 comandos inicialización de la bandera de las interrupciones (hInt0Fla, hInt1Fla o hInt2Fla), hintsetup, setintflags y el comando return.
  • hInt1Fla: bandera la cual se tiene que inicializar a 0 después del subprocedimiento interrupt, cambia según el pin de interrupción que usamos (hInt0Fla, hInt1Fla y hInt2Fla).

Materiales:
  • 1 PICAXE 20X2
  • 1 interruptor
  • 3 resistencia de 1 Kohms
  • 2 resistencia 10 Kohms
  • 1 resistenca 22 Kohms
  • 2 LEDs

CÓDIGO FUENTE:
# picaxe 20x2

hintsetup 100010
setintflags 000010,000010
input b.0
output b.6, c.7
low c.7
do
    toggle b.6
    pause 150   
loop

interrupt:
    pause 10
    for b0 = 0 to 5
        pause 50
        high c.7
        pause 50
        low c.7
    next b0
     hInt1Flag = 0
     hintsetup   100010
     setintflags 000010, 000010
    return


32 comentarios:

  1. Los laboratorios estan bien calidad, con la demostración en video hasta dan ganas de comprarse el PICAXE y empezar a programar xD

    ResponderEliminar
  2. Felicitaros por el blog.

    Llevo tiempo para realizar un circuito de led.

    Les comento por si es posible realizarlo con un picaxe.

    Seria un circuito en el cual controlara 12 led.

    Seria 6 led en cascada y abajo otros 6.

    Tendría que tener un pulsador y cada pulsación fuera cayendo un led, desde arriba hacia a bajo y se quedara encendido uno de abajo, así sucesivamente hasta que se quedaran los 6 led encendidos.

    Tendría que tener dos pulsadores uno para ir encendiendo los led y otro para apagarlos cuando estuvieran los 6 led encendido.

    ferlubra@hotmail.com

    Gracias

    SALUDOS

    ResponderEliminar
    Respuestas
    1. Sería un interesante proyecto para trabajar controlando puertos, gracias por tu aporte. Lo tendré en mente

      Eliminar
  3. Estimado Julio, muchas gracias por tu respuesta.

    Si pudieras orientarme un poco.

    Tengo que comprar un picaxe y todo el material.

    Que picaxe me recomiendas para este proyecto y que documentos me recomiendas.

    Ya que me gustaria comenzar.

    Saludos

    Muchas gracias.

    ResponderEliminar
    Respuestas
    1. Toda la documentación de PICAXE la encuentras dentro de su programa, asi que descarga e instala este programa: http://www.picaxe.com/downloads/bas805.exe luego de que lo tengas instalado puedes buscar en la pestaña de Ayuda o Help y busques el MANUAL 1, ahi encontrarás como hacer el cable de comunicación a la pc, el circuito básico y características del PICAXE.

      El material que necesitas serían 3 resistencias, un cable, un conector db9 hembra, cautin y estaño, un protobard y componentes básicos y estarás listo.

      Yo te recomiendo el PICAXE 18M2 o el 20M2, incluso el 20X2...

      Eliminar
  4. Hola e encontrado información muy util en tu blog para útilizar el picaxe, tengo un picaxe18m2, y quisiera leer una señal analogica y esa señal verla en labview, en labview si tengo idea de como hacerlo, sólo que no se que se le debe programar al picaxe, supongo q es habilitar un puerto analogico, pro no se como decir que se envíe esa información en el puerto serial, espero me puedan ayudar. Gracias

    ResponderEliminar
    Respuestas
    1. Simple, utiliza el comando "sertxd" (buscalo en el pdf "basic commands".

      guardas en una variable la lectura análogica y la envias a la pc usando el comando sertxd (dependiendo de la frecuencia de reloj asi varia el baudiaje de transmisión)

      Eliminar
  5. hola, tengo una duda que no salgo de ella...
    arme el codigo con el picaxe 18m y todo bien, lo monte y funciona bien.
    Ahora quiere que me envie ciertos valores desde el picaxe a la PC.
    tengo la salida 7 libre para poder enviar datos.
    intente hacerlo con el SEROUT (7...) pero no logreo hacerlo.
    Conecte la salida 7 al SALSer , es esto correcto ?
    Vi otra opcion usando el serTxd, como es esto y por cual pin es la salida ?

    ResponderEliminar
    Respuestas
    1. Simple, utiliza el comando "sertxd" (buscalo en el pdf "basic commands".

      PICAXE usa los pines serin y serout para transmitir y recibir info a la PC

      Eliminar
  6. Sr julio que comando me recomienda para controlar la velocidad de 3m motores a la vez con un módulo rf es para un multirotor casero

    ResponderEliminar
  7. los picaxe tienen un comando específico para motores: FORDWARD, BACKWARD y HALT. Utilizas los pines que digan "Motor A, B y C" según el picaxe.

    Pero si no tambien puedes ponerlo haciendo High y low dos salidas del picaxe, no importa que comando sea. siempre tienes que tener un driver para motor.

    ResponderEliminar
  8. Hola como puedo o cual seria la programacion para un picaxe que se pueda poner por ejemplo en un despachador de productos cualfuera o x que este despachador tenga un monedero y este le envia una señal al picaxe y el picaxe que se ponga encendido o listo en todas sus entradas y segun la endrada que se activo sea la salida para cativar ya sea un motor o un solenoide y que ya no se active hasta que resiba otra orden del monedero espero su ayuda gracias ya que lo quiero para un proyecto escolar

    ResponderEliminar
  9. Hola como puedo o cual seria la programacion para un picaxe que se pueda poner por ejemplo en un despachador de productos cualfuera o x que este despachador tenga un monedero y este le envia una señal al picaxe y el picaxe que se ponga encendido o listo en todas sus entradas y segun la endrada que se activo sea la salida para cativar ya sea un motor o un solenoide y que ya no se active hasta que resiba otra orden del monedero espero su ayuda gracias ya que lo quiero para un proyecto escolar

    ResponderEliminar
  10. hola. mira me puedes ayudar con la practica 03 no se como hacerlo es k yo uso el picaxe 18x,ya se se usa el comando pwmout k esta en el pin 3 pero no sé como encender el led (si ponerlo en una entrada o en una salida especifica del modelo) también tengo otra pregunta por k pones high b.1 yo simplemente pongo high 1 (explícame k es a ,b y c. grax, soy nuevo en esto llevo 4 días creo xD
    si me puedes contestar a mi correo t agradecería mas. si no por akí. mi correos s ja-pl@hotmail.com

    ResponderEliminar
    Respuestas
    1. Hola, la diferencia la puedes ver en el documento uno del Help de picaxe (Getting Started), el 18x tiene pines definidos que son solo entradas y otros solo salidas.

      el 18M2 por ejemplo (o en mi caso que uso el 20x2), ya tiene la mayoria de sus pines que son entradas y salidas. Por lo tanto ya define mejor lo que son puetos, entonces tenemos puertoA, puertoB, puertoC (eso lo ves en la ayuda 1 en la sección del 18m2). entonces puando digo high b.1 significa que quiero que convierta en 1 lógico el pin 1 del puerto b, encambio el 18x no tiene eso... porque no tiene asignado puertos sino pines de entrada del 1 al 7 y pines de salida del 1 al 7 (no todos estan habilitados) asi que en el 18x tienes 7 entradas y menos de 7 salidas. Pero mira el nuevo modelo el 18m2 si te das cuenta casi todos los pines dicen in/out asi que aproximadamente tenemos 14 pines de entrada y salida, osea son más y si te das cuenta los pines tienen sus nombres: c.0 a c.7 y b.0 a b.7.

      ahora bien el comando PWM si ves en la ayuda #2 (Basic Commands) y buscas pwm verás que no es compatible apra el 18x.

      pwm: envia pulsos con ciclos de trabajo definido, es un comnado que rara vez se utiliza y compatible solo con algunos PICAXE, es recomendable usar este comando cuando necesitemos más pines de los que posee PICAXE para hacer un PWM.

      Tienes que usar el pwmout.

      Espero te haya servido.

      Eliminar
  11. Saludos desde Mexico. Esta interesante tu portal yo pienso que el conocimiento debe ser libre y no de unos cuantos. Los latinos tambien pensamos y no nadamas vendemos nuestros recursos naturales.

    Yo tengo el sueño de desarrollar un baumanometro digital (medidor de presion arterial) y espero que me sirvan tus aportaciones.

    Que tengas un buen dia.

    ResponderEliminar
  12. Julio esta muy bueno este blog. Tengo una pregunta: En la practica 5 de temperatura tu pudieras decirme que programa o que herrameinta estas utilizando en la PC para ver la temperatura que esta sensando el DS1820. Saludos de San Juan de Puerto Rico.

    ResponderEliminar
    Respuestas
    1. Utilizo el software de PICAXE pero tambien puedes usar la terminal de la pc

      Eliminar
  13. En Verdad Muchas Felicitaciones por el blog, he aprendido muchisimas cosas que no sabia, espero que sigan publicando mas, Gracias

    ResponderEliminar
  14. Hola Julio estupendo blog sobre el sistema picaxe, tengo unas dudas sobre como usar el comando pulsin pues no encuentro nada sobre este comando y me gustaría construir un interruptor comandado por radio como si fuera un servo
    ¿podrías decirme donde puedo encontrar algún programa similar
    saludos desde Barcelona (España)
    Fernando

    ResponderEliminar
    Respuestas
    1. AHorita no se me ocurre donde puedes ver uno similar... pero para saber del comando pulsin lo encuentras en el pdf de BASIC COMMANDS que trae el software de picaxe... Aunque no se para que lo quieres usar.

      Eliminar
  15. Felicidades por el Blog, estoy iniciandome en microcontroladores, al leer su informacion, se me abren mas las posibilidades de aprender a programar usando mas variables, Muchas Gracias por haber dedicado su tiempo, en presentar gratuitamente sus conocimientos, mucha gente lee, pero no le escriben, por xs razones, es de mucha ayuda su pagina
    Muchas Gracias y le envio muchas energias positivas
    Saludos

    ResponderEliminar
  16. buenas mire tengo una duda. solo soy un amateur de la electronica, pero bueno queria conectar un bluetooth al picaxe y no se como. Esta es la programacion k tengo, no se si esta bien:
    #picaxe28x2
    setfreq m8
    hsersetup B9600_8,
    main:
    hserin [200,main],0,b1
    serin c.7,N9600_8,b1
    serin c.6,N9600_8,b1
    serin c.7,T9600_8,b1
    serin c.6, N9600_8,b1
    if b1 = 1 then call apagar
    if b1 = 2 then call encender
    goto main
    encender:
    high c.0
    return
    apagar:
    low c.0
    return

    _______________________
    este el bluetooth :
    http://www.ebay.es/itm/321161810042?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
    y este es mi axe :
    http://www.picaxe.com/docs/axe401.pdf
    es muy similar al arduino tienen RX y RC n los pines C.6 y C.7
    correrirme gracias.

    ResponderEliminar
    Respuestas
    1. y cual es el dispositivo que envia? porque puede ser que te este funcionando pero tu programación es para recibir...

      por mi esta bien, pero puede ser que este leyendo otros valores, deberias probar ver que datos recibe el bluethoot

      Eliminar
    2. con mi movil, me sale que conecta con el bluetooth pero al poner el 1 o el 2 no responden puede k sea por la coneccion del bluetooth (vcc = 3.3 GND = negativo, TXD =RX=C.7 ,RXD =TX=C.6.
      por cierto la app ke usado es https://play.google.com/store/apps/details?id=com.dls.arducontroller&hl=es_419
      k con arduino me iba muy bien

      Eliminar
  17. Está muy interesante el blog, felicitaciones. Me gustaría saber cómo ingreso tres dígitos a un display multiplexado por medio de un teclado 4x4. Gracias
    lealdouglas1944@gmail.com

    ResponderEliminar
  18. Hola Julio:
    Te dejo un enlace a mi pagina donde estoy comenzando a realizar prácticas muy sencillas con mis alumnos por si le sirve a alguien que esté comenzando.

    http://www.youtube.com/user/planchibus

    ResponderEliminar
  19. Perdón, este es el enlace:

    https://www.youtube.com/playlist?list=PLtmSsfE36JKb8TakNSdWaIO0MhyUWIZLO

    ResponderEliminar
  20. Aquí os dejo un enlace a unos apuntes que he elaborado para mis alumnos. Consisten en la`explicación de la placa para el chip 18M2+, comandos básicos utilizados, sensores y actuadores más comunes y por último el enunciado de una serie de prácticas que he preparado para ellos.
    Espero que os sirvan, un saludo.

    https://www.dropbox.com/s/b6b4a1qph4f1y2h/Apuntes%20completos.pdf

    ResponderEliminar
    Respuestas
    1. Gracias, yo no explico casi nada de los comandos de picaxe ya que tienen una documentación muy buena que simplemente es de buscarlos, leer y listo.

      Eliminar