viernes, 18 de marzo de 2011

Testeamos el sensor de luz

'En este programa testeamos el valor del 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

'Este programa visualiza un 6 o un 7 mientras sean pulsados los interruptores
'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

'En este programa emitimos un sonido por el buzzer conectado a la salida 6 (PIEZ0)
'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

'Este programa permite visualizar los números del 0 al 9 en un bucle infinito

'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

Vamos a realizar un programa que encienda y apague la salida 7 cada segundo. Cuando se descarga el programa se encenderá el punto decimal del display de 7 segmentos del tablero, debe encenderse y apagarse cada segundo y el LED que se la ha conectado a la salida 7.






























main:
high 7
pause 1000
low 7
pause 1000
goto main
Este programa utiliza los comandos high y low para controlar el pin 7 de salida 7, y utiliza el comando de pause para causar un retardo (1000 ms= 1 segundo).
El último comando el goto hace que el programa salte a la etiqueta main, que es el comienzo del programa. Esto significa que el programa es un bucle perpetuo. Atención a que tras la palabra main hay dos puntos, esto indica al ordenador que la palabra es una etiqueta.
Instrucciones detalladas:
1. Conecte el cable PICAXE al puerto USB (que hayamos configurado).
2. Ejecute el programa PICAXE Programming Edition.
3. En Opciones en la pestaña modo PICAXE-18. En la pestaña puerto serie, escoger el puerto configurado.
4. Escribir el programa anterior.
5. Hay que asegurarse de que la tarjeta está conectada a las baterías.
6. Se selecciona PICAXE>Ejecutar. Una barra de descarga de programa debe aparecer mientras se descarga el programa. Al terminar el programa comienza a ejecutarse automáticamente.
Si todo va bien habéis conseguido controlar una pequeña luz con un programa de ordenador, el primer paso para controlar nuestros proyectos reales de Tecnología desde el ordenador. Estamos conectando el mundo virtual de nuestro ordenador con el mundo real.
Suerte y saludos.

Lo segundo instalar el Editor de Programa PICAXE y configurar el cable USB

Cuando insertéis el CD saldrá:









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.