Consultas sobre Picaxe en ESPAÑOL

sedeap

Senior Member
Si tienes alguna duda y no puedes hallar la respuesta en el manual, o no entiendes como buscarla, pregunta aqui, en este hilo de consultas en español...

:)
 

sedeap

Senior Member
Translations

Of course... The language is only ONE instrument/tool to make the knowledge free and available for anyone !:)

Por supuesto... el idioma es solo un instrumento/herramienta para hacer que el conocimiento sea libre y accesible para cualquiera !:)
 

Rookie

Member
Genial!

Muy buena decision el hacer un thread en español, el foro anterior tenia una seccion completa, pero ya no esta disponible.
Incluso los manuales estan desactualizados, o no estan disponibles directamente, espero poder ayudar tambien con las traducciones y explicaciones.
Muy interesante seria si Technical convirtiera en Sticky este post.

So technical, please sticky this thread to top, please !
Thanks.

:)
 

sedeap

Senior Member
Si... es una lucha que tengo con Technical.... ya me ofreci varias veces a ayudarlos con las traducciones, pero no me responden, y cuando lo hacen, no concretan nada para hacer los manuales, no me autorizan, pero agradecen la ayuda que les pueda dar... no entiendo.
Si buscas en el archivo historico, vas a encontrar varios post con pedidos.

:eek:
 

sedeap

Senior Member
to technical

:rolleyes: Y aqui vamos de nuevo:

Technical: the email address in my profile works ok.
(I read it all days, I work with that email box every single day, even weekends)

Espero que puedan enviarme un saludo, aunque mas no sea.
Lo simpatico del asunto es que los avisos del foro diciendo que tengo PM llegan ok al email box.:p
 
Last edited:

sedeap

Senior Member
Mail received

Bueno... he recibido (y contestado) los mails desde las 3 cuentas disponibles, asi que estamos cada vez mas cerca de lograr una actualizacion de los manuales en Español !
:):):)
 

Tic-Tac

New Member
Como encender 8 Leds secuencialmente

Hola a todos ,soy novato en el Foro.
Alguien podria ayudarme, como encender secuencialmente 8 Leds ,con un Picaxe 08.
Gracias de antemano ,un saludo.
 

MAXTORCOMPUTER

New Member
Teclado Matricial Con Picaxe

Saludos soy nuevo en el foro y debo decir que mis conocimientos sobre picaxe es muy basico sin embargo con la ayuda de un amigo hemos construido algunos circuitos con sus programas y estan funcionando muy bien, mi pregunta es la siguiente: el programa para el teclado matricial 4 x 4, que esta en esta direccion

http://www.rev-ed.co.uk/docs/chi008.pdf

queria saber si hay alguna posibilidad de cambiarlo y hacer como una especie de flip-flop osea que al ingresar la clave active el rele y al ingresarla nuevamente lo desactive (seria como un suiche on/off) mil gracias

PD: habria que cambiar FET por un rele
 
Hola a todos ,soy novato en el Foro.
Alguien podria ayudarme, como encender secuencialmente 8 Leds ,con un Picaxe 08.
Gracias de antemano ,un saludo.
No se como hacerlo con solo el 08M pero si puedes conseguir un Decade Counter chip (4017B) podrias hacer secuencias de hasta 10 LED's.
Fijate en este link. http://http://www.technologystudent.com/elec1/count1.htm
En lugar de un 555 timer que muestran en el link tendrias mas control usando un Picaxe 08M
 

Tic-Tac

New Member
Encender 8 Led secuencialmente con Picaxe 08

Gracias Marmitas,por la respuesta.
Sé que con uno ,ó varios 4017 se pueden encender bastantes Led.
Pero es un reto, quisiera hacerlo con el Picaxe 08,pero tan solo he sido capaz de encender secuencialmente 6 Led y necesito en cender 8.
Un saludo.
 
queria saber si hay alguna posibilidad de cambiarlo y hacer como una especie de flip-flop osea que al ingresar la clave active el rele y al ingresarla nuevamente lo desactive (seria como un suiche on/off) mil gracias

PD: habria que cambiar FET por un rele
El circuito que muestran en página 7 es lo que necesitas, donde dice "solenoid" pones el relay. Para que active y desactive es simplemente por instrucciones en el programa.
No te conviene eliminar el FET porque podrías dañar el Picaxe.
El FET está para alimentar el solenoide del relay. El output pin del Picaxe está limitado a una corriente de 25mA lo cual es suficiente para saturar el gate del FET pero no suficiente para el relay. Entonces, cuando el gate está saturado, la corriente mas elevada que energiza el solenoide del relay pasa a travez del FET sin dañar el Picaxe.
 

sedeap

Senior Member
8 leds con un Px08

Hola TIC-TAC, te cuento que si no pudiste hacerlo todavia, la respuesta es que si... se puede con un picaxe 08/08M controlar 8 led, pero el truco esta en que nunca vas a tener TODOS apagados simultaneamente ni TODOS prendidos, porque siempre va a haber mas de uno prendido y mas de uno apagado.

El truco esta en que cada pata de salida reversible puede activar 2 leds (complementarios)y la de "solo-salida" activa uno...
Asi, directamente podes controlar 7 leds, para controlar 8 tenes que hacer un puente, aprovechando la propiedad de diodo que tienen los leds, asi, con 2 patas podes controlar 3 leds, con la ayuda de algunos transistores o de una compuerta lógica como el 4081b que es de muy bajo costo.

Tambien podes usar tres led de "3 colores" dependiendo del proyecto que estas haciendo, (que no dijiste cuál es).
Pero si lo que queres hacer es una barra tipo VUmeter vas a tener que usar algo mas y si queres hacer encender sólo uno a la vez, vas a necesitar un 4017 o similar.

