Interaktiva LED öl Pong tabell (57 / 87 steg)

Steg 57: Programvara: hur bollen bricka koden fungerar



Bollen brickorna är mycket häftiga funktioner i denna tabell och de är mycket enkel att använda. En spelare tappar en ping pong boll i vänster bollen bricka hålet där en IR sensor kommer att upptäcka den och starta en vattenpump, vattenpumpen kommer avstängning efter två sekunder och starta fläkten fläkten som sedan kommer att blåsa ping pong bollen ur avsluta hålet och spelaren kommer att ta tag i den. Nu är alla fina och dandy om situationen ovan sker 100% av tiden, men vad händer om spelaren inte någonsin ta ping pong boll? Eller Tänk om bollen fastnar? Eller någon av misstag resor posten sensorn med sina fingrar? Ja då skulle bollen brickan springa på obestämd tid om inte spelaren manuellt trippade exit IR-sensorn. Ser som jag inte kommer att lita på människor manuellt tripping exit IR-sensorn om saker gick snett, beslutat jag att lägga några felhantering i bollen bricka koden.

Obs:
När bollen blåses ur avsluta hålet, ser IR-sensorn bollen förbi men det kommer inte se bollen när det svävar över toppen av avsluta hålet. För att få bollen bricka att fungera ordentligt, satt vi fläkten fläkten att köra för tre sekunder efter exit IR-sensorn ser bollen passera det, detta sätt spelaren har tillräckligt med tid att greppa ping pong bollen innan fläkten stängs av och det faller tillbaka ner i röret. Om spelaren inte ta det, bollen brickan identifierar det falla tillbaka ner i röret och spränga den tillbaka. Det kommer att göra för en viss tid innan den tiden ute och sätter en fel flagga.

Det finns egentligen bara två situationer där det kommer att gå fel. Den första situationen är om en boll sätts i inträde hål men det kommer aldrig ut ur röret att resa utmatningssensor och avsluta funktionen. I det här fallet skulle boll brickan bara hålla igång tills någon trippade exit sensorn manuellt eller vände bort tabellen. Den andra situationen händer när ping pong boll har kommit ut från exit hål och resa sensorn men spelaren inte greppa bollen så bollen brickan stängs av och bollen faller tillbaka ner i röret. Om en annan boll sätts in i det samma boll bricka det kan jam upp så nu blir det två bollar i var röret istället för en som är vad den avsedd för. I alla dessa fall, vill vi inte spelare att fortsätta att försöka använda bollen brickan och göra situationen värre, vi vill istället göra oduglig bricka bollen tills problemet har åtgärdats.

Vi kommer att programmera tabellen så att om en boll fastnar i rör eller om en boll faller tillbaka ner i röret, bollen brickan helt inaktiveras tills problemet har lösts och spelaren "återställer" bollen brickan. Om en spelare försöker sätta en boll i bollen brickan när den är inaktiverad, bollen bricka LED ringen kommer att blinka på och av fem gånger som anger att bollen bricka har fastnat. Jag har bifogat fyra flödesscheman som förklarar varje beslut och process som mikrokontroller utför för att hantera dessa fel. Här är en kort genomgång:

Situationen #1
En boll tappas i posten hålet på bollen bricka #2 men det fastnar i rör och inte avsluta bollen brickan. Ball brickan timeout och stänger men spelaren försöker sätta en annan boll i bollen brickan. Den punkt där spelaren sätter andra bollen i är deonoted av **.

Ball_Washers_Detect (UINT8 upptäckt)
1) kontrollera för att se till att BW2_JAM inte in från tidigare bollen. Det rensas, så fortsätt till nästa steg.
2) ange BW_ACTIVE = 1 så att någon funktion som använder bollen brickan LED ringar för animationer inte kommer att använda dem.
3) vända på posten LED ringen och bollen bricka vattenpumpen.
4) tillåter två sekunder att passera så att pumpen har tillräckligt med tid att skjuta bollen till den andra änden av röret.
5) stänga av bollen bricka pumpen och slå på fläkten fläkten i normal hastighet.
6) kontrollera att se om bollen har passerat utmatningssensor ännu.
7) det har inte, låt två sekunder passera och hålla övervakning sensorn för att se om det passerar.
8) det loopar fem gånger (ca 10 sekunder) men gånger ut som bollen inte kom ur det avsluta hålet.
9) ange BW2_JAM = 1 så att om en annan boll upptäcks på posten hålet av bollen brickan programmet vet att det har fastnat.

** Spelaren sätter i andra ping pong bollen i fastnat bollen brickan.
10) Ball_Washers_Detect(detection) upptäcker andra bollen och börjar fungera igen.
11) det första som kontrollerar den om det är om BW2_JAM är inställd och det är.
12) ange den globala variabeln "error_code" till BW2_JAM_ERROR_CODE.
13) ange DIAGNOSE_ERROR = 1 (The Timer3 avbrott rutin tar hand om resten nu när DIAGNOSE_ERROR är inställd).

Timer3()
11) Timer3 avbryter och kontrollerar om DIAGNOSE_ERROR == 1.
12) det finns ett fel, anropa funktionen Display_Error(error_code) och omfattar den globala variabeln som innehåller felkoden.

Display_Error(Error)
13) Kontrollera felkoden för att se vilken typ av fel måste visas.
14) det är en BW2_JAM_ERROR_CODE, anropa funktionen Ball_Washer_Jam_Error(error) att informera spelaren av felet.

Ball_Washer_Jam_Error(Error)
15) är bollen bricka #2 in- och utresa sensorer både blockerat? (Detta är hur en användare "återställer" bollen brickan).
16) de är inte båda blockerat, ge BW_ACTIVE 1 så inga andra animeringar använder bollen brickan LED ringar.
17) blinka in- och utresa ringar av bollen bricka #2 på och av fem gånger, detta informerar spelaren att det finns en sylt.
18) klart DIAGNOSE_ERROR för 0 och avmarkera BW_ACTIVE till 0.

Nu när du har en idé om hur bollen bricka koden är formaterad, har jag postat en video nedan för situationen #2 där bollen är aldrig tog från avsluta hålet. Fläkt fläkthastigheten reduceras innan den stängs av så att om bollen inte har varit grep det kommer falla tillbaka ner i röret och trip exit sensorn igen. Fläkt fläkt kommer sedan vara rusade upp till dess normal hastighet och blås bollen tillbaka ur bollen brickan, det kommer att upprepa detta upp till tre gånger och om bollen inte har varit tog tag av tredje gången det kommer att stänga av och sätta en boll bricka sylt fel flagga.

