Inhoudsopgave:

W6: een drankspel voor besluitelozen: 9 stappen
W6: een drankspel voor besluitelozen: 9 stappen

Video: W6: een drankspel voor besluitelozen: 9 stappen

Video: W6: een drankspel voor besluitelozen: 9 stappen
Video: W6: A Drinking Game for the Indecisive 2024, Juli-
Anonim
Image
Image
Stap 0: Heb wat planken
Stap 0: Heb wat planken

Met welke whisky zal ik mijn fluitje nat maken?

Sinds een paar jaar hebben we een aantal planken in de "eetkamer" waarvan het enige doel is om een roterende, redelijk uitgebreide selectie van 's werelds grootste gedistilleerde drank, whisky, weer te geven en gemakkelijk toegankelijk te maken. Van het zuiden tot Denver tot Ierland, Schotland en zelfs Japan, er zijn genoeg opties - wat de vraag oproept, welke moet ik vandaag proberen?

In de geest van kerstknipperlichten en feestelijke drankjes gedeeld met vrienden, ging ik op zoek om die vraag te beantwoorden met een drinkspel, rad van fortuin, maar glanzender.

In de geest van mijn shirt niet te verliezen, en om de dingen een beetje emotioneler te maken, heb ik de meeste duurdere flessen vervangen door Jaegermeister, King Cobra en Strongbow Golden Apple. Er blijven echter enkele juweeltjes over. (Voor jullie Europeanen is Golden Apple niet de Strongbow die je thuis krijgt. Het is een Amerikaanse export van eenvoudige siroop met een vleugje kunstmatige appelsmaak. Je landt liever op Redbreast, dat beloof ik je.)

Stap 1: Stap 0: Heb wat planken

Natuurlijk hoeft de game niet gebouwd te zijn met alcohol in het achterhoofd. Ik veronderstel dat je een intense graancollectie zou kunnen gamificeren, als je wilt. Maar om te beginnen moet je IETS planken hebben om de knipperlichten achter te plaatsen. Of over. Of onder.

We hebben toevallig al een verzameling drank op een prominente plek, en dit is een feesttruc in hart en nieren, dus daar ging ik mee.

Stap 2: Stap 1: Koop Blinkenlights en ondersteunende bits

Stap 1: Koop Blinkenlights en ondersteunende bits
Stap 1: Koop Blinkenlights en ondersteunende bits

Dit hele project draait om WS2811/WS2812B "neopixel" LED-strips en Ben Hencke's PixelBlaze LED-controller. Je hebt die nodig, een voeding en een paar extra bits om alles aan te sluiten.

Boodschappenlijstje: (Opmerking: geen van deze zijn gelieerde links. Misschien moet ik dat proberen, die $$ krijgen. In plaats daarvan zijn het Smile-links.)

  • LED-strip ($ 37) Witte PCB of Zwarte PCB
  • Voeding ($24) Link Opmerking: deze is waarschijnlijk overkill, het is 15A. Hoeveel stroom je daadwerkelijk nodig hebt, hangt af van de totale lengte. Zie de opmerkingen verderop over overwegingen met betrekking tot de voeding. Over het algemeen koop ik sowieso te veel, want als je het ooit in een ander project gebruikt, heb je de overhead.
  • Controller ($ 29) PixelBlaze. Ben verkoopt deze op Tindie. De hardware is geen $ 30 waard. De software is veel meer waard dan $ 30.
  • Button ($11) Link Uiteraard heb je er maar één van nodig, dus je kunt ze waarschijnlijk goedkoper vinden op Ebay in kleinere aantallen.
  • Extra ledstrip connectoren ($10) Link
  • ALTERNATIEF ($ 8): je kunt in plaats daarvan kant-en-klare extensies kopen, wat waarschijnlijk schoner en mooier is
  • Wat draad, idealiter 3-draads, om een uitbreiding voor de controller te maken
  • Knopbehuizing (3D-geprint) $ 0,50 (Als je geen 3D-printer hebt, maak er dan zelf een van karton, of voor extra krediet, hout)

