Hola a todos,
Estoy tratando de hacer una instalacion interactiva, para la cual necesito construir una superficie de 50 sensores de presion (Pressure Pads). Para controlarlos estoy comenzando a trabajar con un "shift register" (TEXAS INSTRUMENTS, modelo CD4021BE), pero estoy atrapada tratando de escribir el programa para que Arduino me reconozca el shift y sus 8 Input.
Si alguien puede ayudarme profavor.
Carolina
Hola Carolina,
lo primero de todo es saber si el registro que quieres utilizar es realmente lo que necesitas. Mi pregunta es:
-
tu sensor de presion devuelve una senial analogica o digital? porque si es analogica, entonces el 4021 no te sirve, tendrias que utilizar multiplexores analogicos como el 4051
-
si tu sensor es digital, es decir, es como un pulsador, solo te hara falta tener en Arduino:
a) un pin para controlar el reloj
b) un pin para el registro de carga
El metodo de funcionamiento, de acuerdo a la hoja de caracteristicas del 4021 que puedes encontrar en: http://focus.ti.com/lit/ds/symlink/cd4021b.pdf , es poner el pin de serie/paralelo del chip (el pin 9) en 5V, lo que provoca la carga de los datos en paralelo al lanzar un pulso de reloj. Una vez hecho eso, tienes que cambiar el pin 9 a bajo, de modo que cada vez que lances un pulso de reloj, los datos se desplazaran una posicion en la memoria.
Un saludo,
David
David u otros...
Gracias por tu rapida respuesta. Los sensores que estoy ocupando son digitales por lo cual el 4021 es el que me sirve. Por ahora lo estoy probando en una BX-Basic guiandome con el libro "Physical Computing" y con ayuda hemos logrado conectar 3 shifts, o sea 24 inputs. En lenguaje Basic corre bien asi:
' {$STAMP BS2}
'serial data pin from shift register is on pin 6
'clock pin is on 9
'shift register latch pin is on 8
FIRSTserialPin CON 6
SECONDserialPin CON 7
clockPin CON 9
clockPin2 CON 10
latchPin CON 8
switchStates VAR Word
switchStates2 VAR Byte
main:
' take the clock pin low to get ready to shift data:
LOW clockPin
' pulse the latch pin to move the switch states
HIGH latchPin
PAUSE 1
LOW latchPin
' [shift the data into the microcontroller
SHIFTIN FIRSTserialPin, clockPin, MSBPRE, [switchStates\16]
DEBUG BIN switchStates, 10, 13
PAUSE 1000
SHIFTIN SECONDserialPin, clockPin2, MSBPRE, [switchStates2\8]
' print out the states of the switches:
DEBUG BIN switchStates2, 10, 13
PAUSE 2000
GOTO main
Pero en realidad necesito escribirlo para Arduino ya que tiene mas inputs y es con lo que cuentamos para trabajar a futuro.
Como deberia estar escrito para Arduino?
Que pasa con ese SHIFTIN???.
Y bueno el siguiente paso seria como traspasar la serie de input valores a Processing, ya que hasta el momento logro captar una serie de 16 valores binarios y otra corrida de 8 valores.
Bueno, agradezco tu ayuda y soporte.
Carolina