Aqui diagrama de ayuda 1
Aqui diagrama de ayuda 2

:rolleyes:
 
Last edited:

sedeap

Senior Member
Respuesta para fizeu6 sobre 14M

Bueno... lo primero es saber que es lo que quieres hacer, una vez sabido, tienes varias posibles soluciones para intentar.
Yo particularmente uso los picaxe para ejecutar tareas repetitivas con escaso valor de variabilidad.
Alarmas, control, operacion sistematica, interfaces inteligentes... etc.
Si no sabes donde empezar, o solamente quieres jugar un poco con estos microcontroladores, sin intentar solucionar alguna necesidad especifica de trabajo o hobby... quizas te convenga revisar la parte de Finished projects y obtener de ahi alguna idea que quieras completar.
Los 14M se comportan igual que los 08M, tienen la misma capacidad (80 lineas de codigo) con algunas patas mas.
Son geniales para controlar pequeñas estaciones de trabajo y ejecutar tareas repetitivas con muy bajo costo.
Funcionan a pilas y eso les da una versatilidad muy grande, ya que los puedes usar en entornos portatiles sin necesidad de modificar el aparato en si mismo.
Idealmente, a mi entender, lo mejor para empezar es diseñar los aparatos en modulos, asi, los puedes reutilizar y recombinar para lograr tareas mas complejas sin necesidad de empezar de nuevo, ya que lo mas complicado reside en la manufactura de las plaquetas contenedoras ( PCB ) para el aparato final.
Mis soluciones usando microcontroladores (la mayoria compatible con Picaxes) son:
Módulos disponibles
  • Control de Suministro Trifásico
  • Control de suministro seccional monofásico
  • Control de iluminación por horario
  • Control de iluminación automático nocturno
  • Control de iluminación por detección de movimientos InfraRojos
  • Control de iluminación por detección de aproximación
  • Control de iluminación por barrera (Intrusión)
  • Control de iluminación por relevos activos mecánicos
  • Control de iluminación por relevos de estado sólido (No Mecánicos)
  • Control de iluminación por entrada y salida de dispositivos (Alarmas)
  • Control de iluminación por circuitos digitales
  • Control electrónico de interrupción por contacto
  • Control electrónico de interrupción por contacto digital de toque directo
  • Control electrónico de interrupción por Variación de voltaje de señal (Remotos)
  • Control electrónico de interrupción por Haz Láser hasta 300Mts
  • Control electrónico de interrupción por tiempo (Fijo ó Variable)
  • Control electrónico de interrupción automático (Simulador de presencia)
  • Control electrónico de interrupción por Lazo de señal (Antirrobo tipo Shopping)
  • Control electrónico de interrupción por contacto magnético
  • Control electrónico de interrupción por lazo óptico
  • Control electrónico de nivel de fluidos
  • Control electrónico de manejo de eventos por sensores
  • Iluminadores automáticos infrarrojos (Para visión Nocturna)
  • Iluminadores automáticos Ultravioletas (Para control de divisas)
  • Iluminadores decorativos de colores naturales y especiales para Stands y eventos
  • Iluminadores especiales para Tuning y Modding
  • Controles audiorrítmicos de varios canales para Tuning y Modding
Si te interesa alguno en particular, te puedo explicar su funcionamiento y la logica que usa para completar la tarea, asi podras escribir tu propio codigo y practicar haciendolo.

Salu2
 

Rookie

Member
Modulos

Hey... Parece que tienes muchos desarrollos interesantes ;)ahi...
Te sera posible enviarme los detalles de todos ellos?

Al PM o al Email...

Gracias
 
Si tienes alguna duda y no puedes hallar la respuesta en el manual, o no entiendes como buscarla, pregunta aqui, en este hilo de consultas en español...
:)
Hola Sedeap, un gusto conocerte...
Te molesto solo dos segundos... Estoy teniendo problema con mi espanglish, ya que mi base en la escuela técnica, fue Aleman, y en la Uni, lo mismo, Deutsch y mas Deutsch y en paralelo como segundo idioma optativo, tuve que escoger Ingles... El tema esta en que no puedo entender bien la hoja de datos del LCD3310; Recurri al viejo sistema del burro, que a los golpes aprende y de todos los topic que encontre, no logre armar una base solida en cuanto al control de caracteres y imagenes...
Digamos que estoy perdido; Me podrías dar una mano? Las rutinas de inicializacion, creo que las entiendo....

Code:
;*******************************************************************
;******** Tabla de caracteres ASCII para LCD NOKIA *****************
;*******************************************************************
  '''0x00,0x00,0x5f,0x00,0x00,   // 21 !
  '''0x00,0x07,0x00,0x07,0x00,   // 22 "
  '''0x14,0x7f,0x14,0x7f,0x14,   // 23 #
  '''0x24,0x2a,0x7f,0x2a,0x12,   // 24 $
  '''0x23,0x13,0x08,0x64,0x62,   // 25 %
  '''0x36,0x49,0x55,0x22,0x50,   // 26 &
  '''0x00,0x05,0x03,0x00,0x00,   // 27 '
  '''0x00,0x1c,0x22,0x41,0x00,   // 28 (
  '''0x00,0x41,0x22,0x1c,0x00,   // 29 )
  '''0x14,0x08,0x3e,0x08,0x14,   // 2a *
  '''0x08,0x08,0x3e,0x08,0x08,   // 2b +
  '''0x00,0x50,0x30,0x00,0x00,   // 2c ,
  '''0x08,0x08,0x08,0x08,0x08,   // 2d -
  '''0x00,0x60,0x60,0x00,0x00,   // 2e .
  '''0x20,0x10,0x08,0x04,0x02,   // 2f /
  '''0x3e,0x51,0x49,0x45,0x3e,   // 30 0
  '''0x00,0x42,0x7f,0x40,0x00,   // 31 1
  '''0x42,0x61,0x51,0x49,0x46,   // 32 2
  '''0x21,0x41,0x45,0x4b,0x31,   // 33 3
  '''0x18,0x14,0x12,0x7f,0x10,   // 34 4
  '''0x27,0x45,0x45,0x45,0x39,   // 35 5
  '''0x3c,0x4a,0x49,0x49,0x30,   // 36 6
  '''0x01,0x71,0x09,0x05,0x03,   // 37 7
  '''0x36,0x49,0x49,0x49,0x36,   // 38 8
  '''0x06,0x49,0x49,0x29,0x1e,   // 39 9
  '''0x00,0x36,0x36,0x00,0x00,   // 3a :
  '''0x00,0x56,0x36,0x00,0x00,   // 3b ;
  '''0x08,0x14,0x22,0x41,0x00,   // 3c <
  '''0x14,0x14,0x14,0x14,0x14,   // 3d =
  '''0x00,0x41,0x22,0x14,0x08,   // 3e >
  '''0x02,0x01,0x51,0x09,0x06,   // 3f ?
  '''0x32,0x49,0x79,0x41,0x3e,   // 40 @
  '''0x7e,0x11,0x11,0x11,0x7e,   // 41 A
  '''0x7f,0x49,0x49,0x49,0x36,   // 42 B
  '''0x3e,0x41,0x41,0x41,0x22,   // 43 C
  '''0x7f,0x41,0x41,0x22,0x1c,   // 44 D
  '''0x7f,0x49,0x49,0x49,0x41,   // 45 E
  '''0x7f,0x09,0x09,0x09,0x01,   // 46 F
  '''0x3e,0x41,0x49,0x49,0x7a,   // 47 G
  '''0x7f,0x08,0x08,0x08,0x7f,   // 48 H
  '''0x00,0x41,0x7f,0x41,0x00,   // 49 I
  '''0x20,0x40,0x41,0x3f,0x01,   // 4a J
  '''0x7f,0x08,0x14,0x22,0x41,   // 4b K
  '''0x7f,0x40,0x40,0x40,0x40,   // 4c L
  '''0x7f,0x02,0x0c,0x02,0x7f,   // 4d M
  '''0x7f,0x04,0x08,0x10,0x7f,   // 4e N
  '''0x3e,0x41,0x41,0x41,0x3e    // 4f O 
  '''0x3e,0x41,0x51,0x21,0x5e,   // 51 Q
  '''0x7f,0x09,0x19,0x29,0x46,   // 52 R
  '''0x46,0x49,0x49,0x49,0x31,   // 53 S
  '''0x01,0x01,0x7f,0x01,0x01,   // 54 T
  '''0x3f,0x40,0x40,0x40,0x3f,   // 55 U
  '''0x1f,0x20,0x40,0x20,0x1f,   // 56 V
  '''0x3f,0x40,0x38,0x40,0x3f,   // 57 W
  '''0x63,0x14,0x08,0x14,0x63,   // 58 X
  '''0x07,0x08,0x70,0x08,0x07,   // 59 Y
  '''0x61,0x51,0x49,0x45,0x43,   // 5a Z
  '''0x00,0x7f,0x41,0x41,0x00,   // 5b [
  '''0x02,0x04,0x08,0x10,0x20,   // 5c
  '''0x00,0x41,0x41,0x7f,0x00,   // 5d
  '''0x04,0x02,0x01,0x02,0x04,   // 5e
  '''0x40,0x40,0x40,0x40,0x40,   // 5f
  '''0x00,0x01,0x02,0x04,0x00,   // 60
  '''0x20,0x54,0x54,0x54,0x78,   // 61 a      
  '''0x7f,0x48,0x44,0x44,0x38,   // 62 b
  '''0x38,0x44,0x44,0x44,0x20,   // 63 c
  '''0x38,0x44,0x44,0x48,0x7f,   // 64 d
  '''0x38,0x54,0x54,0x54,0x18,   // 65 e
  '''0x08,0x7e,0x09,0x01,0x02,   // 66 f
  '''0x0c,0x52,0x52,0x52,0x3e,   // 67 g
  '''0x7f,0x08,0x04,0x04,0x78,   // 68 h
  '''0x00,0x44,0x7d,0x40,0x00,   // 69 i       
  '''0x20,0x40,0x44,0x3d,0x00,   // 6a j
  '''0x7f,0x10,0x28,0x44,0x00,   // 6b k
  '''0x00,0x41,0x7f,0x40,0x00,   // 6c l
  '''0x7c,0x04,0x18,0x04,0x78,   // 6d m
  '''0x7c,0x08,0x04,0x04,0x78,   // 6e n
  '''0x38,0x44,0x44,0x44,0x38,   // 6f o
  '''0x7c,0x14,0x14,0x14,0x08,   // 70 p
  '''0x08,0x14,0x14,0x18,0x7c,   // 71 q
  '''0x7c,0x08,0x04,0x04,0x08,   // 72 r
  '''0x48,0x54,0x54,0x54,0x20,   // 73 s
  '''0x04,0x3f,0x44,0x40,0x20,   // 74 t
  '''0x3c,0x40,0x40,0x20,0x7c,   // 75 u
  '''0x1c,0x20,0x40,0x20,0x1c,   // 76 v
  '''0x3c,0x40,0x30,0x40,0x3c,   // 77 w
  '''0x44,0x28,0x10,0x28,0x44,   // 78 x
  '''0x0c,0x50,0x50,0x50,0x3c,   // 79 y
  '''0x44,0x64,0x54,0x4c,0x44,   // 7a z
  '''0x00,0x08,0x36,0x41,0x00,   // 7b
  '''0x00,0x00,0x7f,0x00,0x00,   // 7c
  '''0x00,0x41,0x36,0x08,0x00,   // 7d
  '''0x10,0x08,0x08,0x10,0x08,   // 7e
  '''0x78,0x46,0x41,0x46,0x78    // 7f

