Innehållsförteckning:

Färgbaserat pussel: 6 steg
Färgbaserat pussel: 6 steg

Video: Färgbaserat pussel: 6 steg

Video: Färgbaserat pussel: 6 steg
Video: Hur Man Löser En Rubik's Kub | Steg 6 - Färdiggöra Kuben 2024, Juli
Anonim
Färgbaserat pussel
Färgbaserat pussel
Färgbaserat pussel
Färgbaserat pussel

Hallå där!

För ett skolprojekt med namnet "If This Then That" måste jag bygga ett interaktivt objekt med Arduino. Jag bestämde mig för att bygga ett färgbaserat pussel med ett enkelt återkopplingssystem.

Vad den gör (i korthet):

  1. Den bestämmer objektets färg ovanför färgsensorn.
  2. Den kontrollerar om den färgen matchar rätt lösning.
  3. Det höjer antingen tecknet "du dog" eller inte, beroende på väder så var pusslet löst eller inte.

Så du kanske tror att detta pussel är lätt att lösa?

Tja, för någon som vet hur det fungerar är det liksom, även om du kan byta lösning! Men oroa dig inte, för någon som inte har en aning om hur det fungerar ser det ut som magi. Enligt min erfarenhet trodde många att pusslet handlade om vikt, inte färg. Och för att inte glömma, du är pusselmästaren, hur många ledtrådar du ger är upp till dig.

Hur jag (skulle vilja) använda den:

Jag skulle vilja använda detta pussel som en interaktiv del av min D & D -kampanj.

Steg 1: Material

Material
Material
Material
Material

Du behöver följande saker innan du kan börja bygga:

I allmänhet:

En (kreativ) hjärna för att komma med ett pussel

Arduino saker:

  • Arduino Uno
  • Bakbord
  • En servomotor
  • (TCS3200) Färgsensor
  • 7x manliga - kvinnliga bygelkablar (helst alla olika färger, rekommenderas starkt)
  • 11x hane - hantrådar
  • powerbank (om du vill att den ska fungera utan din dator/laptop)

Hölje:

  • En (sko) låda med lock (att bygga pusslet på)
  • ett par bitar av kartong (för att göra väggarna, pelaren i mitten och du dog tecken)
  • Träblock, (åtminstone) ena sidan måste vara större än färgsensorn.
  • färg: svart, röd, blå och grön (och eventuella ytterligare färger om du vill*)
  • A4 vitt papper
  • Sax
  • En svart markör
  • Stark dubbelsidig tejp
  • En penna
  • Omedelbart lim
  • Skärkniv eller Stanley -kniv

* liten sidnotering på färgerna: inledningsvis använde jag också lila men sensorn kunde inte skilja rött och lila så jag lämnade det. Var medveten om att andra färger kanske inte fungerar så bra heller (men de kanske, jag har inte provat). Min sensor var billig, en mer exakt sensor kan nog skilja fler färger.

Steg 2: Pusslet

Pusslet
Pusslet

Den viktigaste delen av detta projekt är att ha ett bra pussel i hjärnan.

Som du kan se på den första bilden (den med introt) målade jag norska runor på mina block (på varje sida förutom botten). De har att göra med pusslet. Jag klistrade sedan in en enkel fråga om fallet: "True wealth is …?".

Jag använde bilden ovan för att översätta runorna. Jag gav också översättningarna till de människor som försökte på mitt pussel.

Lösningen på pusslet:

Sann rikedom är lycka!

Så vad spelaren behöver göra är att ersätta skatten (block med rikedomssymbolen) med blocket med lyckosymbolen på den.

Använd gärna mitt pussel men jag skulle uppmuntra dig att komma med ett eget.

Steg 3: Ledningen

Ledningarna
Ledningarna
Ledningarna
Ledningarna

Ledningarna är ganska enkla eftersom det bara finns 2 komponenter (och arduino). I beskrivningen använder jag det minsta antalet ledningar, om du vill använda fler gör det gärna. (Jag använde fler trådar på bilden)

Arduino till brödbrädan: (Använd 2 manliga - hankablar)

  1. anslut 5V -stiftet till + sidan av din brödbräda.
  2. anslut en av marknålarna till - sidan av din brödbräda.

