Beruflich Dokumente
Kultur Dokumente
2
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Fabricación de circuitos impresos por
transferencia térmica:
Este método consiste en imprimir el diseño del circuito con una impresora
láser (o hacer una fotocopia) y posteriormente transferir mediante calor el
tóner del papel a la cara del cobre de la placa virgen. Como el tóner es
resistente al ácido, todo lo que haya quedado cubierto por esta sustancia
estará preservado de la solución corrosiva.
Los pasos que hay que seguir para obtener un circuito impreso por este
método son los siguientes:
4. Planchado
Ésta es la parte más delicada. Usaremos una plancha normal a su
máxima temperatura (sin vapor), un trozo de papel de cocina y una
tabla o similar para apoyar. Lo primero que tenemos que hacer es
colocar el fotolito sobre el cobre, de manera que el tóner toque la cara
del cobre de nuestra placa. Se puede asegurar el papel sobre la placa
con pequeños trozos de cinta adhesiva pues es fundamental que no se
3
LA CONTROLADORA PICAXE EN TECNOLOGÍA
mueva durante este proceso. Posteriormente, colocaremos la placa con
el papel dentro de un trozo de papel de cocina doblado para evitar el
contacto directo con la plancha y procederemos a “planchar” sobre el
papel que cubre la placa. Se debe tener el cuidado de presionar el
centro y los bordes por igual utilizando la parte central de la plancha
suavemente, sin apretar mucho, durante cuatro o cinco minutos, para
que el tóner se funda y adhiera al cobre. El cambio de color del papel
que cubre la placa es síntoma de que se ha aplicado la cantidad de calor
adecuada. Una vez llegado a este punto, para evitar que el papel
encoja, es necesario sumergir inmediatamente la placa en agua
jabonosa, y dejar reposar durante unos 20 minutos.
6. Lavado
Una vez retirado el papel es necesario limpiar la placa para retirar los
restos de celulosa y ceras que puedan interferir en el proceso de ataque
químico. Para ello, frotaremos con una esponja suave impregnada con
jabón líquido y agua abundante durante aproximadamente un minuto.
7. Corrección de errores
Si hubiese algún defecto en alguna pista, podemos corregirlo con un
rotulador adecuado (Edding 3000), sobre la placa seca. Para mejorar la
calidad de estos “parches” se pueden dar varias capas de rotulador.
MEDIDAS DE SEGURIDAD
!
Evitar las salpicaduras y en caso de contacto con la piel lavar con
abundante agua y jabón. Si nos salpicase a los ojos hay que acudir
al médico.
Es muy importante no deshacerse de estos líquidos corrosivos por
desagües o fregaderos u otros sitos donde pueda existir posibilidad
de corrosión (se comen el metal).
Controlador y microntrolador
Recibe el nombre de controlador el dispositivo que se emplea para el
gobierno de uno o varios procesos. Por ejemplo, el controlador que regula
el funcionamiento de un horno dispone de un sensor que mide
constantemente su temperatura interna y, cuando traspasa los límites
prefijados, genera las señales adecuadas que accionan los actuadores
que intentan llevar el valor de la temperatura dentro del rango estipulado.
Aunque el concepto de controlador ha permanecido invariable a través del
tiempo, su implementación física ha variado frecuentemente. Hace tres
décadas, los controladores se construían exclusivamente con
componentes discretos, posteriormente se emplearon los
microprocesadores, que se rodeaban con chips de memoria y E/S sobre
una placa de circuito impreso. En la actualidad, todos los elementos del
controlador se han podido incluir en un chip, el cual recibe el nombre de
microcontrolador. Realmente consiste en un sencillo pero completo
ordenador contenido en el corazón de un circuito integrado.
Microntroladores
Microcontroladores PIC
En los últimos años han tenido gran auge los microcontroladores PIC
(Peripheral Interface Controller) son una familia de microcontroladores
que ha tenido gran aceptación y desarrollo en los últimos años, gracias a
que sus excelentes características, bajo coste, reducido consumo,
pequeño tamaño, gran calidad, fiabilidad y abundancia de información, lo
convierten en muy fácil, cómodo y rápido de utilizar.
6
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Microcontroladores PICAXE
7
LA CONTROLADORA PICAXE EN TECNOLOGÍA
CONSTRUCCIÓN DE UN ENTRENADOR
PICAXE 08 SOBRE CIRCUITO IMPRESO
NOTA:
El pin 3 es de sólo entrada y el pin 0 de sólo salida.
Se puede alimentar el circuito con una tensión comprendida entre 3 y 6 v.
El pin 0 se utiliza para la descarga del programa y como salida. Por este
motivo, es necesario colocar un conmutador o un jumper para seleccionar
la función del pin.
! Este circuito puede suministrar unos 25 mA por salida, por lo que sólo se
deben conectar directamente pequeñas cargas (led, altavoz etc...). Para
conectar cargas que consuman corrientes superiores a 25 mA será
necesario intercalar un transistor o circuito similar.
8
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Circuito básico:
1
2
3
Cable de programación:
Esquema mejorado:
Este esquema
representa el circuito
básico, al que se le han
añadido cuatro LED
para indicar el estado
de las salidas, un
microaltavoz conectado
a la salida 0 y un LED
indicador de
funcionamiento.
9
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Relación de componentes
10
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Resultado:
11
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Prueba de la placa:
Para comprobar el correcto funcionamiento del circuito seguimos los siguientes
pasos:
• Conectamos la alimentación (5v)
• Conectamos el cable de programación a la placa y al ordenador.
• Ponemos el interruptor en posición de carga.
• Abrimos el editor de programas e indicamos el tipo de chip que estamos
usando (Picaxe 08).
• Escribimos uno de los programas de prueba y pulsamos el botón “cargar”.
• Cambiamos la posición del conmutador de carga.
'**********************
'* prueba led *
'**********************
prueba: 'nombre del programa
high 0 'enciende LED en pin 0
wait 1 'retardo 1 segundo
high 1 'enciende LED en pin 1
wait 1 'retardo 1 segundo
high 2 'enciende LED en pin 2
wait 1 'retardo 1 segundo
high 4 'enciende LED en pin 4
wait 1 'retardo 1 segundo
'**********************
'* prueba sonido *
'**********************
prueba: 'nombre del programa
12
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Una vez cargado el programa, se conecta un trozo de cable al positivo de la
alimentación y una resistencia de 10k entre la entrada a probar y masa. Para probar
la entrada en cuestión hay que tocar con el extremo del cable al borne de dicha
entrada. Al hacer esto debe cambiar el sonido.
'**************************
'* prueba entrada 1 *
'**************************
prueba: 'nombre del programa
'**********************
'* led movimiento *
'**********************
b0 = 70 'define la variable b0 y le asigna el valor 70
13
LA CONTROLADORA PICAXE EN TECNOLOGÍA
'*************************
'* led movimiento 2 *
'*************************
b0 = 70
b1 = 100
led:
14
LA CONTROLADORA PICAXE EN TECNOLOGÍA
'**************************
'* led movimiento 3 *
'**************************
15
LA CONTROLADORA PICAXE EN TECNOLOGÍA
CONSTRUCCIÓN DE UN ENTRENADOR PICAXE 18
18A 18 80 3 5 8 256 si
NOTA:
No es preciso resonador externo, pues el chip posee uno interno.
Este circuito puede suministrar unos 25 mA por salida, por lo que sólo se
deben conectar directamente pequeñas cargas (led, altavoz etc...). Para
! conectar cargas que consuman corrientes superiores a 25 mA será
necesario intercalar un transistor o circuito similar.
16
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Circuito básico:
Circuito mejorado:
Cable de programación
17
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Relación de componentes:
Ref Descripción
D1 Led verde 3mm Ø
D2.....D
9
Led rojo 3mm Ø
R1......R
9
Resistor 220Ω ¼ w
R10…..
R15
Resistor 10KΩ ¼ w
R16 Resistor 22KΩ ¼ w
R17 Clemas dobles CI
C1, C2 Condensador 100 µF, 16v
Microcontrolador Picaxe
IC1
18, 18A, o 18x
I1 Pulsador araña pequeño
Conmutador CI pequeño o
I2, I3 tiras de 3 pines con
jumpers
3 clemas circuito impreso
triples
3 clemas circuito impreso
dobles
1 microaltavoz
varios 4 separadores latón 10mm
4 tornillos M3 5mm
8 arandelas M3
1 Conector audio estéreo
3,5 mm hebra
1 zócalo de 18 pines
Fotolito:
18
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Distribución de entradas y salidas:
Resultado:
19
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Verificación del entrenador:
‘**********************************************************************************************************
’*****************************************PRUEBA SALIDAS******************************************
‘**********************************************************************************************************
Salidas:
high 0 ‘Pone la salida “0” a nivel alto. Se debe iluminar el primer LED
pause 1000 ‘Espera 1000 ms
high 1 ‘Pone la salida “1” a nivel alto. Se debe iluminar el segundo LED
pause 1000 ‘Espera 1000 ms
high 2 ‘Pone la salida “2” a nivel alto. Se debe iluminar el tercer LED
pause 1000 ‘Espera 1000 ms
high 3 ‘Pone la salida “3” a nivel alto. Se debe iluminar el cuarto LED
pause 1000 ‘Espera 1000 ms
high 4 ‘Pone la salida “4” a nivel alto. Se debe iluminar el quinto LED
pause 1000 ‘Espera 1000 ms
high 5 ‘Pone la salida “5” a nivel alto. Se debe iluminar el sexto LED
pause 1000 ‘Espera 1000 ms
high 6 ‘Pone la salida “6” a nivel alto. Se debe iluminar el séptimo LED
pause 1000 ‘Espera 1000 ms
high 7 ‘Pone la salida “3” a nivel alto. Se debe iluminar el último LED
Se deben ir encendiendo secuencialmente todos los LED, uno cada segundo. Al finalizar el
programa todos los LED han de quedar encendidos.
20
LA CONTROLADORA PICAXE EN TECNOLOGÍA
VERIFICACIÓN DE LAS ENTRADAS
‘**********************************************************************************************************
’*******************************************PRUEBA ENTRADAS**************************************
‘**********************************************************************************************************
Entradas:
If input2 is on then indica ‘Si la entrada “2” está a nivel alto salta la subrutina “indica”
goto entradas ‘Vuelve al inicio del programa
Indica: ‘Nombre de la subrutina
Let pins=%00000001 ‘Pone simultáneamente todas las salidas a los niveles ‘indicados
‘en el número binario 00000001. Los ceros indican nivel bajo y
‘los unos nivel alto. El primer dígito de la combinación
‘corresponde a la salida 7
pause 100 ‘Espera 100 ms
Let pins=%00000010 ‘Pone las salidas a 00000010
pause 100 ‘Espera 100 ms
Let pins=%00000100 ‘Pone las salidas a 00000100
pause 100 ‘Espera 100 ms
Let pins=%00001000 ‘Pone las salidas a 00001000
pause 100 ‘Espera 100 ms
Let pins=%00010000 ‘Pone las salidas a 00010000
pause 100 ‘Espera 100 ms
Let pins=%00100000 ‘Pone las salidas a 00100000
pause 100 ‘Espera 100 ms
Let pins=%01000000 ‘Pone las salidas a 01000000
pause 100 ‘Espera 100 ms
Let pins=%10000000 ‘Pone las salidas a 10000000
pause 100 ‘Espera 100 ms
Let pins=%00000000 ‘Pone las salidas a 00000000
Una vez grabado el programa, cuando toquemos con el extremo del cable el borne de la
entrada 2 se deberán encender los LED siguiendo la secuencia programada. Si queremos
repetir el test, deberemos resetear la placa y volver a poner la entrada 2 a nivel alto. Para
comprobar las demás entradas, cambiaremos el 2 de la primera línea del programa por el
número de la entrada a testear, grabaremos el nuevo programa y repetiremos todos los
pasos para las entradas restantes.
21
LA CONTROLADORA PICAXE EN TECNOLOGÍA
COMANDOS BÁSICOS
DEBUG Var
Visualiza la información contenida en la variable Var en la ventana del depurador durante la
ejecución.
Var: variable con un valor previamente cargado
Ejemplo:
inicio:
debug b1 visualiza el valor de b1
let b1 = b1+1 incrementa el valor de b1 en una unidad
pause 500 espera de 0,5 segundos
salto inicio salta a inicio (bucle)
VARIABLES
El sistema PICAXE da soporte a las siguientes variables:
Bits: PIN0, PIN1, PIN2, PIN3, PIN4, PIN5, PIN6, PIN7 (conjuntamente igual PINS)
BIT0, BIT1, BIT2, BIT3, BIT4, BIT4, BIT5, BIT6, BIT7 (conjuntamente igual B0)
BIT8, BIT9, BIT10, BIT11, BIT12, BIT13, BIT14, BIT15 (conjuntamente igual B1)
In/Out añade los pseudo nombres:
INPUT0, INPUT1, etc. puede usarse en lugar de PIN0, PIN1, tec.
OUTPUT0, OUTPUT1, etc. puede usarse en lugar de 0, 1, 2, etc.
END
Detiene la ejecución del proceso y entra en modo de bajo consume. Todos los pins de I/O
permanecen en el estado en que se encuentran. END trabaja ejecutando una instrucción SLEEP
continua dentro de un bucle. Un END, STOP ó GOTO deben ser colocados al final de un programa
para evitar pasar del límite de la misma u comience nuevamente.
Ejemplo:
inicio:
let b2 = 15 ‘set b2 con valor 15
pause 2000 ‘espera de 2 segundos
gosub flash ‘salta al procedimiento flash
let b2 = 5 ‘set b2 con valor 5
pause 2000 ‘espera de 2 segundos
gosub flash ‘salta al procedimiento flash
end
flash:
for b0 = 1 to b2 ‘define el bucle con el valor b2
high 1 ‘salida 1 a nivel alto
pause 500 ‘espera de 0,5 segundos
low 1 ‘salida 1 a nivel bajo
pause 500 ‘espera de 0,5 segundos
next b0 ‘fin de bucle
return ‘retorno a linea siguiente de la llamada
22
LA CONTROLADORA PICAXE EN TECNOLOGÍA
FOR … NEXT
FOR contador = start TO end {STEP {-} inc} {body}
El bucle FOR … NEXT permite a los programas ejecutar un número de declaraciones {body} un
número de veces, usando una variable como contador. Debido a su complejidad y versatilidad, es
mejor describirla paso a paso. El valor de start se asigna a la variable índice: count, que puede ser
una variable de cualquier tipo. Se ejecuta las instrucciones de body. Body es opcional y puede ser
omitido (quizás por un bucle de demora). El valor de inc es sumado a (ó restado si se especifica “-“)
count. Si no se define un valor steep, se incrementa count en una unidad. Si count no pasó end ó
desbordó el tipo de variable, la ejecución vuelve al paso 2. Si el bucle necesita contar más de 255
(count > 255), se debe usar una variable de tamaño Word.
Ejemplo:
bucle:
for b0 = 1 to 20 ‘define el bucle con repetición de 1 a 20
high 1 ‘salida 1 a nivel alto
pause 500 ‘espera de 0,5 segundos
low 1 ‘salida 1 a nivel bajo
pause 500 ‘espera de 0,5 segundos
next b0 ‘fin de bucle
pause 2000 ‘espera de 2 segundos
goto bucle ‘salta a bucle para comienzo de nuevo
GOSUB etiqueta
Salta a la subrutina indicada en etiqueta, guardando su dirección de regreso en la pila (snack). A
diferencia del GOTO, cuando se llega a un RETURN, la ejecución sigue con la declaración siguiente
al último GOSUB ejecutado.
Se puede usar un número ilimitado de subrutinas en un programa y pueden estar anidadas. En otras
palabras, las subrutinas pueden llamar a otra subrutina. Cada anidamiento no debe ser mayor de
cuatro niveles.
Ejemplo:
inicio:
let b2 = 15 ‘set b2 con valor 15
pause 2000 ‘espera de 2 segundos
gosub flash ‘salta al procedimiento flash
let b2 = 5 ‘set b2 con valor 5
pause 2000 ‘espera de 2 segundos
gosub flash ‘salta al procedimiento flash
end
flash:
for b0 = 1 to b2 ‘define el bucle con el valor b2
high 1 ‘salida 1 a nivel alto
pause 500 ‘espera de 0,5 segundos
low 1 ‘salida 1 a nivel bajo
pause 500 ‘espera de 0,5 segundos
next b0 ‘fin de bucle
return ‘retorno a linea siguiente de la llamada
23
LA CONTROLADORA PICAXE EN TECNOLOGÍA
GOTO etiqueta
La ejecución del programa continúa en la declaración de la etiqueta.
Ejemplo:
inicio:
high 1 ‘salida 1 a nivel alto
pause 5000 ‘espera de 5 segundos
low 1 ‘salida 1 a nivel bajo
pause 5000 ‘espera de 5 segundos
goto inicio ‘salta a inicio
HIGH pin
Pone a nivel alto el pin especificado y lo convierte automáticamente en salida. Pin puede ser una
constante, 0 – 7, ó una variable que contenga un número de 0 – 7 (p. ej. B0) ó un número de pin (p.
ej. PORTA.0)
Ejemplo:
bucle:
high 1 ‘pone salida 1 a nivel alto
pause 5000 ‘espera de 5 segundos
low 1 ‘pone la salida 1 a nivel bajo
pause 5000 ‘espera de 5 segundos
goto bucle ‘salta a comienzo de bucle repetitivo
if…then
if…and…then
if…or…then
IF variable ?? valor {AND/OR variable ?? valor …} THEN etiqueta
Estructura de comparación condicional con salto a una dirección determinada (etiqueta) en caso de
que se cumpla.
??: condicional =, <>, >=, <=, >, <
Variable: valor de la comparación
Valor: variable constante
Etiqueta: dirección del salto en caso de cumplir el condicional
Efectúa una o más comparaciones. Cada término variable puede relacionar un valor con una
constante ú otra variable e incluye uno de los operadores listados anteriormente. IF…THEN evalúa la
comparación en términos de CIERTO o FALSO. Si lo considera cierto, se ejecuta la operación
posterior al THEN. Si lo considera falso, no se ejecuta la operación posterior al THEN. Las
comparaciones que dan 0 se consideran falso. Cualquier otro valor es cierto.
Ejemplo:
inicio:
if pin0 = 1 then flash ‘salta a flash si el valor del pin0 es un 1 goto inicio ‘sino salta a
inicio
flash:
high 1 ‘pone a valor alto la salida 1
pause 5000 ‘espera de 5 segundos
low 1 ‘pone a valor bajo la salida 1
goto inicio ‘salto a inicio
24
LA CONTROLADORA PICAXE EN TECNOLOGÍA
INPUT pin
Convierte el Pin especificado en una entrada. Pin debe ser una constante entre 0–7, o una variable
que contenga un número 0-7 (p. ej.: B0) o el nombre de un pin (p. ej.: PORTA.0)
Ejemplo:
inicio:
input 1 configura el pin1 como entrada
reverse 1 configura el pin 1 como salida
reverse 1 configura el pin1 como entrada
output1 configura el pin1 como salida
LOW pin
Coloca el pin especificado en valor bajo y automáticamente lo convierte en salida. Pin puede ser una
variable/constante de 0-7.
Ejemplo:
inicio:
high 1 pone el pin 1 a nivel alto
pause 5000 espera de 5 segundos
low 1 pone el pin 1 a nivel bajo
pause 5000 espera de 5 segundos
goto inicio salta a inicio del bucle
OUTPUT pin
Convierte el Pin especificado en una salida. Pin debe ser una constante entre 0–7, o una variable
que contenga un número 0-7 (p. ej.: B0) o el nombre de un pin (p. ej.: PORTA.0)
Ejemplo:
inicio:
input 1 configura el pin1 como entrada
reverse 1 configura el pin 1 como salida
reverse 1 configura el pin1 como entrada
output1 configura el pin1 como salida
PAUSE periodo
Detiene el programa por periodo milisegundos. Periodo tiene 16 bits, por lo que los retardos pueden
ser hasta 65635 milisegundos (un poco más de un minuto).
Ejemplo:
inicio:
high 1 pone el pin 1 a nivel alto
pause 5000 espera de 5 segundos
low 1 pone el pin 1 a nivel bajo
pause 5000 espera de 5 segundos
goto inicio salta a inicio del bucle
25
LA CONTROLADORA PICAXE EN TECNOLOGÍA
READADC canal,variable
El contenido del convertidor A/D (8 bits de resolución) indicado por canal es almacenado en variable.
Canal:variable/constante que especifica el canal (0-3)
Variable: variable donde se almacena el byte leido.
Ejemplo:
inicio:
readadc 1,b1 lee el valor y lo almacena en b1
if b1 > 50 then flash salta a flash si b1 > 50
goto inicio sino salta a inicio
flash:
high 1 pone a nivel alto el pin 1
pause 5000 espera de 5 segundos
low 1 pone a nivel bajo la salida 1
goto inicio salto a inicio
READTEMP pin,variable
READTEMP pin,wordvariable
Lee la temperatura de un DS18B20, sensor digital de temperatura, conectado en pin y almacena su
lectura en variable.
Pin: es el pin de entrada del PICAXE que tiene conectado el sensor.
Variable: donde se almacena el byte leído.
READTEMP: la resolución de la lectura es de enteros de grado, y el sensor funciona de -55 ºC hasta
+125 ºC. El bit 7 indicará si los valores de temperatura son positivos (0) o negativos
(1).READTEMP12: (para programadores avanzados). La temperatura viene expresada con una
resolución de 0,125 ºC y necesita 12 bits para su representación digital. El usuario debe interpretar
los datos a través de cálculo matemático. Ver el dataste del DS18B20 (www.dalsemi.com) para más
información en relación con Data Temperatura.
Ejemplo:
inicio:
readtemp 1,b1 lee el valor del sensor en pin 1 y lo almacena en b1
if b1 > 127 then neg chequeo si el valor medido es negativo
serout, 7, T2400, (#b1) transmite el valor al LCD en formato serie
goto inicio salta a inicio
neg:
let b1 = b1 – 128 ajuste del valor negativo en b1
serout 7,T2400, (“-“) transmite el símbolo negativo
serout 7,T2400, (#b1) transmite el valor al LCD en formato serie
goto inicio
RETURN
Vuelve desde una subrutina. Retoma la ejecución en la declaración que sigue al GOSUB que llamó
la subrutina.
Ejemplo:
inicio:
26
LA CONTROLADORA PICAXE EN TECNOLOGÍA
let b2 = 15 asigna a la variable b2 el valor 15
pause 2000 espera de 2 segundos
gosub flash llamada a subrutina flash
let b2 = 5 asigna a la variable b2 el valor 5
pause 2000 espera de 2 segundos
gosub flash llamada a subrutina flash
end
flash:
for b0 = 1 to b2 define el bucle para el tiempo de b2
high 1 pone la salida 1 a nivel alto
pause 500 espera 0,5 segundos
low 1 pone la salida 1 a nivel bajo
pause 500 espera 0,5 segundos
next b0 fin del bucle
return vuelve a línea siguiente de llamada
SERVO pin,pulse
Envía un pulso por el pin indicado para el control de un dispositivo de radio control tipo servo.
Pin: es un pin de salida del PICAXE (0-7).
Pulse: es una variable/constante (75-225) que especifica la posición del servo.
Este comando pone el pin a nivel alto durante un tiempo (x0.01 ms) cada 20ms indicado por pulse.
Generalmente el servo de RC requiere un pulso (0.75 a 2.25ms de duración) cada 20ms. Por
consiguiente el comando servo 1,75 moverá el servo a la posición de 0 grados, con el comando
servo1,225 se posicionará en el extremo opuesto 180 º. Con el comando servo 1,150 colocará el
servo en la posición central. No usar un valor de pulso menor de 75 o mayor de 255, dado que esto
puede causar que el servo funcione incorrectamente. Debido a las tolerancias en la fabricación de
los servos todos los valores son aproximados y requieren un ajuste fino por experimentación.
Ejemplo:
inicio:
servo 4,75 mueve el servo a la posición inicial 0 grados
pause 2000 espera 2 segundos
servo 4,150 mueve el servo a la posición central
pause 2000 espera 2 segundos
servo 4,225 mueve el servo a la posición final 180 grados
pause 2000 espera 2 segundos
goto inicio salta a inicio y repite ciclo
27
LA CONTROLADORA PICAXE EN TECNOLOGÍA
determinado en función de las frecuencias a usar y la carga del altavoz. Altavoces piezoeléctricos se
pueden conectar directamente.
Ejemplo:
inicio:
let b0 = b0 + 1 incrementa b0
sound 7,(b0,50) configura y emite sonido por pin 7
goto inicio repite programa indefinidamente
WAIT seconds
Pausa de ejecución del código del programa de seconds segundos.
Seconds: es una constante (0-65) que especifica la duración de la pausa en segundos.
Ejemplo:
inicio:
switch on 7 configura pin 7 como salida a nivel alto
wait 5 espera 5 segundos
switch off 7 configura pin 7 como salida a nivel bajo
wait 5 espera 5 segundos
goto inicio repite programa indefinidamente
28
LA CONTROLADORA PICAXE EN TECNOLOGÍA
AMPLIFICADOR DE SALIDAS ULN2003
Debido a la pequeña potencia que suministran los microcontroladores, sólo podemos hacer
funcionar directamente unos LED y poco más. Por este motivo es necesario amplificar las
salidas en función de las cargas que vayamos a controlar. Un método sencillo y económico
es emplear el integrado ULN2003A, que es un conjunto de Darlington (darlington array)
montados en un chip con el que podemos controlar cargas de hasta medio amperio. El chip
lleva diodos de protección contra las sobretensiones producidas por cargas inductivas. Esto
lo hace ideal para gobernar relés.
1. ESQUEMA DE LA PLACA
1 1
ENTRADAS
2 2
SALIDAS
3 3
4 4
5 5
6 6
7 7
MASA ALIMENTACIÓN
Común con la masa de la
alimentación del circuito del que
CARGAS
provienen las señales de entrada (MAX 30V)
29
LA CONTROLADORA PICAXE EN TECNOLOGÍA
2. CARACTERÍSTICAS DEL CHIP ULN2003A
Intensidad por canal =500mA
Tensión máxima de alimentación = 50 v
Protección interna contra sobretensiones producidas por cargas inductivas
Señal mínima de entrada = 2 v
Los pares Darlington pueden colocarse en paralelo para gobernar cargas que consumen intensidades
elevadas, como por ejemplo, pequeños motores.
Precio aproximado = 0.6€
3. CONEXIÓN
Es necesario tener en cuenta que los terminales de salida de este chip conectan las
cargas a masa cuando llega una señal positiva a las entradas adecuadas. Por este
motivo, el terminal de la carga que no está conectado al chip ha de estar unido al borne
positivo del generador. En el esquema de abajo vemos como se conectaría un motor al
canal superior (1, 16). También se puede observar que pueden existir dos
alimentaciones unidas por masa. En este ejemplo, el pulsador es el encargado de dar la
señal de control al pin 1, para que el pin 16 se ponga a 0 voltios y quede conectado el
motor.
4. ESQUEMA INTERNO
Diagrama de un canal Esquema interno Esquema externo
30
LA CONTROLADORA PICAXE EN TECNOLOGÍA
PLACA DE CONTROL DE MOTORES
31
LA CONTROLADORA PICAXE EN TECNOLOGÍA
FABRICACIÓN DE UN CIRCUITO PARA CONTROLAR DOS
MOTORES
Nos basamos en el esquema visto anteriormente al que hemos añadido
diodos de protección contra sobretensiones producidas por cargas
inductivas. De este modo podemos utilizar el L293B o L293D. En caso de
emplear el modelo D, no será necesario colocar los diodos.
RELACIÓN DE COMPONENTES:
Los elementos necesarios para la fabricación del circuito son los siguientes:
Nº Descripción Cantidad
1 L293B o L293D 1
2 Zócalo de 16 pines 1
2 Diodo 1N4148 8
32
LA CONTROLADORA PICAXE EN TECNOLOGÍA
RESULTADO:
ALIMENTACIÓN DEL
CHIP
- +
D A
C B
M1 M1
- +
ALIMENTACIÓN DEL
MOTOR
A B M1 C D M2
0 0 PARO 0 0 PARO
1 1 PARO 1 1 PARO
0 1 IZQUIERDA 0 1 IZQUIERDA
1 0 DERECHA 1 0 DERECHA
33
LA CONTROLADORA PICAXE EN TECNOLOGÍA
EXPERIMENTANDO CON UNA LDR
Introducción
Una LDR es una resistencia dependiente cuyo valor varía en función
de la intensidad de la luz que incide en su superficie activa.
Las LDR están fabricadas a partir de una larga pista material
fotosensible como el sulfuro de cadmio. La resistencia de este
componente puede variar desde unos 10 Ω cuando está expuesta a la
luz solar directa, hasta varios millones en la oscuridad absoluta. Las
aplicaciones de la LDR son múltiples, debiéndose destacar los
interruptores crepusculares, detectores de objetos, medidores de
intensidad luminosa, detectores de humos, etc.
Conexión típica
Montaje
34
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Programación
Medida de la intensidad luminosa:
Podemos medir y visualizar el valor de la intensidad luminosa que
recibe la LDR usando los comandos Readadc y Debug:
'*********************************************************
'********** MEDIDA LUZ *************************
'*********************************************************
'***************CONEXIONES*******************
'LDR AL PIN 1
INICIO:
Interruptor crepuscular:
La señal analógica procedente de la LDR se almacena en la variable
b0 y se compara con un valor de referencia (en este ejemplo 100). Si
b0 es menor que 100 se pone a nivel alto el pin 0 y si es mayor el
programa pone a nivel bajo el pin 0.
'******************************************************
'***** INTERRUPTOR CREPUSCULAR ******
'******************************************************
'***************CONEXIONES**********************
'LDR AL PIN 1
INICIO:
readadc 1,b0
if b0<100 then enciende ‘si la lectura de la LDR es menor que 100 ‘salta a
la subrutina ENCIENDE
if b0>100 then apaga ‘si la lectura de la LDR es mayor que 100 ‘salta a
la subrutina APAGA
goto inicio
35
LA CONTROLADORA PICAXE EN TECNOLOGÍA
ENCIENDE:
High 0 ‘pone el pin 0 a nivel alto.
goto inicio
APAGA:
Low 0 ‘pone el pin 0 a nivel bajo.
goto inicio
Esquema 1 Esquema 2
Esquema 3
36
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Barrera láser:
En este caso, la LDR irá dentro de un trozo de tubo opaco que la
proteja de la luz ambiental y sobre su superficie activa incidirá un
láser. Si se interrumpe el rayo láser que incide sobre la LDR, el
programa generará un sonido de alarma.
'*******************************************************
'*************** BARRERA LASER ***************
'*******************************************************
'***************CONEXIONES************************
'LDR AL PIN 1
'ALTAVOZ AL PIN 0
INICIO:
readadc 1,b0
if b0<180 then ALARMA ‘si la lectura de la LDR es menor que 180 ‘salta a
la subrutina ALARMA
if b0>180 then PARA ‘si la lectura de la LDR es mayor que 180 ‘salta a
la subrutina PARA
goto inicio
ALARMA:
Sound 0, (120, 10) ‘genera un sonido agudo en el pin 0
goto inicio
PARA:
Low 0 ‘pone el pin 0 a nivel bajo.
goto inicio
Regulador de luz:
El siguiente programa aplicado al esquema 2 de la página anterior,
funciona como un regulador proporcional que incrementa la
intensidad luminosa al reducirse la iluminación ambiental.
'**********************************************************
'************ REGULADOR ***************************
'**********************************************************
'
'*************** CONEXIONES ***********************
'LDR AL PIN 1
‘SALIDA: PIN 0
ldr:
readadc 1, b1
GOTO LDR
enciendeluz1:
high 0
goto ldr
enciendeluz2:
high 0
pause 9
low 0
pause 1
goto ldr
enciendeluz3:
high 0
pause 8
low 0
pause 2
goto ldr
enciendeluz4:
high 0
pause 7
low 0
pause 3
goto ldr
enciendeluz5:
high 0
pause 6
low 0
pause 4
goto ldr
enciendeluz6:
high 0
pause 5
low 0
pause 5
goto ldr
enciendeluz7:
high 0
pause 4
low 0
pause 6
38
LA CONTROLADORA PICAXE EN TECNOLOGÍA
goto ldr
enciendeluz8:
high 0
pause 3
low 0
pause 7
goto ldr
enciendeluz9:
high 0
pause 2
low 0
pause 8
goto ldr
enciendeluz10:
high 0
pause 1
low 0
pause 9
goto ldr
enciendeluz11:
high 0
pause 1
low 0
pause 11
goto ldr
enciendeluz12:
high 0
pause 1
low 0
pause 12
goto ldr
apagaluz:
low 0
goto ldr
39
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Medidor de luz:
Este programa sirve para medir la intensidad luminosa y representar el
valor obtenido mediante ocho LED conectados a las ocho salidas de un
PICAXE18. Los LEDS se irán encendiendo en función de la intensidad
luminosa que incide sobre la LDR.
'**********************************************
'************MEDIDOR DE LUZ*************
'**********************************************
‘CONEXIONES:
'LDR A LA ENTRADA 0
MEDIDOR:
readadc 0, b0
goto medidor
TODOSLOSLED:
let pins= %11111111
goto medidor
SIETELED:
let pins= %01111111
goto medidor
40
LA CONTROLADORA PICAXE EN TECNOLOGÍA
SEISLED:
let pins= %00111111
goto medidor
CINCOLED:
let pins= %00011111
goto medidor
CUATROLED:
let pins= %00001111
goto medidor
TRESLED:
let pins= %00000111
goto medidor
DOSLED:
let pins= %00000011
goto medidor
UNLED:
let pins= %00000001
goto medidor
CEROLED:
let pins= %00000000
goto medidor
41
LA CONTROLADORA PICAXE EN TECNOLOGÍA
EXPERIMENTANDO CON UNA NTC
Introducción
Las NTC y PTC son resistencias cuyo valor varía con la temperatura. Si al
aumentar la temperatura aumenta la resistencia se denomina PTC, y si al
contrario, un aumento de temperatura origina una disminución de la
resistencia se denomina NTC. Se usan para termostatos, termómetros,
sistemas de protección contra sobretemperaturas, etc.
Conexión típica
Programación
Medida de la temperatura:
Podemos medir y visualizar el valor de la temperatura a la que se halla
la NTC usando los comandos Readadc y Debug:
Símbolo
'*********************************************************
'********** MEDIDA DE Tª ***********************
'*********************************************************
'***************CONEXIONES*******************
'NTC AL PIN 1
42
LA CONTROLADORA PICAXE EN TECNOLOGÍA
INICIO:
Temperatura * Medida
0º 100
9º 105
22º 115
36º 123
60º 149
82º 171
Alarma de temperatura:
La señal analógica procedente de la NTC se almacena en la
variable b0 y se compara con un valor de referencia (en este
ejemplo 140). Si b0 supera el valor 140 el programa genera un
sonido de alarma:
'******************************************************
'******* ALARMA TEMPERATURA ********
'******************************************************
'***************CONEXIONES**********************
'NTC AL PIN 1
INICIO:
readadc 1,b0
if b0<140 then alarma ‘si la lectura de la NTC es superior a 140
‘salta a la subrutina ALARMA
goto inicio
ALARMA:
sound 1 (120,10)
pause 100
goto inicio
43
LA CONTROLADORA PICAXE EN TECNOLOGÍA
CONSTRUCCIÓN MICRORROBOT
CONTROLADO POR PICAXE
CARACTERÍSTICAS
ESTRUCTURA
La estructura del microrrobot va a ser una placa de aluminio de de 2
mm de espesor. Se ha elegido este material debido a su ligereza, la
facilidad de mecanizado y por ser un material fácil de conseguir.
Con respecto a la forma, ésta puede ser cualquiera, siempre y cuando
se puedan acoplar las tres ruedas (dos motrices y una loca) formando
un triángulo equilátero. El tamaño será algo mayor del mínimo
necesario para no tener problemas en el caso de realizar alguna
modificación sobre lo inicialmente previsto.
Como forma, teniendo en cuenta el tamaño y posición de los distintos
elementos que irán acoplados a la base, se ha elegido una foto de un
trilobites para darle un aspecto atractivo.
El diseño de esta base se ha realizado con un programa de CAD y se
han incluido más taladros de los necesarios para no tener problemas
a la hora de incluir nuevos elementos.
Sobre esta base irán colocados dos motores con sus ruedas, la rueda
trasera loca, la batería, los sensores, el regulador de tensión y los
soportes que nos permitirán colocar una segunda plataforma que
servirá de soporte para la circuitería.
La plataforma superior será de metacrilato de 3 mm de espesor, se
fijará a la base mediante 5 separadores de latón y alojará los
circuitos, el interruptor general, algunos indicadores luminosos y los
orificios necesarios para el paso de los cables.
Por último, para proteger las partes más sensibles, se colocará una
tercera lámina de metacrilato, montada sobre separadores.
44
LA CONTROLADORA PICAXE EN TECNOLOGÍA
ENERGÍA
Como fuente energética se ha elegido una batería de níquel-metal hidruro
de 6 elementos, con una capacidad de 650 mAh a 7,4 voltios. Del cable de
este elemento se ha sacado una derivación para dejar libre el terminal de
salida y no tener que desconectar el dispositivo para proceder a su
recarga.
Como los motores y la circuitería funcionan a 5 voltios, es preciso colocar
después del interruptor general un regulador de tensión 7805 para obtener
una tensión de 5 voltios estabilizada. Además, este circuito integrado tiene
protección contra sobrecargas y cortocircuitos, por lo que evitará
problemas y averías al resto del sistema. Este elemento irá atornillado a la
base de aluminio de modo que ésta haga la función de disipador. Si no
conectamos eléctricamente nada a la base, no será preciso colocar una
lámina aislante entre el regulador y la base.
A continuación se muestra el circuito de alimentación y un resumen de las
características del regulador de tensión 7805:
t
CONEXIÓN
ENTRADA SALIDA
(de 7 a 35V) 5V
7805
C1 C2
0.33µF 0.1µF
da
ntra
Ve
i da
l
Vsa
sa
Ma
45
LA CONTROLADORA PICAXE EN TECNOLOGÍA
MOTORES
Existen en el mercado muchos tipos de pequeños motores
eléctricos con reductora que podrían servir para nuestro robot. A
la hora de seleccionar uno tenemos que tener en cuenta lo
siguiente:
• Que gire a una velocidad moderada o lenta.
• Que el consumo, el tamaño y el peso sean pequeños.
• Que no produzca muchas interferencias.
• Que sea económico.
Teniendo en cuenta lo dicho anteriormente, se ha optado por una
pareja de servomotores de radiocontrol que aunque no pueden
girar de forma continua, pueden ser modificados para funcionar
como cualquier otro motor. La ventaja de estos motores es su
elevada calidad, precio moderado (unos 10 €), buen par, poco
peso (35 g) y velocidad adecuada para nuestro diseño.
Los pasos a seguir para modificar un servomotor Futaba 3003
son los siguientes:
46
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Como estos motores absorben una intensidad relativamente alta,
no se pueden conectar directamente al microcontrolador, que sólo
puede suministrar unos 25 mA. Por este motivo, habrá que
intercalar entre el microcontrolador y los motores un elemento
que se encargue de suministrar a los motores la intensidad y
polaridad adecuada en función de las señales que recibe del
microcontrolador. Este elemento es el circuito integrado L293D
que permite gobernar dos motores mediante cuatro entradas de
control AB para el motor 1 y CD para el motor 2. Estas entradas
las conectaremos a cuatro salidas del microcontrolador.
47
LA CONTROLADORA PICAXE EN TECNOLOGÍA
CEREBRO
El cerebro de la máquina es un microcontrolador Picaxe 18x. Se ha
elegido este circuito por disponer de suficientes entradas y salidas y
por admitir programas de hasta 600 líneas aproximadamente.
18A 18 80 3 5 8 256 si
Distribución de terminales
48
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Placa de control:
El esquema de abajo corresponde a la controladora del robot basada
en el microcontrolador picaxe18. Además de los elementos
imprescindibles, se ha incluido en el circuito: led, indicadores de
salida, un microaltavoz para facilitar la programación y resistencias
Push down que ponen las entradas a nivel bajo en ausencia de señal.
SENSORES
Para adquirir información de su entorno, el robot utilizará tres tipos de
sensores:
• Microrruptores finales de carrera.
Sirven para detectar obstáculos por contacto. Para ampliar su radio de
acción se han soldado unas antenas de unos 15 cm de alambre de
acero. En el esquema de abajo se muestra el modo de conectar este
dispositivo. La resistencia de 10 K es una resistencia “push down” que
sirve para poner la salida a nivel bajo cuando el contacto está abierto. Si
colocamos esta resistencia en la placa del microcontrolador, no es
necesario ponerla a la salida del final de carrera. Las “antenas” de los
microrruptores irán cruzadas para que no quede ningún ángulo muerto
en la zona central.
49
LA CONTROLADORA PICAXE EN TECNOLOGÍA
• Dispositivo óptico emisor/receptor CNY70
Constan de un emisor de infrarrojos y un fototransistor y
detectan objetos de distinto color (por reflexión de infrarrojos) a
pequeñas distancias, generalmente inferiores a un centímetro.
Si se coloca delante de este sensor un objeto de color claro, la
radiación infrarroja emitida por el fotodiodo, se reflejará e incidirá
sobre el fototransistor haciendo que éste conduzca.
Aunque estos sensores producen una señal analógica,
proporcional a la radiación infrarroja que incide sobre el
fototransistor, en este caso los utilizaremos como sensores
digitales. El microcontrolador Picaxe, considera que una entrada
digital está a nivel alto cuando su tensión supera los 2,5 voltios.
Estos sensores los emplearemos para que el robot pueda seguir
una línea negra pintada sobre fondo blanco. Para ello,
colocaremos tres sensores alineados y separados unos 10 mm.
De este modo, cuando el sensor central detecte color negro el
robot se moverá hacia delante. Si el sensor izquierdo detecta
negro y los otros no, nos estamos desviando hacia la izquierda y
habrá que actuar en consecuencia y si es el sensor derecho el
único que detecta negro, la desviación es hacia la izquierda.
Como en el caso anterior, es necesario colocar una resistencia
“push down” de 10k para tener nivel bajo a la salida cuando no
conduce el fototransistor.
El esquema de conexionado se muestra a continuación.
50
LA CONTROLADORA PICAXE EN TECNOLOGÍA
• LDR
Mediante estas resistencias podemos obtener una señal analógica
proporcional a la cantidad de luz que incide sobre su superficie
activa. La variación de la resistencia en estos sensores es muy
drástica y suele oscilar entre varios megaohmios cuando no incide
luz sobre su superficie activa a unos 10 ohmios cuando está
expuesta a una elevada iluminación.
Nuestro prototipo dispondrá de dos LDR colocadas en el frontal,
mirando hacia delante y formando un ángulo de unos 120 grados.
La finalidad de estos sensores es producir una señal analógica
proporcional a la iluminación que reciben. El microcontrolador
compara estas señales y actúa sobre los motores para que el robot
se mueva hacia la zona más iluminada o a la zona más oscura,
según programemos.
CONEXIONES
La forma de de conectar los elementos vistos anteriormente es la
siguiente:
• Motores
La placa de control de motores se conectará a las cuatro primeras
salidas del microcontrolador (A, B, C y D con las salidas 0,1,2,3) y
los terminales de alimentación se unirán a la salida del regulador
de tensión (5v), respetando la polaridad.
• Sensores CNY50
Los sensores CNY70 se alimentan a 5V, por lo que han de
conectarse al circuito de alimentación. Las salidas obtenidas de los
sensores derecho, central e izquierdo irán conectadas a las
entradas 1, 0 y 2.
• Antenas (microrruptores)
Irán conectados a la entrada 7 el derecho y a la entrada 6 el
izquierdo. Si tienen tres terminales hay que tener la precaución de
conectar al microcontrolador las patillas correspondientes al
contacto normalmente abierto (NO). El común irá al positivo de la
alimentación (+5v). Además de para detectar obstáculos, las
antenas nos servirán para seleccionar el programa que queramos
ejecutar.
51
LA CONTROLADORA PICAXE EN TECNOLOGÍA
• Sensores LDR
Estos sensores han de ir conectados a dos de las tres entradas
entradas analógicas/digitales del microcontrolador (0 y 1).
Como sólo disponemos de 5 entradas y tenemos 7 elementos que
conectar, las dos LDR han de compartir entrada con dos CNY70.
Mediante una matriz de cuatro de microrruptores seleccionaremos
el par de sensores que queremos conectar a las dos entradas
analógicas (0 y 19)
MICROCONTROLADOR
ENTRADAS
1
ON
1
ON
• INDICADORES LUMINOSOS
Los indicadores luminosos (LED) se conectarán a las salidas 4 y 5.
Cada indicador está formado por dos LED. Uno se halla en las
antenas superiores o cuernos y el otro en la parte trasera del
prototipo.
• ALTAVOZ
Se trata de un microaltavoz piezoeléctrico. Va montado en la placa
de control y conectado a la salida 7
52
LA CONTROLADORA PICAXE EN TECNOLOGÍA
ESQUEMA GENERAL
53
LA CONTROLADORA PICAXE EN TECNOLOGÍA
SOFTWARE
El diseño del software es la parte más apasionante del proyecto. Un
software bien planteado puede mejorar enormemente la calidad del
resultado. El modo de proceder es realizar pequeños programas,
probarlos y una vez tengamos todos los bloques necesarios, agruparlos en
un único programa.
• Conexiones:
Para facilitar la programación, tenemos que tener a mano un esquema
con las conexiones que hemos realizado previamente. En este caso las
conexiones realizadas a las entradas y salidas del microcontrolador son
las siguientes:
ENTRADAS:
SALIDAS:
Adelante:
54
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Adelante:
Giraderecha:
low 0 ‘pone la salida 0 a nivel bajo
low 1 ‘pone la salida 1 a nivel bajo
Las dos primeras líneas hacen que se detenga el motor derecho y las
dos siguientes hacen que el izquierdo gire hacia delante. De este modo
se consigue que el robot gire a la derecha.
Giraizquierda:
En este caso, el motor derecho, controlado por las dos primeras líneas,
gira hacia delante mientras que el izquierdo gira hacia atrás. De esta
forma se consigue un giro más cerrado que deteniendo uno de los
motores.
Adelante:
55
LA CONTROLADORA PICAXE EN TECNOLOGÍA
low 1 ‘pone la salida 1 a nivel bajo
low 2 ‘pone la salida 2 a nivel bajo
low 3 ‘pone la salida 3 a nivel bajo
Las primeras cuatro líneas de programa hacen que los dos motores
giren a derechas. La siguiente línea detiene el programa 10 segundos
(los dos motores siguen girando durante este tiempo). Las siguientes
líneas ordenan la detención de los dos motores y el programa concluye.
Bucle:
vaiven:
goto vaiven
56
LA CONTROLADORA PICAXE EN TECNOLOGÍA
A partir de estos datos, podemos crear un programa que haga que el
movimiento del robot describa un cuadrado perfecto del tamaño que
queramos. El programa siguiente define una trayectoria cuadrada de 40
cm de lado. Para ello se ha tenido en cuenta, además de los tiempos la
distancia entre ejes que es de 10 cm.
cuadrado:
high 0
low 1
high 2 Trayectoria recta durante 3 s (20 cm)
low 3
wait 3
high 0
low 1
low 2 Giro durante 2,5 s con un motor parado (
low 3 90º y 10 cm)
pause 2500
goto cuadrado
Variación de la velocidad:
Vmedia
En este caso, los impulsos de tensión duran lo mismo que los tiempos
de reposo por lo que la tensión media es la mitad y por tanto, el motor
girará también a la mitad de la velocidad que tendría si le llegase el cien
por cien de tensión.
Si queremos reducir más aún la velocidad tenemos que reducir la
duración de los impulso y hacer mayor el tiempo de reposo.
La regulación de velocidad PWM requiere que la frecuencia de los
pulsos enviados al motor ronde los 10 Kilohercios y el uso de motores
de buena calidad.
57
LA CONTROLADORA PICAXE EN TECNOLOGÍA
A continuación se muestra un ejemplo de regulación PWM:
pwm1:
high 0
low 1
high 2 Los dos motores en marcha durante
low 3 1 milisegundo
pause 1
low 0
low 1
Los dos motores en reposo durante
low 2 1 milisegundo
low 3
pause 1
goto pwm1
Círculo:
circulo3:
high 0
low 1
high 0
low 1
El motor 1 gira y el motor 2 se detiene
low 2 durante 1 milisegundo
low 3
pause 1
goto circulo3
'**********************************************************************************
'**********************************************************************************
'*********************** LIBRE **********************************
'**********************************************************************************
'**********************************************************************************
' CONEXIONES
'
' ENTRADAS:
'
' BUMPER IZDO ENTRADA 7
' BUMPER DER ENTRADA 6
'
' SALIDAS:
'
' MOTOR DERECHO SALIDAS 0 Y 1
' MOTOR IZQUIERDO SALIDAS 2 Y 3
' CUERNOS SALIDA 4
' LUZ TRASERA SALIDA 5
Nombre del programa principal
LIBRE:
estadoantenas:
Programa que escanea las
entradas a las que están if input7 is off and input6 is off then palante
conectadas las antenas y según if input7 is on then atrasder
su estado actúa en if input6 is on then atrasizq
consecuencia llamando a otras
rutinas palante:
high 2
low 3
Vuelve a escanear el estado de
goto estadoantenas
las antenas
59
LA CONTROLADORA PICAXE EN TECNOLOGÍA
atrasder:
Luz trasera encendida
high 5
low 0
low 1 Paran los dos motores
low 2
low 3
high 4
pause 100 Parpadean los led de los
low 4 cuernos
pause 100
high 4
Este programa hace pause 100
que el robot se mueva low 4
hacia atrás tres Sonido de aviso de colisión
segundos y después
gire a la derecha unos sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2)
180 grados
high 1
low 0 Los dos motores invierten su
marcha durante 3 segundos
high 3
low 2
wait 3
Luz trasera apagada
low 5
high 0
low 1 El motor derecho gira hacia
Este programa hace delante mientras el izquierdo
que el robot se mueva high 3 invierte su marca durante dos
hacia atrás tres low 2 segundos durante 3 segundos
segundos y después
gire a la izquierda wait 2
unos 180 grados. Sólo
goto estadoantenas Vuelve al inicio del programa principal
se diferencia del
para volver a escanear el estado de las
programa anterior en
atrasizq: antenas
el sentido del último
giro
high 5
low 0
low 1
low 2
low 3
high 4
pause 100
low 4
pause 100
high 4
pause 100
low 4
sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2)
high 1
low 0
high 3
60
LA CONTROLADORA PICAXE EN TECNOLOGÍA
low 2
wait 3
low 5
high 1
low 0
high 2
low 3
wait 2
goto estadoantenas
• Programa SIGUELÍNEAS
Este programa hace que el robot siga una línea negra dibujada sobre un
fondo blanco. Para ello, utiliza tres sensores CNY70 que dan salida 0
cuando tienen delante una superficie oscura.
'*********************************************************************************
'*********************** SIGUELINEAS ****************************
'*********************************************************************************
' CONEXIONES
'
' ENTRADAS:
'
' CNY70 DER / LDR DER ENTRADA 1
' CNY70 CEN / LDR IZQ ENTRADA 0
' CNY70 IZQ ENTRADA 2
'
' SALIDAS:
'
' MOTOR DERECHO SALIDAS 0 Y 1
' MOTOR IZQUIERDO SALIDAS 2 Y 3
' CUERNOS SALIDA 4
' LUZ TRASERA SALIDA 5
SIGUELINEAS:
high 5
if input0 is off and input2 is off and input1 is off then giraderecha
goto siguelineas
giraizquierda:
high 0
low 1
low 2
low 3
goto siguelineas
giraderecha:
61
LA CONTROLADORA PICAXE EN TECNOLOGÍA
high 2
low 3
low 0
low 1
goto siguelineas
adelante:
high 0
low 1
high 2
low 3
goto siguelineas
• Programa LDR
Se basa en comparar los valores analógicos que aportan dos sensores
LDR colocados en el frontal del robot.
'**********************************************************************************
'*********************** LDR ***********************************
'**********************************************************************************
' CONEXIONES
'
' ENTRADAS:
'
' BUMPER IZDO ENTRADA 7
' BUMPER DER ENTRADA 6
' CNY70 DER / LDR DER ENTRADA 1
' CNY70 CEN / LDR IZQ ENTRADA 0
' CNY70 IZQ ENTRADA 2
'
' SALIDAS:
'
' MOTOR DERECHO SALIDAS 0 Y 1
' MOTOR IZQUIERDO SALIDAS 2 Y 3
' CUERNOS SALIDA 4
' LUZ TRASERA SALIDA 5
LDR:
atrasderecha:
low 0
low 1
low 2
low 3
high 4
pause 100
low 4
pause 100
62
LA CONTROLADORA PICAXE EN TECNOLOGÍA
high 4
pause 100
low 4
sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2)
high 1
low 0
high 3
low 2
wait 2
high 0
low 1
high 3
low 2
WAIT 2
goto LDR
atrasizquierda:
low 0
low 1
low 2
low 3
high 4
pause 100
low 4
pause 100
high 4
pause 100
low 4
sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2)
high 1
low 0
high 3
low 2
wait 2
high 1
low 0
high 2
low 3
WAIT 2
goto LDR
SIGUELUZ:
63
LA CONTROLADORA PICAXE EN TECNOLOGÍA
if b0 > b1 then izquierda
if b0 < b1 then derecha
if b0 = b1 then haciadelante
goto LDR
izquierda:
high 0
low 1
low 2
low 3
goto ldr
derecha:
high 2
low 3
low 0
low 1
goto ldr
haciadelante:
high 0
low 1
high 2
low 3
goto ldr
• Selector de programas
'**********************************************************************************
'*********************** SELECCION DE PROGRAMA **********************
'**********************************************************************************
SELECCIONPROGRAMA:
sound 7, (105,10)
pause 100
sound 7, (105,10)
pause 100
sound 7, (105,10)
pause 100
sound 7, (105,10)
pause 100
sound 7, (105,10)
pause 100
sound 7, (105,100)
SALUDO:
high 4
high 5
64
LA CONTROLADORA PICAXE EN TECNOLOGÍA
pause 100
low 4
low 5
pause 100
high 4
high 5
pause 100
low 4
low 5
pause 100
high 4
high 5
pause 100
low 4
low 5
pause 100
high 4
high 5
pause 100
low 4
low 5
pause 100
sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2)
PAUSE 100
sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2)
PAUSE 300
sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2)
PAUSE 100
sound 7, (125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2,125,1,150,2)
return
65
LA CONTROLADORA PICAXE EN TECNOLOGÍA
BARRERA DE INFRARROJOS
Introducción
Una barrera infrarroja es un sistema compuesto por un diodo LED
emisor de infrarrojos y un fototransistor. Cando estos dos elementos
están enfrentados, separados una determinada distancia, el
fototransistor recibe luz infrarroja procedente del LED y conduce. Si se
interpone cualquier objeto opaco entre estos dos elementos, el
fototransistor dejará de conducir y si está conectado a un
microcontrolador, éste actuará según lo previsto en el programa que se
le ha cargado.
Componentes
Precio
Descripción Cantidad
aprox. €
Led IR TSUS540 1 0.30
Fototransistor BPW96 1 0.50
Resistor entre 100Ω y 220 Ω ¼ w 5 0.02
Resistor 10KΩ ¼ w 2 0.02
Placa PICAXE08 1 0.02
Esquema
66
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Montaje
'*********************************************************
'********** MEDIDA LUZ *************************
'*********************************************************
'***************CONEXIONES*******************
'FOTOTRANSISTOR AL PIN 1
INICIO:
68
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Barrera infrarroja digital:
En este caso, la señal procedente del fototransistor es tratada como un
valor digital. El microcontrolador PICAXE08, considera que una entrada
digital está a nivel alto cuando su tensión supera los 1,3 v. El programa
siguiente genera una señal acústica cuando se interrumpe el haz de
infrarrojos que llega al fototransistor:
'******************************************************
'********** BARRERA IR **********************
'******************************************************
'***************CONEXIONES**********************
'FOTOTRANSISTOR AL PIN 1
INICIO:
if pin1 is off then sonido ‘Si la entrada 1 está a nivel bajo (no le llega el haz
de infrarrojos) salta a la subrutina SONIDO.
goto inicio
SONIDO:
sound 0, (115,1,116,1,117,1,118,1,119,1,118,1,117,1,116,1,115,1)
goto inicio
'******************************************************
'********** BARRERA IR ANALOGICA ***********
'******************************************************
'***************CONEXIONES**********************
'FOTOTRANSISTOR AL PIN 1
INICIO:
readadc 1,b0
if b0<100 then sonido
goto inicio
SONIDO:
sound 0, (120,10)
goto inicio
69
LA CONTROLADORA PICAXE EN TECNOLOGÍA
CONSTRUCCIÓN MÓVIL
CONTROLADO POR PICAXE
CARACTERÍSTICAS
ESTRUCTURA
La estructura de este móvil, que simula un coche de juguete, está formada
fundamentalmente por una base de aluminio de 2 mm de espesor.
Este material es un material fácil de conseguir y nos permite un
mecanizado sencillo. En el momento del diseño debemos tener en cuenta
el resto de componentes que están sujetos a la base de aluminio para
realizar los orificios donde los colocaremos.
70
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Diseño de la base de aluminio (derecha) y de la placa de metacrilato
(izquierda).
ENERGÍA
Como fuente energética se ha elegido una batería de níquel-metal hidruro
de 6 elementos, con una capacidad de 650 mAh a 7,4 voltios. Del cable de
este elemento se ha sacado una derivación para dejar libre el terminal de
salida y no tener que desconectar el dispositivo para proceder a su
recarga.
Como los motores y la circuitería funcionan a 5 voltios, es preciso colocar
después del interruptor general un regulador de tensión 7805 para obtener
una tensión de 5 voltios estabilizada. Además, este circuito integrado tiene
protección contra sobrecargas y cortocircuitos, por lo que evitará
problemas y averías al resto del sistema. Este elemento irá atornillado a la
base de aluminio de modo que ésta haga la función de disipador. Si no
conectamos eléctricamente nada a la base, no será preciso colocar una
lámina aislante entre el regulador y la base.
A continuación se muestra el circuito de alimentación y un resumen de las
características del regulador de tensión 7805:
t
71
LA CONTROLADORA PICAXE EN TECNOLOGÍA
MOTORES
Existen en el mercado muchos tipos de pequeños motores eléctricos con
reductora que podrían servir para nuestro móvil.
Necesitamos que dispongan de una relación de transmisión grande para
que la velocidad de salida sea pequeña. Se han colocado dos
motorreductores con las siguientes características:
Para evitar las interferencias que pueden producir las escobillas de los
motores eléctricos, es necesario colocar un condensador de 0,1 µF en
paralelo con los bornes del motor para que actúe a modo de filtro.
La fijación de los motores a la base se puede hacer mediante escuadras,
adhesivo o bridas. En este caso hemos fabricado un par de escuadras de
aluminio y las hemos fijado a la base y al motor mediante tornillos M3.
El aspecto de la primera capa del robot se puede ver a la izquierda.
La fijación de los motores a la base se puede hacer mediante escuadras,
adhesivo o bridas. En este caso la solución más sencilla ha sido pegar
directamente con adhesivo termofusible los motorreductores con sus
correspondientes ruedas a la base.
72
LA CONTROLADORA PICAXE EN TECNOLOGÍA
CRUCE DE SEMÁFOROS
CONTROLADO POR PICAXE
73
LA CONTROLADORA PICAXE EN TECNOLOGÍA
Una vez realizada la maqueta se comprobará el estado de las conexiones
y se procederá a programar la microcontroladora con el software de
PICAXE Programming Editor.
ACTIVIDADES
Se proponen los siguientes programas antes de la programación total del
cruce.
ACTIVIDAD 1
Programa “ precaucion” que deberá realizar las siguientes acciones:
ACTIVIDAD 2
Regulación de un semáforo, programa “semaforo”, que deberá realizar
las siguientes acciones:
El semáforo de la carreteras 1 deberá realizar un ciclo de trabajo. En dicho
ciclo, el rojo deberá estar 10 segundos encendido, pasará a verde y
permanecerá otros 10 segundos en este color, para finalmente pasar a
ámbar 5 segundos y volver al rojo nuevamente.
Los semáforos de peatones permanecerán apagados
ACTIVIDAD 3
Regulación del cruce completo, programa “cruce” que deberá realizar
las siguientes acciones:
Para una calle:
El rojo de una de las carreteras deberá estar 13 segundos encendido,
pasará a verde y permanecerá otros 13 segundos en este color, para
finalmente pasar a ámbar 5 segundos y volver al rojo nuevamente.
Lo dos semáforos de peatones deberán estar rojos cuando el semáforo
que controla la carretera esté en verde. Cuando éste pase a ámbar, el
color verde de los peatones se pondrá intermitente cambiando a rojo.
Antes de ponerse en verde el semáforo de circulación esperará 3
segundos por precaución.
En la otra calle el procedimiento será el mismo pero a la inversa.
ACTIVIDAD 4
Colocar dos pulsadores en la entrada de forma que active cada uno de los
programas.
74
LA CONTROLADORA PICAXE EN TECNOLOGÍA
SOLUCIONES
Vamos a colocar las salidas del microcontrolador de la siguiente forma:
SALIDAS
01234567
ACTIVIDAD 1
precaucion:
high 1 wait 1 low 1
high 4 wait 1 low 4
goto precaucion
ACTIVIDAD 2
semaforo:
high 0
wait 10
low 0 low 1
wait 5
low 1
goto semaforo
ACTIVIDAD 3
cruce:
high 0 high 5 high 6
75
LA CONTROLADORA PICAXE EN TECNOLOGÍA
wait 10
low 0 high 1 low 6 wait 1 high 6 wait 1 low 6 wait 1 high 6 wait 1 low 6
wait 1 high 6
low 1 high 2 low 6
wait 3
low 5 high 3 high 7
wait 10
low 3 high 4 low 7 wait 1 high 7 wait 1 low 7 wait 1 high 7 wait 1 low 7
wait 1 high 7
low 4 high 5 low 7
wait 3
low 2
goto cruce
ACTIVIDAD 4
programa:
wait 1
if input1 is on and input2 is on then precaucion
if input1 is on and input2 is off then semaforo
if input1 is off and input2 is off then cruce
precaucion:
high 1 wait 1 low 1
high 4 wait 1 low 4
goto precaucion
semaforo:
high 0 high 5
wait 8
low 0 high 1
wait 2
low 1 high 2
wait 3
low 5 high 3
wait 8
low 3 high 4
wait 2
low 4 high 5
wait 3
low 2
goto semaforo
cruce:
high 0 high 5 high 6
wait 10
low 0 high 1 low 6 wait 1 high 6 wait 1 low 6 wait 1 high 6 wait 1 low 6 wait
1 high 6
low 1 high 2 low 6
wait 3
low 5 high 3 high 7
wait 10
76
LA CONTROLADORA PICAXE EN TECNOLOGÍA
low 3 high 4 low 7 wait 1 high 7 wait 1 low 7 wait 1 high 7 wait 1 low 7 wait
1 high 7
low 4 high 5 low 7
wait 3
low 2
goto cruce
77
LA CONTROLADORA PICAXE EN TECNOLOGÍA
La casa soñada
78
Siendo:
Módulo 1: La vivienda. En formato A4 hemos distribuido las
distintas habitaciones de la casa.
Módulo 2: El garaje. En formato A5 hemos dibujado el plano del
garaje.
Módulo 3: La piscina. En formato A4.
Módulo 4: La torreta para el depósito. En formato A5.
Módulo 5: El jardín de entrada. En formato A4.
Módulo 6: El jardín adosado. En formato A5
79
80
81
82
83
84
86
ACTIVIDAD 1
Realizar el programa “SECUENCIA” que deberá realizar las
siguientes acciones:
Programa que permita encender y apagar cíclicamente cada zona
de la vivienda y el garaje
‘**************************************************************
‘******************* SECUENCIA **********************
‘**************************************************************
‘CONEXIONES:
‘LDR A LA ENTRADA 0
‘DOS LAMPARAS A LA SALIDA 4
SECUENCIA:
High 0
Wait 1
High 1
Wait 1
High 2
Wait 1
High 3
Wait 1
low 0
Wait 1
low 1
Wait 1
Low 2
Wait 1
low 2
Wait 1
Goto secuencia
87
‘**************************************************************
‘*********************** LDR **************************
‘**************************************************************
‘CONEXIONES:
‘LDR A LA ENTRADA 0
‘DOS LAMPARAS A LA SALIDA 4
LDR:
Readadc 0, b0
If b0<100 then enciende
If b0>100 then apaga
ENCIENDE:
High 4
Goto LDR
APAGA:
low 4
Goto LDR
ACTIVIDAD 3
Realizar el programa “CLIMATIC” que deberá realizar las siguientes
acciones:
“Encender y apagar automáticamente la instalación de calefacción y
aire acondicionado de la vivienda (ventilador) en función de la
intensidad lumínica exterior controlada por una resistencia LDR”.
ACTIVIDAD 4
88
Una vez tenemos los laterales, nos queda montar el eje principal,
formado por varilla roscada M4 x 150 mm. y cortada a una longitud de
120 mm, donde irá acoplada la rueda dentada de módulo 1 60, 58
dientes, la cual será movida por el tornillo sinfín que va montado sobre
el eje del motor de módulo 1 12 x 32 mm.
CONEXIONES
Este es el circuito de montaje de la placa que lleva el controlador
Picaxe, donde se van a conectar los elementos de entrada y salida,
90
PROGRAMACIÓN
inicio:
if input2 is on and input0 is off then bajabarrera
goto inicio
bajabarrera:
low output0
high output1
high output2
low output3
if input2 is off and input0 is on then paro
goto bajabarrera
paro:
low output0
low output1
high output3
low output2
goto inicio
Sube barrera
inicio:
if input0 is on and input6 is on then subebarrera
goto inicio
subebarrera:
high output1
high output0
high output2
low output3
if input2 is on and input0 is off then paro
goto subebarrera
paro:
low output0
low output1
high output3
low output2
goto inicio
inicio:
if input0 is on and input2 is off then paso1
goto inicio
'***Motor parado***
'***Puente abajo***
'***Semáforo en verde***
'***consulta si Sensor está activado***
paso1:
low output0
low output1
high output3
low output2
if input6 is on then paso2
goto inicio
'***Motor sube***
'***Semáforo en rojo***
paso2:
high output0
high output1
high output2
low output3
if input0 is off and input2 is on then paso3
goto paso2
'***Motor parado***
'***Semaforo en rojo***
'***Temporización de 5s.***
paso3:
low output0
low output1
wait 5
if input0 is off and input2 is on then paso4
goto paso2
'***Motor baja***
'***Semáforo en rojo***
paso4:
low output0
high output1
high output2
low output3
if input0 is on and input2 is off then inicio
goto paso4
92