Persoonlijk heb ik, aangezien ik een aantal van deze onderdelen al had, ongeveer $ 70 aan dit project uitgegeven. De onderdelen kosten, all-in, is iets van $ 95. Als je geen van de onderdelen al hebt, $ 115.

Je zou dit een beetje kunnen maken door:

  • Gebruik goedkopere LED's (minder pixels/meter). De goedkoopste strip van 5 m die ik heb gevonden, is $ 20 op Amazon.
  • Koop de PixelBlaze in de uitverkoop, of wacht tot Ben het open source maakt en de hardware zelf maakt. (Maar als hij dat doet, geef hem dan toch wat geld, de firmware is ongelooflijk).
  • Gebruik een voeding met minimale specificaties. Dit project verbruikt geen 75W en je kunt de helderheid verminderen met de PixelBlaze totdat de strip werkt met een goedkopere voeding.

Als je dat allemaal deed, door je eigen software te gebruiken om een ESP8266-veer of iets dergelijks te gebruiken, zouden de hardware BOM-kosten zo goedkoop kunnen zijn als $ 38 of zo.

Stap 3: Stap 2: Maat LED-strips op de juiste manier

Stap 2: Maat LED-strips op de juiste manier
Stap 2: Maat LED-strips op de juiste manier
Stap 2: Maat LED-strips op de juiste manier
Stap 2: Maat LED-strips op de juiste manier
Stap 2: Maat LED-strips op de juiste manier
Stap 2: Maat LED-strips op de juiste manier
Stap 2: Maat LED-strips op de juiste manier
Stap 2: Maat LED-strips op de juiste manier

Toen ik naar mijn strip van 5 m keek, realiseerde ik me dat deze was gemaakt in aan elkaar gesoldeerde secties van 0,5 m. Met deze strips kunt u tussen twee willekeurige LED's knippen. Maar omdat ik de neiging heb om me te fixeren op domme dingen, en omdat mijn planken ongeveer precies 1,5 m lang zijn, sneed ik het siliconen omhulsel en desolderde ik mijn strip in stappen van zelfs 1,5 m, waarbij ik de laatste sectie van 0,5 m overhield voor een later project.

Stap 4: Stap 3: Jumper-verbindingen toevoegen

Stap 3: Jumper-verbindingen toevoegen
Stap 3: Jumper-verbindingen toevoegen

Aangezien mijn planken 3x1,5m zijn, moest ik wat draad tussen mijn substrips toevoegen. Dit hoef je natuurlijk niet te doen als je maar één doorlopende plank wilt verlichten.

In mijn geval heb ik ~1,5ft extensions gemaakt met 20ga siliconendraad voor de hoogspanningslijnen en 22ga voor de datalijn. Hoe groter hoe beter voor het vermogen, hoewel deze hoe dan ook minder spanning zullen laten vallen dan de strip zelf.

Ik heb deze gewoon rechtstreeks op de strips gesoldeerd, geen connectoren. Het gebruik van connectoren en gekrompen extensies zou een stuk mooier zijn.

Een opmerking over vermogen

LED strips kunnen lastig zijn omdat elke LED behoorlijk wat stroom verbruikt. Als u alleen het begin van de strip van stroom voorziet, kan de spanning aan het einde van de strip zo sterk dalen dat de blauwe en groene niet genoeg hoofdruimte hebben om volledig in te schakelen, wat leidt tot problemen met de kleurbalans. Dit is meestal een probleem wanneer u volledig wit weergeeft, zowel omdat elke pixel het maximale vermogen verbruikt (R=100%, G=100%, B=100%) EN omdat wit is waar u de resulterende kleur zult zien evenwichtsprobleem. Als u bijvoorbeeld alleen blauw weergeeft, is dat slechts 1/3 van het maximale vermogen, en als het blauw aan het einde van de strip iets zwakker is, valt het niet zo op.

Een typische oplossing is om de stroom op een paar punten langs de strip aan te sluiten. In ons geval misschien aan het ene uiteinde van elke plank.