Servon: (Använd 3 hane - hankablar)

servon har tre ledningar: ström, jord och signal.

  1. Ström är vanligtvis en röd tråd, anslut denna kabel till + sidan av din brödbräda.
  2. Marken är vanligtvis en svart eller brun tråd, anslut denna tråd till - sidan av din brödbräda.
  3. Signalen är vanligtvis en gul eller orange tråd, anslut denna tråd till en horisontell rad på din brödbräda.*

Färgsensorn: (Använd 7 manliga - kvinnliga ledningar)

  1. VCC: anslut denna kabel till + sidan av din brödbräda (detta är ström).
  2. GND: anslut denna tråd till - sidan av din brödbräda (detta är slipat).
  3. S0: anslut denna tråd till en horisontell rad på din brödbräda.*
  4. S1: anslut denna tråd till en horisontell rad på din brödbräda.*
  5. S2: anslut denna tråd till en horisontell rad på din brödbräda.*
  6. S3: anslut denna tråd till en horisontell rad på din brödbräda.*
  7. UT: anslut denna tråd till en horisontell rad på din brödbräda.*

*Jag berättar inte exakt var du ska fästa den på brödbrädan eftersom det är lättare att själv räkna ut vad som är bäst i kombination med din byggnad.

Brödbräda till Arduino: ** (Använd 6 han- - hankablar)

Det är smart att se om allt fungerar innan du sätter det i fodralet, var medveten om att för att göra det måste du ta ut dessa kablar och sätta tillbaka dem senare. Var noga med att komma ihåg eller skriv ner vilken kabel som är ansluten till vad.

  1. anslut raden du anslutit till signalstiften på servon till stift 9 på Arduino.
  2. anslut raden du anslutit till S0 -stiftet på färgsensorn till stift 4 på Arduino.
  3. anslut raden du anslutit till S1 -stiftet på färgsensorn till stift 5 på Arduino.
  4. anslut raden du anslutit till S2 -stiftet på färggivaren till stift 6 på Arduino.
  5. anslut raden du anslutit till S3 -stiftet på färgsensorn till stift 7 på Arduino.
  6. anslut raden som du anslutit till färgutgivarens OUT -stift till stift 8 på Arduino.

** raderna jag hänvisar till här ovan är de på din brödbräda.

Steg 4: Koden

I bilagan här hittar du koden du behöver för att köra detta projekt. Kommentarer i koden ska vara tydliga om vad den gör. Om du vill ha lite mer ingående information om hur färgsensorn fungerar (för om du vill förstå koden till fullo) rekommenderar jag att du läser den här självstudien "Hur fungerar sensorn?" sektion.

Även om du inte är där ännu, finns det ett par saker du behöver justera i koden:

  • Justera variablerna.
  • Justera if-satserna för att passa din gåta (om det behövs).

Det är praktiskt att göra pelaren och måla blocken från nästa steg innan du justerar variablerna så att du inte behöver göra det igen.

Justera variablerna:

Om du byggde kablarna korrekt borde koden fungera, ta ett papper, en penna och de (målade) blocken.*

  1. Tillfällig kommentar till void checkRiddle -funktionen ur koden. (så att den delen inte körs)
  2. Ladda upp koden till din Arduino.
  3. Öppna seriell bildskärm, den börjar köras och visar dig R = … G = … B = … (och några fler saker, de spelar ingen roll nu)
  4. Håll ett färgat block precis framför sensorn (så nära som det kommer att vara i din slutliga design) i ett par sekunder.
  5. Medan du fortfarande håller den framför sensorn, ta av strömmen till din Arduino. (dra ut den ur usb -porten)
  6. Skriv ner de yttre (högsta och lägsta) värdena som färgsensorn mäts på varje färg (R, G och B).
  7. Välj de två värden som varierar minst (till exempel R och B). **
  8. Räkna +10 på det högsta värdet och -10 från det lägsta värdet så att sensorn får små misstag.
  9. Ersätt nu värdena i koden med de du har nu. (En kommentar säger vilka värden du ska ersätta)
  10. Om du använder en annan färg än jag, ändra seriell.print också.
  11. Ladda upp koden igen till din Arduino med den med dina nyuppmätta värden.
  12. Testa om den seriella bildskärmen snyggt skriver ut färgen du precis lagt in i koden genom att hålla samma färgade block framför den. Se till att den är konsekvent så länge du håller den framför sensorn.
  13. Om nej:: (kontrollera värdena, se om du behöver göra intervallet större. Om ja::) känner koden igen denna färg.
  14. Upprepa nu denna process (steg 4 - 13) tills alla färger du vill använda är integrerade i koden.
  15. Glöm inte att kommentera void checkRiddle -funktionen!