Code:
;******************************************************************
;******Configuracion de puertos y variables para nuestra rutina y hardware**********
;******************************************************************
symbol SCLK = 0	'Display pin 2 to PICAXE out 0
symbol SDA = 1	'Display pin 3 to PICAXE out 1
symbol DC = 2	'Display pin 4 to PICAXE out 2
symbol CS = 3	'Display pin 5 to PICAXE out 3
symbol RES = 4	'Display pin 8 to PICAXE out 4
symbol Loop1 = b0
symbol Value= b1
symbol Loop2 = b2
symbol Command = b3
symbol Counter = b4
symbol X = b6
symbol Y = b7
symbol Mask = b8
symbol Loop3 = b9

En esta sección es donde me pierdo concretamente

Code:
;**********************************************************
;****************** rutina de control ***************************
;**********************************************************

setfreq m8
gosub Init
gosub black

for Loop3=0 to 0                 ; aca van las veces que se repite
	X=4*loop3 
	Y=Loop3
	gosub GotoXY

	gosub PRname
        next
        gosub normal
   setfreq m4
    
start:
    pause 500
    gosub black
    pause 500
    gosub invert
    pause 500
    gosub white
    pause 500
    gosub normal
    goto Start	

PrName:
	Command = 0
	for Loop1 = 0 to 100         ;aca se guarda el conteo de la cantidad de caracteres de la palabra
		read Loop1,Value
		gosub WriteToLCD
	   next Loop1
           return

Init:
	EEPROM 0,(....aca van los caracteres de la lista superior....)
	low SCLK 
	low SDA
	low DC
	low CS
	low RES
	pause 20
	low RES
	pause 500
	high RES
	high CS
	Command = 1
	for Loop1 = 0 to 5 		‘ comienza el bucle
		read Loop1, Value 	‘ lee el valor de la EEPROM
		gosub WriteToLCD 	‘ transmite al lcd
	next Loop1
        gosub white
	X = 0
	Y = 0
	gosub GotoXY
        gosub clearfast
        gosub normal
        return

Code:
;***********************************************************
;****************variables de control ****************************
;**********************************************************
WriteToLCD:
	high DC	'Data mode
	if Command = 0 then DataMode
	low DC	'Command mode
	DataMode:
	low CS
	for Loop2 = 1 to 8
		low SCLK
		Mask = Value & 128
		low SDA
		if Mask = 0 then Skiphigh
		high SDA
		Skiphigh:
		high SCLK
		Value = Value * 2
	next Loop2
	high CS
        return

ClearFast:
	low SDA
	high DC
	low CS
	for Loop1=1 to 48
		for Loop3= 1 to 84
			low SCLK
			high SCLK
		next loop3
	next Loop1
        return

GotoXY:
	Command = 1
	Value = X + 128
	gosub WriteToLCD
	Value = Y + 64
	gosub WriteToLCD
        return

Invert:
	Command = 1
	Value = 13
	gosub WriteToLCD
        return

Black:
	Command = 1
	Value = 9
	gosub writetolcd
        return

White:
	command=1
	value=8
	gosub writetolcd
return

Normal:
	command=1
	value=12
	gosub writetolcd
        return
El tema esta en que no es tan sencillo como pensaba, osea, no es como manejar un display 16x2...
Como puedo hacer para poder escribir en toda la pantalla? graficar? me darias una mano con este tema?
 

fernando_g

Senior Member
Debido a la limitacion de los pines de salida que tiene el 08M, vas a necesitar algun componente externo que te ayude a manejar los 8 LEDs.....esto no tiene nada de malo, de hecho es practica comun utilizar circuitos de "ayuda" para microcontroladores pequeños.
Adicionalmente al CD4017 mencionado arriba, puedes considerar un registro de desplazamiento como el 74HC595, o algun decodificador de 3 lineas a 8 lineas como el 74HC237.
 

sedeap

Senior Member
2008-2011

OK... Fernando, estamos de acuerdo, pero ese post tiene 3 años de antigüedad,
si el tipo no lo ha solucionado ya, debe haber abandonado hace rato el tema... (con un 08)

 

sedeap

Senior Member
Ajjjajajaja... Condorito... hace años que no lo recordaba....

ahora es todo Simpson... Homero dice: D'oh!
 

yv1hx

Member
Hola amigos, soy nuevo al mundo PicAXE, tengo una duda..a pesar que el manual dice que el picaxe 14m (noten, no las partes M2 o X2) puede transmitir en el puerto serial a 9600 con el comando:

serout 0, N9600_16, ("PRUEBA 9600",CR,LF)

No puedo lograr que escriba nada, el terminal incorporado en el entorno de programacion muestra solamente basura.

Ya probe con las combinaciones:

serout 0, N9600_16, ("PRUEBA 9600",CR,LF)

serout 0, T9600_16, ("PRUEBA 9600",CR,LF)

Con el mismo resultado.

Si bajo la velocidad a 4800 serout 0, 4800, ("PRUEBA 9600",CR,LF) funciona perfecto!

Alguna ayuda?

Gracias mil.
 

tiscando

Senior Member
English:
Hi, I'm new to PICAXE. I have a problem .. even though the manual says that the PICAXE 14M (not M2 or X2) can transmit at 9600 baud with the command:
Code:
serout 0, N9600_16 ("PRUEBA 9600", CR, LF)
The Programming Editor's terminal shows only garbage.