Een andere mogelijkheid, met behulp van de PixelBlaze, is om de strip eenvoudig in het algemeen te dimmen, aangezien de PB een striphelderheidsregeling ondersteunt die volledig los staat van de animatie. Licht wordt niet lineair waargenomen, dus door het vermogen te halveren, dim je de strip maar een klein beetje. Ik ontdekte dat ik bij het testen van een volledig wit patroon problemen met de kleurbalans kon elimineren door de helderheid van de strip te verminderen tot 25%, wat de algehele lichtopbrengst slechts licht verminderde.

In dit geval betekent de animatie dat de strip nooit TE veel stroom verbruikt, nooit gelijkmatig stroom verbruikt, zodat het ene uiteinde het andere uithongert, en over het algemeen merkte ik niet dat het een probleem was om de software op de doorlopende strip te testen vóór installatie. Voor de game heb ik de strip alleen gedimd omdat de inactieve animatie naar mijn smaak een beetje helder was.

Iets om over na te denken voor grote installaties, of als u de animaties die u gebruikt, verandert om krachtiger te zijn.

Stap 5: Stap 4: bekabel de stroomvoorziening

Stap 4: bekabel de stroomvoorziening
Stap 4: bekabel de stroomvoorziening
Stap 4: bekabel de stroomvoorziening
Stap 4: bekabel de stroomvoorziening

Stroomaansluiting

Mijn voeding kwam, zoals velen doen, met een 5,5x2,1 mm vataansluiting naar schroefklemadapter voor precies dit soort toepassingen. Wat ik eigenlijk gebruikte was een vergelijkbare adapter, maar met schroefloze snelkoppelingen in plaats van schroefklemmen.

De LED-strips worden meestal aan het begin en einde afgesloten met zowel een 3-pins JST SM-connector als twee blote draden om afzonderlijk stroom toe te voegen. We zullen de stroom op deze twee afzonderlijke draden aansluiten en de JST SM-connector gebruiken om gegevens van de controller te krijgen en 5V-stroom naar de controller te voeren.

Controller

Ik had gewoon de 3-pins JST in de PixelBlaze kunnen schroeven en het een dag kunnen noemen, maar ik had wat meer vrijheid nodig met de schakelkast, dus ik heb ook een JST SM mannelijk naar vrouwelijk verlengkabel aangesloten met wat draad dat ik bij de hand had. Meter maakt hier niet echt uit, omdat hij maar een paar mA aan de controller levert. Hoewel het mooier zou zijn als ik een speciaal gemaakte verlengkabel had met gekrompen connectoren aan elk uiteinde, in plaats van vlecht-shrinkwrap-wire-shrinkwrap-pigtail.

Stap 6: Stap 5: Bedraad de knop

Stap 5: Bedraad de knop
Stap 5: Bedraad de knop

Het laatste deel van het circuit is om de arcade-knop te bedraden. Ik heb de ADC-pin gebruikt, omdat er maar één digitale GPIO op de handige pin-header is en deze niet beschikbaar is voor een gebruikerspatroon - een knop op die pin dient het speciale doel van fietsanimatiepatronen.

Je kunt wegkomen zonder een externe pull-up-weerstand te gebruiken door een van de digitale pads aan de onderkant van het bord te gebruiken, maar ik wilde er niet rechtstreeks op solderen. Bijna elke weerstandswaarde zal werken, maar blijf waarschijnlijk bij >1Kohm en <0.5Mohm. Ik gebruikte een 47K pull-up omdat dat de eerste weerstand was die vrij in mijn doos zweefde, op zoek naar een huis.

Stap 7: Stap 6: Maak een doos

Stap 6: Maak een doos
Stap 6: Maak een doos
Stap 6: Maak een doos
Stap 6: Maak een doos

Ik had deze doos eigenlijk al voor een apart project laten bedrukken, zelfs met een kerstachtig kleurenschema. Maar zoals ik al eerder zei, een kartonnen doos met een uitsparing voor de knop zou prima werken. Of helemaal geen doos, als je zeker bent van je soldeerverbindingen.