* gå till steget "fallet" först om du inte har målat dem ännu.

** du kan vara mer exakt om du vill genom att använda alla 3 (R, G och B) men för detta projekt behövs det inte.

Justera if-satserna till din gåta: (endast om du vill ändra lösningen)

Steg 5: Väskan och måla blocken

Fodralet och målning av blocken
Fodralet och målning av blocken
Fodralet och målning av blocken
Fodralet och målning av blocken
Fodralet och målning av blocken
Fodralet och målning av blocken
Fodralet och målning av blocken
Fodralet och målning av blocken

Fallet är en lite knepig del men det är inte svårt att göra, det handlar mest om att ha rätt mått. Jag ger inte mina mått eftersom vi (troligtvis) inte använder material av samma storlek.

Måla blocken:

Måla blocken i de färger du vill använda. Jag rekommenderar rött, grönt och blått eftersom det är lättast att skilja dem med sensorn.

Om du inte gör din egen pusselfärg på runorna också.

Pelaren:

Pelaren är att (delvis) dölja färgsensorn och kablarna som är anslutna till den. För att bestämma måtten på pelaren måste du mäta sidorna på din färgsensor och bestämma hur hög du vill att din pelare ska vara (Den du se på bilden är 3 cm hög). Rita sedan det på kartong och klipp ut det, du kan måla dem om du vill.

Fäst ledningarna på sensorn INNAN du bygger in den i pelaren kommer du inte att kunna nå stiften längre.

Jag använde den dubbelsidiga tejpen för att fästa sensorn inuti pelaren. Du kan se detta på den tredje bilden.

Se till att lysdioderna på sensorn är inuti pelaren (inte över kanten), blocken måste stå på den senare.

Tecknet "du dog":

Skär en bit kartong och skriv "du dog" på den. Som du kan se på den första bilden fastnade jag en bild på en arg man med svärd på andra sidan. Se till att skylten har en klack på botten. Använd klacken för att tejpa skylten till servon.

Skapa rummet:

  1. Måla rutan du valde för fodralet. (Vilken färg du vill, jag använde svart)
  2. Rita rummets form på lådans botten för att bestämma väggarnas längd. (Mät linjerna med en linjal).
  3. Bestäm vilken höjd du vill att väggarna ska ha. Väggarna i mitt exempel är 5 centimeter höga.
  4. Nu har du måtten på dina väggar, ritar dem på kartongen och skär ut dem.
  5. Måla väggarna. (Jag målade dem svarta)
  6. Limma väggarna på lådan, på de linjer du ritade tidigare.

Nu har du ställt in rummet.

Hål för kablarna och skylten:

Du måste göra två hål i lådan, ett för kablarna och ett för skylten "du dog". och var försiktig! hål kan inte tas bort när de väl är där.

gör ett hål under den plats där du vill att färgsensorn ska gå. Gör hålet så litet som möjligt men undvik spänning på kablarna, du vill inte att de ska lossna.

Hålet för "du dog" -skylten måste vara lite tjockare än kartongen du använder så att den kan komma upp utan att träffa höljet. Hålets längd beror på hur stort skylten är. Använd en Stanley -kniv eller en kniv för att göra hålet.

Använd nu den dubbelsidiga tejpen för att fästa servomotorn på sidan av lådan.

Steg 6: Några frågor ??

Så nu borde du kunna bygga ett fantastiskt färgbaserat pussel med Arduino. Om du har några frågor, var noga med att fråga!

Ha kul att bygga!

Rekommenderad: