"Hjärnan" en extern hårddisk och ljus skulptur (11 / 11 steg)

Steg 11: Att sätta allt ihop



En kort bild av händelseförloppet:

När driva, appliceras till de tre styrelserna börjar högra styrelsen långsamt pulserande av röda lysdioder i ett hjärtslag mönster. Detta görs med hjälp av programvara PWM kommandon (del av i den stora ko grundläggande) att variera ljusstyrkan på en uppsättning röda lysdioder. Denna kod är i en ögla.

Beroende på konfigurationen av byglarna, gör de andra två styrelserna ingenting, bara looping runt väntar på en signal som anger att hårddisken har öppnats.

Alla tre styrelser reagera när en signal tas emot för att indikera att hårddisken har öppnats. Varje styrelse gör en sekvens av LED belysning effekter varar några sekunder. Om hårddisken inte få nås igen, gå styrelserna tillbaka till deras "standard" looping status. Om hårddisken fortsätter att nås (det händer ofta) och sedan fortsätter de LED-belysning. Den första styrelsen håller en timer går och om hårddisken har upprepade gånger tillgång under en period av 30 sekunder eller mer, sedan en "mer frenetiska" uppsättning LED belysning effekter kickar in och en andra signal tråd kommunicerar detta tillstånd till de andra två brädor att låta dem öka tempot i sina LED effekter.

"LED effekter" inkluderar:

  • "Roterande" mönster av lysdioder på dummy hårddisk tallrik
  • "Rörliga" mönster av lysdioder reser upp ryggraden
  • Random blixtar av lysdioder inuti "hjärnan"

Bara för intresse skull, har jag återskapat stor ko Basic-program som får upprättas och lastas på en PIC 16F88 att ge en smak av vad programvaruelementet av detta projekt ser ut. Denna mycket mer tillgänglig än de normala PIC programmering metoderna. Något liknande är laddad på var och en av de tre modulerna som PCB. Mycket av koden är kommentar, snarare än aktiv koden. Något efter en apostrof är en kommentar. Kommentera är mycket viktiga för att upprätthålla programvara och detta är ett exempel på min fungerande kod - inte speciellt kommenterade för andra att läsa!

"Program som driver"Hjärnan"styrelsen (Kicad" LED drivrutinsmodulen 01")
"den har alla PortB utgångarna ansluten till en ULN2804 drivrutin
"det har PortA.4, PortA.6 och PortA.7 anslutna till MOSFET drivrutiner
"det har PortA.2 (jumper 0) och PortA.3 (bygel 1) ansluten som läge byglar (normalt hög - byglar dra låg)
"det har PortA.1 och PortA.0 som insatsvaror
"det har ingen extern anslutning till PortA.5 (drog höga och anslutna för Vpp)
"Programvaran består av en 41 scen för/nästa slinga
"som driver röda"hjärtslag".
"Om en begäran görs på hårddisken (dvs PortA.0 har drivits på höga master styrelsen)
"och sedan de blå lysdioderna på dummy hårddisken lyser vid sidan (dvs som en del av) den
"för/nästa slinga.
"För dummy hård driva lysdioderna att starta, den för/nästa slinga har till slut dess hjärtslag cykler.
"Därför är det en fördröjning innan dummy enheten lyser start.
"Mjukvaran använder en programvara PWM (RB1)
"Programmera
"Maskinvaruinställningar
#chip 16F88, 8 ' PIC 16F88 på 8 MHz
#config MCLR = av, osc = INTRC_IO ' Stäng av MCLR, Välj inre osc.
"WDT och lägsta värdets princip inaktiveras automatiskt
"Initiera
"HJÄRTSLAG
'~~~~~~~~~
"Dela vågform i 20 värden att ange ljusstyrkan på de röda lysdioderna
"dim = 0 ljusa = 60???
Tabell 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 tabell
"SET PORT RIKTNINGAR
Dir PORTB ut
dir PORTA.4 ut
dir PORTA.6 ut
dir PORTA.7 ut
dir PORTA.0 i "line-ingång - kräver att man
dir PORTA.1 i "line-ingång
dir PORTA.2 i ' läge bygel
dir PORTA.3 i ' läge bygel
dir PORTA.5 i ' MCLR ansluten till pin A5 - inte används
"nästa rad sätter upp programvara PWM kanalen
#define PWM_Out1 PORTA.7
"Anger starttillståndet för port B
PORTB = b "10000000"
iväg för PORTA.4
iväg för PORTA.6
iväg för PORTA.7
vänta 2 s ' ge programmeraren en stund att sparka in
AllLedsOff
'######################################################
"Programvara PWM
"PWMOut kanal, intermittens, cykler i 0.5us cykler (för en 8 MHz chip)
', 0-255, 100 = 50us

