"El cerebro" externo disco duro y ligero de la escultura (11 / 11 paso)

Paso 11: Juntándolo todo

Una breve idea de la secuencia de eventos:

Cuando se aplica energía a las tres tablas de la derecha Junta inicia pulso lento de un conjunto de LEDs rojos en forma de latido del corazón. Esto se hace mediante software PWM comandos (parte de la suite gran vaca básica) para variar el brillo de un conjunto de LEDs de color rojo. Este código está en un bucle continuo.

Dependiendo de la configuración de los puentes, las otras dos tablas no hacen nada, solo bucle ronda esperando una señal que indica que el disco duro ha sido visitado.

Todos los tres tableros reaccionan cuando se recibe una señal para indicar que el disco duro ha sido visitado. Cada tablero haciendo una secuencia de efectos de iluminación LED dura unos pocos segundos. Si el disco no obtiene acceso a otra vez, las juntas se remontan a su bucle estado de 'default'. Si el disco duro sigue acceder (esto sucede a menudo) entonces siguen iluminación LED. La primera tabla mantiene un contador de tiempo pasando y si el disco duro ha sido repetidamente acceso durante un periodo de 30 segundos o más, entonces un 'más frenético' conjunto de efectos de iluminación LED activa y un segundo cable de señal comunica esta situación a los otros dos tableros para hacerles aumentar el tempo de sus efectos de LED.

Los "efectos de LED" incluyen:

  • 'Rotar' patrón de LEDs en el maniquí plato de disco duro
  • 'Movimiento' patrón de LEDs que viajan por la espina dorsal
  • Flashes aleatorios de LEDs dentro de 'el cerebro'