Du kan justera hastigheterna som motor för din boll brickor i huvudfilen miscellaneous.h under definierade konstanterna BWx_PUMP_SPEED och BWx_FAN_SPEED ("x" är bollen bricka #1 eller #2).

Se Steg
Relaterade Ämnen

LED Pong tabell

Denna LED öl pong tabell blåser sinnen, och om du gör det korrekt, inga säkringar. Fullt fungerande modellen båda upptäcker där en boll studsar och förstärker ditt festande erfarenhet med en musik-känsliga ljusshow. Som du ser, kommer vår nuvarande v...

LED Arduino Beer Pong tabell

Vårt projekt är en lysdiod underhållning tabell eller colloquially, en Beer Pong tabell. Vi fick idén från en grupp studenter förra året som också byggde en öl pong tabell för deras projekt, och vi lärde oss om deras design och gjort några betydande...

Baserade Arduino Bi-color LED Matrix Pong spel

Vi har skapat två game-projekt instructables hittills använda jolliFactory Bi-color LED Matrix Driver modul DIY kit vi har utformat. Denna ledde matrisen modul är utformad för att kunna kedja-så du kan seriekoppla moduler tillsammans med antalet modu...

EL Wire oändlighet Pong tabell

beslutat att göra en awesome pong tabell för mitt nya hus. Gotta love College livet!Reservdelslista:-Vik-upp plast bord-EL wire för att förstora-Driver för binda av ditt valJag rekommenderar coolneon.com-spegel klipp att hålla tråd-2 "x 4" s för...

Flytande öl Pong tabell

för många här, det är sommartid nu. För många av dessa människor: sommartid parterna (nämligen sådana utomhus). För många av dessa människor inkluderar detta en pool vid något tillfälle. Och sedan ett parti ofta innehåller öl pong för många (unga) mä...

Lätt College öl Pong tabell

Vi har alla sett saker som studenter kasta ut innan sommaren-soffor, madrasser, lampor, etc. Om du råkar hitta en bokhylla och en strykbräda, kan du aktivera det skräppost till en solid öl pong tabell för en egen lägenhet.Jag satt ihop två olika bord...

Hur man bygger en vikbar öl pong tabell!

jag byggde denna öl pong tabell för en vän!Frågan är en öl pong tabell är riktigt stor så jag skapa en vikbar!Den här är anpassade som en fotboll marken.Steg 1: Förbered material! i tabellen är 2,40 X 0.6 m så 4 trä paneler av 0,6 m X 0.6 m!Det vikti...

Interaktiva LED skor - Arduino

Sticker ut från mängden med dessa coola interaktiva LED skor som aktiveras vid rörelse. Välj mellan sex olika effekter, att blanda saker upp lite nästa gång du är ute på stan!Steg 1: översikt Varje sko är driv vid en Arduino Pro Mini med en matris av...

4 x 4 x 4 interaktiva LED-cube med Arduino

för att förklara min 4 x 4 x 4 interaktiva LED-cube publicerade förut, lite mer klart, jag ska försöka att göra mitt första steg för steg instructable.Denna 4 x 4 x 4 kub är interaktiv med fyra hörnet lysdioder både som lysdioder och sensorer som rea...

Småbarn interaktiva LED System (pågår)

Jag jobbar på två projekt parallellt och jag vill organisera vad jag har på detta projekt innan jag börjar dokumentera det andra projektet.Småbarn interaktiva LED System (pågår)Beräknad: 50% komplett.När du är klar som projektet ska:Består av: karton...

Glöd i mörka LED Ping Pong boll

Skapa en glöd i mörka LED ping pong bollen med flera enkla steg.Steg 1: material Du behöver följande material:Ping Pong bollLED (5mm eller 10 mm)3V batteriTejpLåg Temp limpistolRazorSteg 2: Förbereda LED Lysdioder har en positiv och negativ tråd. Du...

Hemgjort anpassade bärbara öl Pong tabell

Steg 1: Layout jag byggde den här tabellen för vår årliga hemliga Santa gåva utbyte. Min draw är en enorm lakers fan och ville ha en bärbar öl pong tabell, men budgeten för utbyte är $40... Så jag byggde en.Steg 2: Material Min bror är en finish snic...

Interaktiva LED labbrock

detta är en instructable för den interaktiva LED Lab rockar, utställningsmonter på Autodesk University.Kolla in filmerna nedan! Först är en demo av färgerna påverkas av knapparna. Andra är en demo av alkoholmätare! (detta kommer att förklaras senare)...

Oändlighet Pong tabell V2

detta är mitt andra oändlighet pong bord. Jag har lärt mig en hel del från dessa två tabeller, och jag ska försöka att ställa ut några steg för att replikera dem. Även om jag ska ge en rättvis varning, finns det en hel del trial and error. Lycka till...

Skapa din egen öl Pong tabell

College sociala livet för vissa omfattar ett mycket brett utbud av frågor. Från tjänsthändelser till college sports är sociala livet i college en mycket stor del av atmosfären under hela campus. En kul del av det sociala livet är parterna. För de öve...

Bärbar öl pong tabell

Först av allt jag är från Sydafrika och öl pong är inte stor här, eller ska jag säga det är inte stort ännu. Jag bestämde mig att bygga min egen tabell eftersom du helt enkelt inte kan köpa tabeller här och om du vill importera, det kommer att kosta...

Hur.. Göra en magi Ping Pong tabell

Detta är hur vi gjorde vårt första magiska ping pong bord! Det är ett styrelserum bord som lätt kan omvandlas till ett bordtennisbord! Vi hoppas du njuter!Steg 1: Först måste du benen och bas! Vi har använt tall vår men dess verkligen en fråga om per...

Interaktiva LED pussel lampa

ÖversiktDenna LED-lampa är en interaktiv designprodukt. Det är en rektangulär prisma bas som kan hålla i flera ljus slots att slutföra kretsen och lysa upp. Det ger användare möjlighet att manipulera design och ändra lampor baserade på flera situatio...

LED Ping Pong boll

du kan rulla dem, spela fångsten med dem, eller ens spela fetch med din hund med dem. (Större hundar kan kvävas, min hund är verkligen liten och kan inte kvävas på det)NYARE VERSION:)Steg 1: Samla material Behöver du:Super ljusa lysdioderTvå Ping Pon...