I have tried the combinations:
Code:
serout 0, N9600_16 ("PRUEBA 9600", CR, LF)

serout 0, T9600_16 ("PRUEBA 9600", CR, LF)
With the same result.

If I reduce the baud rate to 4800, "serout 0, 4800, ("TEST 9600", CR, LF)" works perfect!

Any help?

Thanks a lot.
"N9600_16" means "9600 baud if the PICAXE's clock frequency is set to 16 MHz", which is actually equivalent to N2400_4 (2400 baud at clock frequency 4 MHz). Baud rate increases if clock frequency increases.

As 16MHz is not possible on a PICAXE 14M, Try this:
Code:
SETFREQ M8                   'set clock frequency to 8 MHz
SEROUT 0, N9600_8 ("PRUEBA 9600", CR, LF)
The default clock rate of the PICAXE 14M is 4 MHz. The SETFREQ M8 sets the clock frequency to match the "_8" in N9600_8.

Also ensure the programming editor's terminal is set to 9600 baud.

Sorry if my spanish is bad.

T


Hola,

"N9600_16" es: "transmitir a 9600 si la frecuencia de sistema del PICAXE está ajustado a 16 MHz", que es equivalente realmente a "N2400_4" (= 2400 si la frecuencia de sistema está 4 MHz). La velocidad de transmisión serial aumenta a medida que aumenta la frecuencia de sistema.

Proba esta:
Code:
SETFREQ M8                   'ajusta la frecuencia de sistema a 8 MHz
SEROUT 0, N9600_8 ("PRUEBA 9600", CR, LF)
La frecuencia de sistema por defecto de los PICAXE partes M y M2 es 4 MHz. El comando "SETFREQ M8" ajusta la frecuencia de sistema a 8 MHz para igualar el "_8" en "N9600_8" y transmite a 9600, de lo contrario se transmiten a 4800.

lo siento si mi español es mal, pero hice mi mejor esfuerzo para ayudar a... :)


Notas: los ingleses llaman la frecuencia del sistema de PICAXE "frecuencia de reloj" (clock rate), y llaman la velocidad de transmisión "velocidad baud" (baud rate). 16 MHz no es posible en los PICAXE partes M - el máximo es 8 MHz.

T
 
Last edited:

LAG77

New Member
Hola, buen día...
Soy novato en Picaxe y necesito ayuda para hacer un velocímetro. Se de dónde sacar los pulsos del sensor de velocidad, lo conectaría a un pin de entrada y lo calcularía con la función "Count", pero haciendo la simulación con el Programming Editor no me funciona. Me podrían tirar una idea de como hacerlo con un Picaxe 08 o un 18M2?? Desde ya, muchas gracias!
 

eclectic

Moderator
Welcome to the Forum. :)

I hope Google translate works. :)

A magnet on the spokes.
A reed relay on the fork.

The Picaxe uses the "Count" command.

Un imán en los radios.
Un RELAY REED en el tenedor.
El PICAXE utiliza el "Count" comando.

e
 

LAG77

New Member
Welcome to the Forum. :)

I hope Google translate works. :)

A magnet on the spokes.
A reed relay on the fork.

The Picaxe uses the "Count" command.

Un imán en los radios.
Un RELAY REED en el tenedor.
El PICAXE utiliza el "Count" comando.

e
Esa es mi idea... pero no puedo hacer funcionar la función "Count" en la simulación. Tenés algún ejemplo que funcione para darme?
 

sedeap

Senior Member
Simular Count en simulador...

Hola:
Tal como hace notar el amigo Eclectic, el simulador no acierta a contar adecuadamente solo pulsando el PIN en pantalla.
Puedes ver la foto aqui de como setear el simulador para que simule la cuenta...
Otra opcion es conectar la plaqueta con el Picaxe a la PC y usar el comando DEBUG para verificar que funciona... cuando pasa el iman...
No hace falta poner varios imanes en la rueda, con uno alcanza para calcular el perimetro de la rueda y la distancia recorrida, de alli sacas la velocidad (distancia / tiempo)
Otro tema es la visualizacion de los resultados... podes usar un display... o podes usar leds (colores=referencias) por ej: amarillo para menos de 10Km/h, verde entre 10 y 20Km/h y azul para mas de 30Km/h... o podes hacerlos titilar (incluso a diferentes velocidades) y hasta 3Led cada 2 pines.

Espero te sirva da base, cualquier duda, aqui estamos...

:)
 
Lag77, si incluís el circuito y el programa seria más facil ayudarte. Yo también soy novato, pero tengo algo de experiencia diseñando un dinamómetro para un motor de automodelismo. Me llevó varios meses pero al final anduvo. Terminé usando una combinación de emisor-detector infrarojo para medir las revoluciones.
Suerte y no te desanimes, seguí preguntando, acá estamos.
Saludos :)
Andrés
 
Last edited:

seferman

New Member
uso del comando eeprom

hola deseo saber como debo escribir esta rutina correctamente porque el editor me da error al verificar la syntax

borrar:
data b0,($FF)
pause 50
goto main

Si tienes alguna duda y no puedes hallar la respuesta en el manual, o no entiendes como buscarla, pregunta aqui, en este hilo de consultas en español...

:)
 

yv1hx

Member
hola deseo saber como debo escribir esta rutina correctamente porque el editor me da error al verificar la syntax

borrar:
data b0,($FF)
pause 50
goto main
Hola seferman,

Cual es el error que devuelve? Podrias colocar una captura de pantalla de error?
 
borrar:
data b0,($FF)
pause 50
goto main
Puedes eliminar uno de los dos errores cambiando lo siguiente:
En lugar de goto main
Cámbialo por goto borrar

El otro error es el comando:
data b0,($FF)
Si lo que quieres es escribir el valor $FF en la dirección b0 de la memoria, primero debes darle un valor a la variable b0 y luego usas el comando Write. Detalles del uso de ese comando los encuentras en el Manual Número 2 de Picaxe

Suerte con el proyecto y sigue preguntando, que aquí tienes amigos.

Andrés
 

sedeap

Senior Member
eeprom // data

hola deseo saber como debo escribir esta rutina correctamente porque el editor me da error al verificar la syntax

borrar:
data b0,($FF)
pause 50
goto main
Hola:
Si te fijas en el manual on-line, primero inicializas la variable y escribis un valor, que luego podras leer

Code:
eeprom 0,(“abcd”)    ; inicializa EEPROM con un valor al momento de grabar/cargar el prog al picaxe

main:   
for b0 = 0 to 10        ; comienza ciclo
      read b0,b1            ; lee valor EEPROM
      serout B.7,N2400,(b1)        ; transmite al LCD 
    next b0                ; proximo ciclo
goto main
Ese valor sera fijo (incluso si desconectas el PX) mientras no sobreescribas con otro dato
para escribir algo que, por ejemplo venga del Serial,
Code:
recibe:    
for b0 = 0 to 63    ; comienza ciclo
      serin C.6,N2400,b1    ; recibe serial (valor)
      write b0,b1        ; escribe valor de b1 en b0
    next b0            ; proximo ciclo
Usualmente de un sensor

Cualquier otra duda, pregunta nuevamente

Salu2
:cool:
 

afacuarius

New Member
con gusto encuentro una seccion en español, aunque abandonada un poquin, tengo algunas dudas, mi ingles no es muy bueno, hay alguien que me ayude ??


saludos
 

inglewoodpete

Senior Member
Welcome to the PICAXE forum. Please post your questions in Spanish. The forum has members who understand many languages. We can also use language translators to help you.

It may take a while but we can help :)

From Google Translate:
Desde Google Translate: Bienvenido al foro PICAXE. Por favor enviar sus preguntas en español. El foro cuenta con miembros que entienden muchos idiomas. También podemos usar traductores de idiomas que le ayude.

Se puede tomar un tiempo, pero nos puede ayudar :)
 

SAborn

Senior Member
I just wonder how PE excepts Spanish, some how i expect the syntax checker would have a melt down. :D

Never tried it but how do Google translator go on converting code, again i would expect syntax problems.
 

afacuarius

New Member
Hola
Gracias por contestar
estoy iniciandome en este maravilloso mundo de los microcontroladores, tengo varios proyectos ya realizados con leds, son muy sencillos, pero me a costado mucho tiempo entender, pero poco a poco lo estoy dominando.
tomando las bases de muchos ejemplos que estan aqui.
dudas tengo muchas, pero mejor entremos en materia les parece ??
estoy usando el traductor de google, espero me puedan entender.
proyecto:
esta es una baliza de leds, como las que llevan las patrullas, por ahora la tengo funcionando con un dip que son microswitch, para camabiar cada rutina o juego de luces, debe poner en on cada salida, estoy usando las salidas 0,1,2 y 6,
quiero hacer ese cambio mas sencillo, con solo presionar un boton de presion, que se cambien las secuencias, esto como lo puedo lograr ??





Hello
Thanks for answering
I am initiating me into the wonderful world of microcontrollers, I have several projects already made with LEDs, are very simple, but cost me a long time to understand, but slowly I'm dominating.
taking the bases of many examples that are here.
I have many questions, but better go into the field you think??
I'm using the google translator, I hope I can understand.
project:
this is an LED beacon, like the ones patrols, for now I have running a microswitch dip are to camabiar each routine or set of lights should be turned on each output, I'm using the 0.1 outputs, 2 and 6,
I want to make that change easier, just by pressing a push button, you change the strings, as I can this achieve??


(picaxe 18m2)


regards

Code:
b1 = 80
b2 = 175
b3 = 400
b4 = 90
b5 = 400
b6= 25


inicio:

if input0 is on then bala 'si la entrada 0 es "1" salta a subrutina bala sino a inicio
if input1 is on then balb 'si la entrada 1 es "1" salta a subrutina balb sino a inicio
if input2 is on then balc 'si la entrada 2 es "1" salta a subrutina balc sino a inicio
if input6 is on then bald 'si la entrada 6 es "1" salta a subrutina bald sino a inicio


goto inicio 'salto a inicio


bala: `entrada a

high 0,1,2
pause b1
low 0,1,2
low 0,1,2
pause b1
high 0,1,2
high 0,1,2
pause b1
low 0,1,2
low 0,1,2
pause b1
high 0,1,2
high 0,1,2
pause b1
low 0,1,2
high 3,4,5
pause b1
low 3,4,5
low 3,4,5
pause b1
high 3,4,5
high 3,4,5
pause b1
low 3,4,5
low 3,4,5
pause b1
high 3,4,5
high 3,4,5
pause b1
low 3,4,5
high 0,1,2
pause b1
low 0,1,2
low 0,1,2
pause b1
high 0,1,2
high 0,1,2
pause b1
low 0,1,2
low 0,1,2
pause b1
high 0,1,2
high 0,1,2
pause b1
low 0,1,2
high 3,4,5
pause b1
low 3,4,5
low 3,4,5
pause b1
high 3,4,5
high 3,4,5
pause b1
low 3,4,5
low 3,4,5
pause b1
high 3,4,5
high 3,4,5
pause b1
low 3,4,5
high 0,1,2
pause b1
low 0,1,2
low 0,1,2
pause b1
high 0,1,2
high 0,1,2
pause b1
low 0,1,2
low 0,1,2
pause b1
high 0,1,2
high 0,1,2
pause b1
low 0,1,2
high 3,4,5
pause b1
low 3,4,5
low 3,4,5
pause b1
high 3,4,5
high 3,4,5
pause b1
low 3,4,5
low 3,4,5
pause b1
high 3,4,5
high 3,4,5
pause b1
low 3,4,5
high 0,1,2
pause b1
low 0,1,2
low 0,1,2
pause b1
high 0,1,2
high 0,1,2
pause b1
low 0,1,2
low 0,1,2
pause b1
high 0,1,2
high 0,1,2
pause b1
low 0,1,2
high 3,4,5
pause b1
low 3,4,5
low 3,4,5
pause b1
high 3,4,5
high 3,4,5
pause b1
low 3,4,5
low 3,4,5
pause b1
high 3,4,5
high 3,4,5
pause b1
low 3,4,5




balb: `entrada b

high 0
pause b2
low 0
high 5
pause b2
low 5
high 0
pause b2
low 0
high 5
pause b2
low 5
high 0
pause b2
low 0
high 5
pause b2
low 5
high 0
pause b2
low 0
high 5
pause b2
low 5
high 0
pause b2
low 0
high 5
pause b2
low 5
high 0
pause b2
low 0
high 5
pause b2
low 5
high 0
pause b2
low 0
high 4,5
pause b3
low 4,5
high 0,1
pause b3
low 0,1
high 4,5
pause b3
low 4,5
high 0,1
pause b3
low 0,1
high 4,5
pause b3
low 4,5
high 0,1
pause b3
low 0,1
high 4,5
pause b3
low 4,5
high 0,1
pause b3
low 0,1
high 4,5
pause b3
low 4,5
high 0,1
pause b3
low 0,1
high 4,5
pause b3
low 4,5
high 0,1
pause b3
low 0,1
high 4,5
pause b3
low 4,5
high 0,1
pause b3
low 0,1
high 4,5
pause b3
low 4,5





balc: `entrada c

high 0,1,2,3,4,5
pause b1
low 0,1,2,3,4,5
low 0,1,2,3,4,5
pause b1
high 0,1,2,3,4,5
high 0,1,2,3,4,5
pause b1
low 0,1,2,3,4,5
low 0,1,2,3,4,5
pause b1
high 0,1,2,3,4,5
high 0,1,2,3,4,5
pause b1
low 0,1,2,3,4,5
low 0,1,2,3,4,5
pause b1
high 0,1,2,3,4,5
high 0,1,2,3,4,5
pause b1
low 0,1,2,3,4,5
low 0,1,2,3,4,5
pause b1
high 0,1,2,3,4,5
high 0,1,2,3,4,5
pause b1
low 0,1,2,3,4,5
low 0,1,2,3,4,5
pause b1
high 0,1,2,3,4,5
high 0,1,2,3,4,5
pause b1
low 0,1,2,3,4,5
low 0,1,2,3,4,5
pause b1
high 0,1,2,3,4,5
high 0,1,2,3,4,5
pause b1
low 0,1,2,3,4,5
low 0,1,2,3,4,5
pause b1
high 0,1,2,3,4,5
high 0,1,2,3,4,5
pause b1
low 0,1,2,3,4,5
low 0,1,2,3,4,5
pause b1
high 0,1,2,3,4,5
low 0,1,2,3,4,5





bald: `entrada d

low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 0,5
pause b6
high 0,5
high 0,5
pause b6
low 0,5
low 0,5
pause b6
high 0,5
high 0,5
pause b6
low 0,5
low 0,5
pause b6
high 0,5
high 0,5
pause b6
low 0,5
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 0,5
pause b6
high 0,5
high 0,5
pause b6
low 0,5
low 0,5
pause b6
high 0,5
high 0,5
pause b6
low 0,5
low 0,5
pause b6
high 0,5
high 0,5
pause b6
low 0,5
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 2,3
pause b6
high 2,3
high 2,3
pause b6
low 2,3
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 1,4
pause b6
high 1,4
high 1,4
pause b6
low 1,4
low 0,5
pause b6
high 0,5
high 0,5
pause b6
low 0,5
low 0,5
pause b6
high 0,5
high 0,5
pause b6
low 0,5

low 0,5
pause b6
high 0,5

high 0,5
pause b6
low 0,5

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 2,3
pause b6
high 2,3

high 2,3
pause b6
low 2,3

low 2,3
pause b6
high 2,3

high 2,3
pause b6
low 2,3

low 2,3
pause b6
high 2,3

high 2,3
pause b6
low 2,3

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 0,5
pause b6
high 0,5

high 0,5
pause b6
low 0,5

low 0,5
pause b6
high 0,5

high 0,5
pause b6
low 0,5

low 0,5
pause b6
high 0,5

high 0,5
pause b6
low 0,5

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 2,3
pause b6
high 2,3

high 2,3
pause b6
low 2,3

low 2,3
pause b6
high 2,3

high 2,3
pause b6
low 2,3

low 2,3
pause b6
high 2,3

high 2,3
pause b6
low 2,3


low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4


low 0,5
pause b6
high 0,5

high 0,5
pause b6
low 0,5

low 0,5
pause b6
high 0,5

high 0,5
pause b6
low 0,5

low 0,5
pause b6
high 0,5

high 0,5
pause b6
low 0,5

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

low 1,4
pause b6
high 1,4

high 1,4
pause b6
low 1,4

pause b5


goto inicio 'salto a inicio
[video=youtube_share;b8ujfZLwO7o]http://youtu.be/b8ujfZLwO7o[/video]
 
Last edited:

inglewoodpete

Senior Member
He visitado México y España en el pasado, pero mi español es muy pobre. ¿La palabra "camabiar" significa change (cambio)?

I have visited Mexico and Spain in the past but my Spanish is very poor. Does the word "camabiar" mean cambiar (change)?

I think I understand what you want to do. You want to use a single push button switch to step through different LED flash sequences. I will try to help but I need to know more details. Do you want each button press to step from one program to the next in sequence? Eg Off <press> bala <press> balb <press> balc <press> bald <press> Off

Creo que entiendo lo que quieres hacer. Usted desea utilizar un solo interruptor de botón para desplazarse por las diferentes secuencias de flash LED. Voy a tratar de ayudar, pero necesito saber más detalles. ¿Quieres que cada vez que pulse el botón para pasar de un programa a otro en secuencia? Por ejemplo: Off <press> bala <press> balb <press> balc <press> calva <press> Off

You are using variables to control the lengths of "pause" statement. Since the value of the variable does not change, you could change the controlling value to a constant. The will release the variables for use somewhere else in your program.

Está utilizando variables para controlar la longitud de la declaración de "pausa". Dado que el valor de la variable no cambia, puede cambiar el valor de control a una constante. El dará a conocer las variables para su uso en otro lugar en el programa.

Eg. Replace reemplazar
Code:
b1 = 80               'A variable
'con (with)
Symbol Delay80mS = 80 'A constant
There are some parts of your program that make it very long and it may not do what you want it to. Also, when something is repeated, you can do it in a loop and take less program space. At he end of each flashing sequence you need to return to the main loop (Goto inicio)

Hay algunas partes del programa que hacen que sea muy larga y no puede hacer lo que quiere. Además, cuando se repite algo, lo puede hacer en un bucle y tomar menos espacio del programa. En él final de cada secuencia de parpadeo que necesita para volver al bucle principal (Goto inicio)
Code:
bala:
      For b10 = 1 To 4			'Repeat the whole sequence - 4 times
         For b11 = 1 To 3		'Flash 0,1,2 - 3 times
            high 0,1,2
            pause Delay80mS
            low 0,1,2
            pause Delay80mS
         Next b10
         For b10 = 1 To 3		'Flash 3,4,5 - 3 times
            high 3,4,5
            pause Delay80mS
            low 3,4,5
            pause Delay80mS
         Next b11
      Next b10
      Goto inicio             'Return to the main loop
Your question was about using a momentary action push button. This can be a problem with simple code like yours because you must read the switch input often. If you press the switch when the code is flashing the LEDs, your program may not detect the button press.

I will write some sample code if you can answer my questions.

Su pregunta era sobre el uso de un pulsador de acción momentánea. Esto puede ser un problema con el código simple como la suya, ya que debe leer la entrada del interruptor de frecuencia. Si pulsa el interruptor cuando el código parpadea el LED, el programa no puede "ver" al pulsar un botón.

Voy a escribir un código de ejemplo, si usted puede contestar a mis preguntas.
 

afacuarius

New Member
hello inglewoodpete
Thanks for answering

Your Spanish is good and it is understood, I use google translator because my English is very basic.

The word camabiar is to change, it was wrong finger, I'll have more care to write, since language, but the more typos complicate the solution to my doubts, in fact, change is change.

I've understood correctly, with a push botom, I desplasarme by all sequences that are 4 bullet, balb, balcony, and bald.

is that the program is over, I did so in order that other people understand the basic operation using picaxe, similarly, use some repetitions and loops to make the program not as big as I am using it for so now I put it in the forum.

This is my first program "formal" start with1 pair of LEDs, up to this part, I have already done successfully a few other things, but here I stopped at this point that I have no idea even how to use the commands.

as comets, there is a problem in my program, because to do what I want, you need to be finished sequence to tighten the push button and start another sequence, but what I want is that at any time by pressing pass from one to another

I have several projects in mind, mostly are for model ships,
in Mexico there is this kind of hobby, mostly we have to do or make and to bring it to other countries is very expensive, this project is for a boat interceptor using surface mount LEDs, the boat is navigable, I like you commented make it easier to push the push of a button.


Thank you and I hope your comments

regards


hola inglewoodpete
Gracias por contestar

Tu español es bueno y se entiende, yo uso el traductor de google, ya que mi ingles es muy basico.

La palabra camabiar es cambiar, fue un error de dedo, tendre mas cuidado al escribir, ya que el idioma, mas los errores de escritura complicaran mas la solucion a mis dudas, en efecto, cambiar es change.

Me has entendido bien, con un push botom, quiero desplasarme por todas las secuencias que son 4, bala, balb, balc, y bald.

se que es largo el programa, lo hice asi con la finalidad de que otras personas entiendan el funcionamiento del basic al usar picaxe, de igual forma, use algunos bucles para las repeticiones y no hacer el programa tan grande, tal como lo estoy usando por ahora asi lo puse en el foro.

Este es mi primer programa "formal" inicie con1 par de leds, hasta llegar a esta parte, he hecho ya algunas otras cosas con exito, pero aqui en este punto me detuve por que no tengo idea aun de como usar los comandos.

como comentas, existe un problema en mi programa, ya que para hacer lo que quiero, es necesario se termine una secuencia para apretar el push boton e inicie otra secuencia, pero lo que quiero es que en cualquier momento al presionar pase de una a otra

Tengo varios proyectos en mente, en su mayoria son para modelismo naval,
en Mexico no existe este tipo de Hobby, en su mayoria lo tenemos que hacer o fabricar ya que traerlo de otros paises sale muy caro, este proyecto es para un barco interceptor usando leds de montaje superficial, el barco es navegable, quiero como te comento hacerlo mas facil con solo apretar un push boton.


Muchas Gracias y espero tus comentarios

Saludos
 
Top