Deze doos had oorspronkelijk geen kabeluitgang, dus ik heb de randen een beetje bijgesneden om ruimte te maken. Het 3D-model dat ik hier heb bijgevoegd, heeft echter een uitgang. Druk het achterdeksel af met de rand naar boven en de behuizing met de voorkant naar beneden. Je hebt behoorlijk goed gekozen slicer-instellingen nodig, omdat het achterdeksel gewoon op zijn plaats past met een paar pallen.

Stap 8: Stap 7: Software

Het opzetten van de PixelBlaze was voor mij het moeilijkste, maar voor jou het gemakkelijkste. Ik heb ongeveer 200 regels code geschreven om alle animaties en mechanica te laten werken, maar je kunt gewoon de animaties laden die ik heb bijgevoegd! Ga naar PixelBlaze - Aan de slag voor instructies over het instellen van uw PixelBlaze en het laden van patronen, laad vervolgens een van de bovenstaande patronen. Een daarvan is een stijlvolle witte animatie wanneer het spel niet wordt gespeeld, en een daarvan is het kleverige rode en groene patroon in de video's en afbeeldingen in deze gids. Je kunt het natuurlijk naar smaak aanpassen!

OPMERKING: u wilt uw striplengte instellen in de instellingen, wat dat ook mag zijn. Voor mijn strips met een totale lengte van 4,5 meter is dat 270px.

Hoe het patroon werkt

De code die ik schreef is een staatsmachine. De toestanden zijn allemaal gebaseerd op het idee van een "selector" die door de pixelstrip scrolt. Het selectorpatroon is de stijgende eerste helft van een sinusgolf, opnieuw geschaald van 0 naar 1 en gekwadrateerd (of in blokjes) om de randen te laten vervagen, maar scherp. Het begin van dit patroon beweegt met enige snelheid langs de strip en elk animatieframe tekent pixels met intensiteit volgens de selectorgolf (dat wil zeggen, de selectorpositie is geen discrete integer-pixelgrens). Status 0 gebruikt een brede "selector " en scrolt het met een constante snelheid door de strip. Status 0 gaat over in 1 met een druk op de knop.

Status 1 vernauwt de selector tot 5 pixels en stelt de snelheid veel sneller in. Tijdens de overgang van toestand 0>1 wordt een willekeurige vertraging ingesteld tussen 3 en 7 seconden. Status 1 duurt deze willekeurige vertraging en gaat dan over naar status 2.

Toestand 2 is hetzelfde als 1, maar neemt de snelheid exponentieel af en duurt slechts 2 seconden, voordat het overgaat naar staat 3.

Staat 3 stelt de selectorbreedte nog smaller in om een enkele fles duidelijk te definiëren, verandert de kleur in groen om de uiteindelijke selectie aan te geven, en blijft 15 seconden op dezelfde locatie gefocust terwijl dronken spelers kibbelen over de vraag of ze DAADWERKELIJK een 40 van mout likeur. Tot dat moment, als de selector stevig tussen twee flessen landt, zodat de selectie niet duidelijk is, kan een speler nogmaals op de knop tikken om willekeurig een paar LED's vooruit of achteruit te gaan om de uiteindelijke positie te verduidelijken. Er is slechts één tik toegestaan. Na 15 seconden gaat het patroon terug naar toestand 0, wachtend op de volgende spin.

Stap 9: Stap 8: Spelen

  1. Benader de knop
  2. Bevrijd je geest van gedachten over de gevolgen van het indrukken van de knop
  3. druk op de knop
  4. Wacht in afwachting
  5. Denk met angst aan de eersteklas whisky en de Goldschlager waar je net tussenin bent beland.
  6. Druk nogmaals op de knop om duidelijk te maken welke fles het lot je wil laten proeven. Het lot is niet te spelen of te beheersen.
  7. Kijk met afgrijzen toe hoe de groene gloed stevig achter het Goldschlager beweegt
  8. Tik verwoed op de knop in de hoop de selector een beetje meer te verdringen
  9. Geef je over aan je lot en laat je buddy vrolijk een shot van het glinsterende-g.webp" />

Aanbevolen: