viernes, 18 de marzo de 2011
Testeamos el sensor de luz
'En función del intervalo de intensidad donde se encuentre visualiza
'un número del 0 al 9
main:
low 7,6,5,4,3,2,1,0
readadc 2,b0
if b0 > 150 then nueve
if b0 > 135 then ocho
if b0 > 120 then siete
if b0 > 105 then seis
if b0 > 90 then cinco
if b0 > 75 then cuatro
if b0 > 60 then tres
if b0 > 45 then dos
if b0 > 30 then uno
if b0 < 30 then cero
goto main
nueve:
high 6,5,2,1,0
goto main
ocho:
high 6,5,4,3,2,1,0
goto main
siete:
high 2,1,0
goto main
seis:
high 6,5,4,3,2
goto main
cinco:
high 6,5,3,2,0
goto main
cuatro:
high 6,5,2,1
goto main
tres:
high 6,3,2,1,0
goto main
dos:
high 6,4,3,1,0
goto main
uno:
high 1,2
goto main
cero:
high 5,4,3,2,1,0
goto main
Visualizamos el nº del pulsador presionado
'6 o 7 (pin6 o pin7) respectivamente
'No visualiza nada si no se pulsan
main:
low 6,5,4,3,2,1,0
if pin7 = 1 then enciende7
if pin6 = 1 then enciende6
goto main
enciende7:
high 2,1,0
low 6,5,4,3
goto main
enciende6:
high 6,5,4,3,2
low 1,0
goto main
Emitimos un sonido controlado por bucle y frecuencia
'El sonido aumenta de frecuencia dentro de la escala propia de Picaxe
'Repite una y otra vez el sonido en un bucle infinito
'Doy saltos de 5 en 5 en la frecuencia para que vaya algo más rápido
main:
for b0 = 1 to 127 step 5
sound 6,(b0,1)
next b0
goto main
Programa CONTADOR infinito. Sustituto del EJERCICIO Nº 8 para la PICAXE-18M2
'Substituye la instrucción - let pins=%* - porque en Picaxe-18 no funciona
main:
high 5,4,3,2,1,0 'dibuja el 0
pause 500 'espera medio segundo
low 7,6,5,4,3,2,1,0 'borra todo
high 1,2 'dibuja el 1
pause 500
low 7,6,5,4,3,2,1,0
high 6,4,3,1,0 'dibuja el 2
pause 500
low 7,6,5,4,3,2,1,0
high 6,3,2,1,0 'dibuja el 3
pause 500
low 7,6,5,4,3,2,1,0
high 6,5,2,1
pause 500
low 7,6,5,4,3,2,1,0
high 6,5,3,2,0
pause 500
low 7,6,5,4,3,2,1,0
high 6,5,4,3,2
pause 500
low 7,6,5,4,3,2,1,0
high 2,1,0
pause 500
low 7,6,5,4,3,2,1,0
high 6,5,4,3,2,1,0
pause 500
low 7,6,5,4,3,2,1,0
high 6,5,2,1,0
pause 500
low 7,6,5,4,3,2,1,0
goto main
viernes, 4 de marzo de 2011
EJERCICIO Nº 3: Bucles For…Next
Con frecuencia es útil repetir una parte del programa varias veces, por ejemplo, al encender/apagar sucesivamente un diodo LED (Light Emitting Diode – Diodo Emisor de Luz). Para estos casos podemos utilizar un bucle for…next.
Este programa puede encender y apagar 15 veces el diodo LED conectado al pin de la salida 7. El número de veces que el código debe ser repetido es almacenado, usando la variable b0 (el PICAXE tiene 14 variables de 1 byte para uso general, nombrados de b0 a b13), en la memoria RAM del chip PICAXE. Estas variables pueden ser renombradas usando el comando symbol con el fin de hacerlas más fáciles de recordar.
symbol counter = b0 `definir la variable “counter” como b0
symbol dp = 7 `asignar al pin 7 con el “dp”
main:
for counter = 1 to 15 `iniciar un bucle for.next
high dp `encender pin 7
pause 500 `esperar 0.5 segundos
low dp `apaga pin 7
pause 500 `esperar 0.5 segundos
next counter `siguiente counter (b0)
end `fin del programa
Si nos fijamos, estamos usando los espacios en blanco para mostrar claramente todos los comandos contenidos entre los comandos for y next.
EJERCICIO Nº 2: Utilizando el comando Symbol
Algunas veces es difícil recordar qué pines están conectados a qué dispositivos. El comando symbol puede en estos casos ser utilizado al inicio del programa para renombrar a entradas y salidas. Conectaremos un timbre externo al pin de salida 7.
symbol dp = 7 `renombrar salida 7 “dp” (punto decimal)
symbol buzzer = 1 `renombrar salida 1 “buzzer” (timbre)
main: `hacer una etiqueta llamada “main”
high dp `LED encendido
low buzzer `timbre apagado
wait 1 `esperar 1 segundo
low dp `LED apagado
high buzzer `timbre encendido
wait 1 `esperar 1 segindo
goto main `regresar a main
Como habrás observado los comentarios se colocan tras un apóstrofe (`), esto facilita mucho la comprensión del programa, solamente sirven para eso, son ignorados por el ordenador al descargar el programa.
La etiqueta “main” puede ser cualquier palabra (con la excepción de palabras clave como por ejemplo “switch) pero deben empezar con una letra. La etiqueta definida por primera vez debe llevar al final dos puntos (:), esto indica al ordenador que la palabra es una nueva etiqueta.
Este programa utiliza el comando wait. Los comandos wait y pause se utilizan para crear retardos o tiempos muertos. Sin embargo el comando wait puede ser utilizado únicamente con segundos enteros, mientras que pause se puede utilizar para retardos más cortos, éstos se asignan en milésimas de segundo. Al comando wait se le pueden asignar números del 1 al 65, los cuales deben escribirse posteriormente al comando. Al comando pause se le pueden asignar números entre 1 y 65535.
Para usar una buena técnica de programación debemos usar tabulaciones (o espacios) al inicio de líneas sin etiquetas, de manera que los comandos estén alineados. El término “espacios en blanco” es utilizado por programadores para definir tabulaciones, espacios y líneas en blanco. Dichos “espacios en blanco”, utilizados correctamente, hacen al programa mucho más fácil de leer y entender.
Nota:
Algunas versiones antiguas de lenguaje BASIC utilizan “número de línea” en vez de etiquetas para trabajar con los comandos goto. Desafortunadamente, este sistema puede presentar serios inconvenientes ya que si el programa necesita ser modificado con posterioridad, agregando o eliminando líneas, todos los números de líneas posteriores deben ser modificados. El sistema de etiquetas que se utiliza actualmente en las versiones modernas de BASIC supera este problema automáticamente.
jueves, 3 de marzo de 2011
EJERCICIO Nº 1: Nuestro primer programa
main:
Suerte y saludos.
Lo segundo instalar el Editor de Programa PICAXE y configurar el cable USB
Le dáis al botón "Install de PICAXE Programming Editor" y el editor se instalará automáticamente. Luego reiniciáis el ordenador.
Lo siguiente es poner la placa conextada al ordenador mediante el cable USB, bien conectada a las pilas y luego abrimos el editor y nos saldrá una ventana de "Opciones" como esta:
En "Modo" seleccionáis "PICAXE-18M2", y le dáis a "Aplicar".
Luego:
En "Puerto Serie" clickáis es botón de "Device Manager" os saldrá el "Administrador de Tareas" y pinchando sobre "AXE27USB" que os aparecerá en "Otros Dispositivos" o en "Puertos COM y LPT", pincháis sobre ella con el botón derecho y actualizáis el controlador utilizando el "USB_ Drivers _AXE027" que viene en el CD. Volvéis a actualizar el ordenador.
Y esto último no sé si es estrictamente necesario, pero debéis instalar el driver que viene en la carpeta del CD "USB_Drivers_USB010". Y Reiniciáis de nuevo.
Con todo esto podemos empezar con nuestras prácticas de programación en BASIC para PICAXE.
Saludos y contadme en colabor@ cómo os va.