"inte övertygad om 255 värde att vara 100%! Med 0 - 100 verkar täcka hela ljusstyrkeintervallet???

'######################################################
"Main rutin
DemandMade = false
Göra
"### Kontrollera för jumper positioner
'================================
modeLSB=PORTA.2 "jumper närmast power block
modeHSB=PORTA.3 "jumper från blocket makt
läge = modeLSB + (modeHSB * 2) "inga byglar = 3
"jumper A.3 i = 2
"På användaren anvisning - kallad" J5 i J6 ut (2): hög efterfrågan orsakar slumpmässiga blinkande blå lamporna. "

"jumper A.2 = 1
"På användaren anvisning - kallad" J5 ut J6 i (1): hög efterfrågan ignoreras. Hjärtslag och dummy skiva är normal, blå tallrik lampor utanför."
"båda byglar i = 0
"På användarinstruktioner - kallad" J5 i J6 i: hög efterfrågan orsakar dummy skiva, röda heartbeat och blå tallrik ljus slumpmässigt blinka. "
"Kom ihåg jumper positioner i användarhandboken är numrerade i omvänd
"att markeringarna på fysiska kablarna (tråd 1 = bygel 8, etc)

"### När på efterfrågan och efterfrågenivå
'======================================
om Porta.0=on sedan
DemandMade = sant
annat
DemandMade = false
slut om
om PORTA.1=on sedan
PeakDemand = sant
annat
PeakDemand = false
slut om
"### Göra koden krävs av bygel
'================================================
Välj fall läge
fall 3' inga byglar i
"PORTB är sekvenserade i en cirkel för normala efterfrågan nivåer och gnistrar för höga
"Röda lysdioder har hjärtslag under alla omständigheter
"Andra 2 utgångar har slumpmässiga mousserande på höga nivåer - annars av
om DemandMade = true sedan PORTB = b "10000000"

För cykel = 1 till 40
ReadTable RedLedBrightness, cykel, ljusstyrka
PWMOut (1, ljusstyrka, 25)
om DemandMade = true och PeakDemand = falskt då rotera PORTB rätt enkel
om DemandMade = true och PeakDemand = True then
PORTB = random "gör utgång lysdioder"sparkle"
Porta.4=Random/128 "bara en random 0 eller 1 värde
Porta.6=Random/128
slut om
Nästa

fall 1
"PORTB är sekvenserade i en cirkel för alla efterfrågan nivåer
"Röda lysdioder har hjärtslag under alla omständigheter
"Andra 2 utgångar är avstängda av
om DemandMade = true sedan PORTB = b "10000000"

För cykel = 1 till 40
ReadTable RedLedBrightness, cykel, ljusstyrka
PWMOut (1, ljusstyrka, 25)
om DemandMade = true sedan rotera PORTB rätt enkel
Nästa

fall 2
"PORTB är sekvenserade i en cirkel för alla efterfrågan nivåer
"Röda lysdioder har hjärtslag under alla omständigheter
"Andra 2 utgångar har slumpmässiga mousserande på höga nivåer - annars av
om DemandMade = true sedan PORTB = b "10000000"