Sólo por causa de interés, yo he reproducido el programa gran Basic de la vaca que es compilado y cargado en un PIC 16F88 para dar un sabor de lo que parece el elemento de software de este proyecto. Esta mucho más accesible que los métodos de programación de PIC normales. Algo similar se carga en cada uno de los tres módulos de PCB. Gran parte del código es comentario, en lugar de código activo. Cualquier cosa después de un apóstrofo es un comentario. Comentar es muy importante para el mantenimiento de software y este es un ejemplo de mi código de trabajo - no especialmente comentado para que otros puedan leer!

 'Program which drives the "Brain" board (Kicad "LED driver module 01")' it has all of the PortB outputs connected to a ULN2804 driver ' it has PortA.4, PortA.6 and PortA.7 connected to MOSFET drivers ' it has PortA.2 (jumper 0) and PortA.3 (jumper 1)connected as mode jumpers (normally high - jumpers pull low) ' it has PortA.1 and PortA.0 as inputs ' it has no external connection to PortA.5 (pulled high and connected for Vpp)' The software consists of a 41 stage For/Next loop ' which drives the red 'heartbeat'. ' If a demand is made on the hard drive (ie PortA.0 has been driven high by the master board) ' then the blue leds on the dummy hard drive are lit alongside (ie as part of) the ' for/next loop. ' For the dummy hard drive leds to start, the for/next loop has to finish its heartbeat cycles. ' Hence there is a delay before the dummy drive lights start up.' The software uses a software PWM (RB1)'Program options'Hardware settings #chip 16F88, 8 'PIC 16F88 running at 8 MHz #config MCLR = Off, osc=INTRC_IO 'Turn off MCLR, select internal osc. 'WDT and LVP are disabled automatically'Initialise 'HEARTBEAT '~~~~~~~~~ 'Split waveform into 20 values to indicate the brightness of the red leds 'dim = 0 Bright = 60??? Table RedLedBrightness 3 3 2 2 2 2 2 10 30 50 70 90 100 100 100 100 100 100 100 100 90 80 70 60 55 50 45 40 35 30 25 20 15 10 5 5 4 4 3 3 end table'SET PORT DIRECTIONS Dir PORTB Outdir PORTA.4 out dir PORTA.6 out dir PORTA.7 out dir PORTA.0 in 'input line - demand being made dir PORTA.1 in 'input line dir PORTA.2 in 'mode jumper dir PORTA.3 in 'mode jumperdir PORTA.5 in 'MCLR connected to pin A5 - not used' next line sets up the software PWM channel #define PWM_Out1 PORTA.7'Set initial state of port B PORTB = b'10000000'set PORTA.4 off set PORTA.6 off set PORTA.7 offwait 2 s ' give the programmer a moment to kick in AllLedsOff'###################################################### 'Software PWM 'PWMOut channel, duty cycle, cycles in 0.5us cycles (for an 8MHz chip) ' , 0-255 , 100 = 50us 'not convinced about the 255 value being 100% ! Using 0 - 100 seems to cover the full brightness range??? '###################################################### 'Main routineDemandMade=falseDo'##### Check for jumper positions '================================ modeLSB=PORTA.2 ' jumper nearest to the power block modeHSB=PORTA.3 ' jumper away from the power block mode = modeLSB+(modeHSB*2)'no jumpers = 3 'jumper A.3 in = 2 'On user instruction - referred to as "J5 in J6 out (2): High demand causes random flashing of the blue lights." 'jumper A.2 in = 1 'On user instruction - referred to as "J5 out J6 in (1): High demand is ignored. Heartbeat and dummy disc are normal, blue plate lights off." 'both jumpers in = 0 'On user instructions - referred to as "J5 in J6 in: High demand causes dummy disc, red heartbeat and blue plate lights to randomly flash." 'REMEMBER jumper positions in the user guide are numbered in reverse 'to the markings on the physical wires (wire 1 = jumper 8, etc) '#### Check for demand and demand level '====================================== if Porta.0=on then DemandMade=true else DemandMade=false end ifif PORTA.1=on then PeakDemand=true else PeakDemand=false end if'#### Do the code required by the jumper position '================================================ Select case mode case 3 ' no jumpers in 'PORTB is sequenced in a circle for normal demand levels and sparkles for high levels 'Red LEDs have heartbeat in all circumstances 'Other 2 outputs have random sparkling at high levels - otherwise off if DemandMade=true then PORTB = b'10000000' For cycle = 1 to 40 ReadTable RedLedBrightness, cycle, brightness PWMOut(1, brightness , 25) if DemandMade=true and PeakDemand=False then Rotate PORTB Right simple if DemandMade=true and PeakDemand=True then PORTB = random ' makes output leds 'sparkle' PORTA.4=random/128 ' just a random 0 or 1 value PORTA.6=random/128 end if next case 1 'PORTB is sequenced in a circle for All demand levels 'Red LEDs have heartbeat in all circumstances 'Other 2 outputs are off off if DemandMade=true then PORTB = b'10000000' For cycle = 1 to 40 ReadTable RedLedBrightness, cycle, brightness PWMOut(1, brightness , 25) if DemandMade=true then Rotate PORTB Right simple next case 2 'PORTB is sequenced in a circle for all demand levels 'Red LEDs have heartbeat in all circumstances 'Other 2 outputs have random sparkling at high levels - otherwise off if DemandMade=true then PORTB = b'10000000' For cycle = 1 to 40 ReadTable RedLedBrightness, cycle, brightness PWMOut(1, brightness , 25) if DemandMade=true then Rotate PORTB Right simple if DemandMade=true and PeakDemand=True then PORTA.4=random/128 ' just a random 0 or 1 value PORTA.6=random/128 end if next case 0 'both jumpers in 'PORTB is sequenced in a circle for normal demand levels and sparkles for high levels 'Red LEDs have heartbeat unless there is high demand 'Other 2 outputs have random sparkling at high levels - otherwise off if DemandMade=true then PORTB = b'10000000' For cycle = 1 to 40 if DemandMade=true and PeakDemand=False then Rotate PORTB Right simple ReadTable RedLedBrightness, cycle, brightness PWMOut(1, brightness , 25) end if if DemandMade=true and PeakDemand=True then ' All ports just flash randomly 40 TIMES ' Great for MAXED-OUT brain (bright and vibrant!) PORTB = random ' makes output leds 'sparkle' if random>128 then set PORTA.4 on else set PORTA.4 off end if if random>128 then set PORTA.6 on else set PORTA.6 off end if if random>128 then set PORTA.7 on else set PORTA.7 off end if wait 40 ms end if if DemandMade=False then ReadTable RedLedBrightness, cycle, brightness PWMOut(1, brightness , 25) end if next end selectAllLedsOffLoop '###################################################### Function AllLedsOffPORTB = b'00000000' set PORTA.4 off set PORTA.6 off set PORTA.7 offend function 

Artículos Relacionados

Desmontar carcasa externa de disco duro Seagate

Desmontar carcasa externa de disco duro Seagate

es este instructable para el desmontaje seguro de Seagate 3,5 pulgadas botón de Backup externos discos duros como se ve aquí:http://www.Seagate.com/www/en-US/products/external/pushbutton_backup/En primer lugar, ¿por qué alguien querría desarmar esta
Disco duro externo + hub USB

Disco duro externo + hub USB

¿Está molesto por el hub USB de errante en su escritorio que fácilmente se mueve? ¿Quieres algo de espacio extra para almacenar tus videos, fotos y documentos, pero no como la apariencia de los discos duros externos?Usted puede crear su propio, único
¿Cómo convertir un cartucho de juego de NES en un disco duro externo

¿Cómo convertir un cartucho de juego de NES en un disco duro externo

que siempre quisiste hacer que viejo aburrido buscando disco duro en algo único y con estilo? Este instructable es justo lo que estás buscando! Este tutorial le mostrará cómo convertir un viejo juego de Nintendo Entertainment System (NES) en un disco
Disco duro externo NES cartucho

Disco duro externo NES cartucho

convertir el viejo cartucho NES en un disco duro externo, al igual que este chico hizo, excepto con mejores instrucciones paso a paso.Alteré el LED incorporado para que yo pudiera tener personalizadas luces rojas saliendo de la parte inferior. Se tra
Fijar el disco duro externo acceso denegado [SOLUCIONADO]

Fijar el disco duro externo acceso denegado [SOLUCIONADO]

¿son te has topado con un problema con un disco duro externo que no puede leer?por ejemplo en la primera imagen dice formatear disco. esta advertencia aparece cuando el disco duro conectado en su computadora. Si selecciona cancelar en esta advertenci
ESTUCHE PROTECTOR DE DISCO DURO EXTERNO.

ESTUCHE PROTECTOR DE DISCO DURO EXTERNO.

CASO DEL PROTECTOR DEL DISCO DURO EXTERNO:-Disco duro externo es poco difícil de llevar con seguridad.Aquí es lo mejor y barato llevar el disco duro externo con seguridad en cualquier condición meteorológica.Todo el material utilizado en este proyect
Xbox 360 Hard Drive (disco duro externo)

Xbox 360 Hard Drive (disco duro externo)

es este instructable sobre cómo crear tu propio disco duro externo de Xbox 360.Este disco duro se puede utilizar para almacenar: música, videos, fotos, mucho más!Paso 1: fuentes de Lo que usted necesita para este instructable es:1 Xbox 3601 disco dur
Disco duro externo DIY

Disco duro externo DIY

Esto es una rápida Instructables para todas las personas que nunca tienen suficiente espacio para almacenar todos sus archivos diferentes. ¿Está cansado de comprimir tus imágenes? ¿No sé cómo usar la nube... porque nadie entiende la nube? ¿Quieres ir
Usando un disco duro externo USB con el Raspberry Pi

Usando un disco duro externo USB con el Raspberry Pi

Introducción experimental:En muchos casos SD capacidad no es suficiente. Por suerte el Raspberry Pi se puede conectar fácilmente a los discos duros externos USB. Siga los pasos de esta sección, y pronto tendrás mucho más espacio de almacenamiento con
Montar un disco duro externo

Montar un disco duro externo

este tutorial te enseñará cómo montar un básico, funcionamiento disco duro externo, usando una caja de disco duro externo y un disco duro interno. Usted aprenderá cómo actualizar o reparar un disco duro viejo y cómo crear un disco duro externo nuevo
Disco duro externo de un viejo disco duro interno

Disco duro externo de un viejo disco duro interno

Este instructable muestra el proceso paso a paso de hacer un disco duro externo de un viejo disco duro interno. Además, se incluyen los métodos que utiliza para obtener el disco duro interno de un ordenador portátil antiguo y para hacer la vivienda/c
Mod de disco duro externo y añadir más potencia USB

Mod de disco duro externo y añadir más potencia USB

MOD: eliminando la necesidad de adaptador de corriente en cualquier recinto HDD/SSD externo 2.5"Añadir más potencia USB:Alimentación por USB:USB 2.0 - 200maUSB 3.0 - 900maPaso 1: Piezas y herramientas Mod de disco duro externo USB1 - 2 cables de x US
Disco duro externo de SNES

Disco duro externo de SNES

Bueno, hoy les mostraré cómo convertir su deffective SNES juego en un disco duro externo.Material:Juego de SNES (yo escogí Sim city pero la pegatina con Mario World ;))Disco duro (2.5'')SATA al adaptador mini-usb (algunos dólares en ebay)Paso 1: Adap
Cómo exportar los medios de comunicación desde iPad a disco duro externo

Cómo exportar los medios de comunicación desde iPad a disco duro externo

Este conjunto de instrucciones le guiará sobre cómo exportar cualquier fotos y vídeos que tengas en tu PC con Windows desde un iPad.Paso 1: Conecte el disco duro externo LACIE al ordenador.Configurar el LACIE según las instrucciones en la caja.Descar