För cykel = 1 till 40
ReadTable RedLedBrightness, cykel, ljusstyrka
PWMOut (1, ljusstyrka, 25)
om DemandMade = true sedan rotera PORTB rätt enkel
om DemandMade = true och PeakDemand = True then
Porta.4=Random/128 "bara en random 0 eller 1 värde
Porta.6=Random/128
slut om
Nästa
fall 0 ' båda byglar i
"PORTB är sekvenserade i en cirkel för normala efterfrågan nivåer och gnistrar för höga
"Röda lysdioder har hjärtslag om det inte finns stor efterfrågan
"Andra 2 utgångar har slumpmässiga mousserande på höga nivåer - annars av
om DemandMade = true sedan PORTB = b "10000000"

För cykel = 1 till 40

om DemandMade = true och PeakDemand = falskt då
Rotera PORTB höger enkel
ReadTable RedLedBrightness, cykel, ljusstyrka
PWMOut (1, ljusstyrka, 25)
slut om
om DemandMade = true och PeakDemand = True then
"Alla portar blinkar bara slumpmässigt 40 gånger
"Bra för MAXED ut hjärnan (ljus och levande!)
PORTB = random "gör utgång lysdioder"sparkle"
om slumpmässig > 128 sedan
ställa in PORTA.4 på
annat
iväg för PORTA.4
slut om
om slumpmässig > 128 sedan
ställa in PORTA.6 på
annat
iväg för PORTA.6
slut om
om slumpmässig > 128 sedan
ställa in PORTA.7 på
annat
iväg för PORTA.7
slut om
vänta 40 ms
slut om
om DemandMade = falskt då
ReadTable RedLedBrightness, cykel, ljusstyrka
PWMOut (1, ljusstyrka, 25)
slut om
Nästa

End markerar
AllLedsOff
Loop
'######################################################
Funktion AllLedsOff
PORTB = b '00000000'
iväg för PORTA.4
iväg för PORTA.6
iväg för PORTA.7
slutet funktion

Se Steg
Relaterade Ämnen

Extern hårddisk + USB hub

Är du besvärats av vandrande USB-hubb på skrivbordet som lätt går? Vill du ha lite extra utrymme att lagra dina filmer, bilder och dokument men gillar inte utseendet på dessa externa hårddiskar?Du kan skapa din egen, en av ett slag, fancy söker exter...

Montera en extern hårddisk

denna tutorial undervisar dig hur man monterar en grundläggande, fungerande extern hårddisk, använder en extern hårddisk fall och en intern hårddisk. Du lära dig att uppgradera eller reparera en gammal hårddisk, och hur man bygger en ny extern hårddi...

Demontera Seagate extern hårddisk låda

detta instructable är för säker disassemblyen av Seagate 3,5-tums tryckknapp Backup externa hårddiskar som kan ses här:http://www.Seagate.com/www/en-us/Products/external/pushbutton_backup/Först och främst, varför skulle någon vilja ta det här isär? J...

Göra en extern hårddisk från gamla externa CD/RW

ganska rakt fram konvertering av en gamla externa cd/rw-enhet till en mer användbar extern hårddisk.Leveranser1-external cd/rw (helst den mer kantighet typ)1-hårddisk (måste matcha intern anslutning av driva fall, måste vara formaterade/sysed)1-small...

Extern hårddisk driva från en gammal interna hårddisk

Detta instructable visar steg för steg process för att göra en extern hårddisk från en gammal interna hårddisk. Dessutom ingår de metoder jag använt att få den interna hårddisken i en gammal bärbar dator och göra bostäder/höljet från den DIY extern h...

DIY extern hårddisk

Så är detta en snabb Instructables för alla de människor som aldrig har fullt tillräckligt utrymme för att lagra alla sina olika filer. Är du trött på komprimera dina bilder? Vet inte hur att använda molnet... eftersom ingen förstår molnet? Vill du g...

Extern hårddisk fall från pyjamas - nr sömnad

jag tycker att jag använder min externa hårddisk mycket och jag är alltid rädd jag kommer att förstöra det när jag bär det från plats till plats. Jag är mest orolig kabeln kommer att gå vilse, anslutningen kommer att få fastnat eller hårddisken komme...

Vill använda Windows 8? Partition (söndra) din hårddisk och prova det!

IntroduktionMicrosoft släppte nyligen sitt nya operativsystem Windows 8. Denna nya version av windows är dramatiskt annorlunda tidigare version, Windows 7. Genom partitionering eller dividera, hårddisken innan du installerar Windows 8, du kommer att...

NES patron extern hårddisk

förvandla din gamla NES patronen till en extern hårddisk, precis som den här killen gjorde, förutom med bättre steg för steg instruktion.Jag förändrat den inbyggda LED så att jag kunde ha egna röda lampor kommer ut i botten. Detta är en frivillig anp...

Hur konvertera en NES spel patron i en extern hårddisk

har du någonsin velat vända det gamla tråkiga ser hård driva in i något unik och elegant? Detta instructable är just den sak du letar efter! Denna tutorial ska show dig hur man omvandlar ett gammalt Nintendo Entertainment System (NES) spel till en po...

Med en USB extern hårddisk med din Raspberry Pi

Experimental Inledning:I många fall räcker SD kapacitet inte. Lyckligtvis kan Raspberry Pi enkelt anslutas till externa USB-hårddiskar. Följ stegen i detta avsnitt, och du kommer snart att ha mycket mer lagring ansluten till din Raspberry Pi.Steg 1:...

USB-drivna Hub hacka för Raspberry Pi extern hårddisk

Steg 1: IntroHejJag fick nyligen en Raspberry Pi att använda som en HTPC kör Raspmc.Men kom in i problem där Rpi ger inte tillräckligt med kraft för buss på dess USB-portar att driva en 2,5-tums extern hårddisk.Så jag bestämde mig att lägga till en e...

Skyddsfodral för extern hårddisk

extern hårddisk är cool, men de är känsliga och en fallande kan förstöra det eller lämna det fungerar dåligt...Det mest hård driva är smal och glansigt... lätt att sladda händer... och mer... det behöver två delar... Hård driva och USB-kabel... det ä...

SNES extern hårddisk

Okej, kommer att idag jag visa dig hur du sätter din SNES deffective spelet till en extern hårddisk.Material:SNES spel (jag valde Sim city men switch dekalen med Mario World ;))Hårddisk (2,5 '')SATA till mini-USB-adapter (några dollar på ebay)Steg 1:...

Hårddisk-och dalbana

du bara ersatt din laptop hårddisk och önskar att du kunde göra något nyttigt med dålig enheten? Gör en intressant-och dalbana att placera under dina drinkar och imponera på dina geek vänner.Steg 1: Få vissa klibbiga fötter Gå till din lokala järnaff...

Moleskine RFID reader-extern hårddisk

jag älskar Moleskine dagordningar. Jag visste inte förrän jag provat en och varje gång jag slutar en, jag försöker hitta ett sätt att återanvända det i ett projekt eller annat. En av dem jag hackade en elegant combo fallet för min bärbara hårddisk oc...

Bygga en slumpmässig musik och ljus Generator och glimt bevis för Gud

skapa verkligt slumptal verkar vara omöjligt. Det är, men ganska lätt att använda en mikrokontroller att generera pseudo random nummer och sedan använda dem för att Visa ljud och olika färgade lampor. Medan musiken som genereras är inte precis Beetho...

WeggUp - en sovande cykel och ljus väckarklocka

Jag har ofta problemet, som jag har problem med att få på morgonen, och på samma gång, jag har svårt att somna i natt.Jag har checkat ut flera möjligheter att göra både lättare.Att stiga upp på morgonenSunrise larm / ljus väckarklockor (amazon): i st...

Hur man bygger en Spooky arbetar vindbrygga med ljud och ljus

när vi först tänkt tanken på att lägga en vindbrygga till vår medeltida tema hemsökta skogen, vi tänkt en enkel träbro med lite spooky kedjor. Men jag är säker många av er vet, "enkla" idéer sällan förbli när kvar i medvetandet hos människor som...