Sadržaj:

Slagalica u boji: 6 koraka
Slagalica u boji: 6 koraka

Video: Slagalica u boji: 6 koraka

Video: Slagalica u boji: 6 koraka
Video: Маленький лисенок вышел к людям за помощью 2024, Juli
Anonim
Slagalica zasnovana na bojama
Slagalica zasnovana na bojama
Slagalica zasnovana na bojama
Slagalica zasnovana na bojama

Zdravo!

Za školski projekt pod nazivom "If This Then That" morao sam izgraditi interaktivni objekt koristeći Arduino. Odlučio sam da napravim slagalicu zasnovanu na boji sa jednostavnim sistemom povratnih informacija.

Šta radi (ukratko):

  1. Određuje boju objekta iznad senzora boje.
  2. Provjerava odgovara li ta boja ispravnom rješenju.
  3. Ili podiže znak "umro si" ili ne, ovisno o tome je li zagonetka riješena ili ne.

Pa mislite da je ovu zagonetku lako riješiti?

Pa, nekome ko zna kako to funkcionira na neki način jeste, iako se možete prebaciti oko rješenja! Ali ne brinite, nekome ko nema pojma kako to funkcionira izgleda kao magija. Prema mom iskustvu, mnogi su mislili da se zagonetka odnosi na težinu, a ne na boju. I da ne zaboravimo, vi ste gospodar zagonetke, na vama je koliko tragova ćete dati.

Kako bih ga (želio) koristiti:

Ovu zagonetku bih želio upotrijebiti kao interaktivni dio svoje D&D kampanje.

Korak 1: Materijali

Materijali
Materijali
Materijali
Materijali

Prije početka gradnje trebat će vam sljedeće stvari:

Uglavnom:

(Kreativan) mozak da smisli zagonetku

Arduino stvari:

  • Arduino Uno
  • Breadboard
  • Servo motor
  • (TCS3200) Senzor boje
  • 7x muški - ženske kratkospojne žice (po mogućnosti sve različite boje, toplo se preporučuje)
  • 11x muški - muški kratkospojnici
  • powerbank (u slučaju da želite da radi bez vašeg računara/laptopa)

Kućište:

  • Kutija (za cipele) s poklopcem (za izradu slagalice)
  • nekoliko komada kartona (da zidovi, stub u sredini i umrijete umrete)
  • Drveni blokovi, (barem) jedna strana moraju biti veći od senzora boje.
  • boja: crna, crvena, plava i zelena (i sve dodatne boje ako želite*)
  • A4 komad bijelog papira
  • Makaze
  • Crni marker
  • Jaka dvostrana ljepljiva traka
  • Olovka
  • Instant ljepilo
  • Nož za sječenje ili Stanley nož

* mala napomena o bojama: u početku sam koristio i ljubičastu, ali senzor nije mogao razlikovati crvenu i ljubičastu pa sam je izostavio. Imajte na umu da i druge boje možda neće tako dobro funkcionirati (ali možda, nisam probao). Moj senzor je bio jeftin, precizniji senzor vjerovatno može razlikovati više boja.

Korak 2: Zagonetka

The Puzzle
The Puzzle

Najvažniji dio ovog projekta je imati dobru zagonetku za razbijanje mozga.

Kao što možete vidjeti na prvoj slici (onoj sa uvodom), na svoje sam blokove naslikao norsonske rune (sa svih strana osim na dnu). Imaju veze sa zagonetkom. Zatim sam postavio jednostavno pitanje na slučaj: "Pravo bogatstvo je …?".

Koristio sam gornju sliku za prevođenje runa. Takođe sam davao prevode ljudima koji isprobavaju moju slagalicu.

Rešenje zagonetke:

Pravo bogatstvo je sreća!

Ono što igrač treba učiniti je zamijeniti blago (blok sa simbolom bogatstva) blokom sa simbolom sreće.

Iskoristite moju zagonetku, ali ja bih vas ohrabrio da smislite svoju.

Korak 3: Ožičenje

The Wiring
The Wiring
The Wiring
The Wiring

Ožičenje je prilično jednostavno jer postoje samo 2 komponente (i arduino). U opisu koristim minimalni broj žica, ako želite koristiti više, slobodno to učinite. (Koristio sam više žica na slici)

Arduino do matične ploče: (Koristite 2 muške - muške žice)

  1. spojite pin 5V na + stranu ploče.
  2. spojite jedan od igle za uzemljenje na - stranu vaše matične ploče.

Servo: (Koristite 3 muške - muške žice)

servo ima tri žice: napajanje, uzemljenje i signal.

  1. Napajanje je obično crvena žica, povežite ovu žicu s + stranom ploče.
  2. Uzemljenje je obično crna ili smeđa žica, povežite ovu žicu sa - stranom ploče.
  3. Signal je obično žuta ili narančasta žica, povežite ovu žicu s vodoravnim redom na matičnoj ploči.*

Senzor boje: (Koristite 7 muških - ženskih žica)

  1. VCC: povežite ovu žicu s + stranom ploče (ovo je napajanje).
  2. GND: spojite ovu žicu na - stranu vaše matične ploče (ovo je uzemljeno).
  3. S0: povežite ovu žicu s vodoravnim redom na vašoj matičnoj ploči.*
  4. S1: povežite ovu žicu s vodoravnim redom na vašoj matičnoj ploči.*
  5. S2: povežite ovu žicu s vodoravnim redom na vašoj matičnoj ploči.*
  6. S3: povežite ovu žicu s vodoravnim redom na vašoj matičnoj ploči.*
  7. OUT: povežite ovu žicu s vodoravnim redom na vašoj ploči.*

*Ne govorim vam tačno gdje da ga zakačite na ploču jer je lakše sami zaključiti šta je najbolje u kombinaciji s vašom građom.

Okvir za Arduino: ** (Koristite 6 muških - muških žica)

Pametno je provjeriti funkcionira li sve prije stavljanja u kućište, imajte na umu da za to morate izvaditi ove kabele i kasnije ih vratiti. Obavezno zapamtite ili zapišite koji je kabel na što spojen.

  1. spojite red koji ste spojili sa signalnim pinom serva na pin 9 na Arduinu.
  2. spojite red koji ste spojili sa S0 pinom senzora boje na pin 4 na Arduinu.
  3. spojite red koji ste spojili sa S1 pinom senzora boje na pin 5 na Arduinu.
  4. spojite red koji ste spojili sa S2 pinom senzora boje na pin 6 na Arduinu.
  5. spojite red koji ste spojili sa S3 pinom senzora boje na pin 7 na Arduinu.
  6. spojite red koji ste spojili s OUT pinom senzora boje na pin 8 na Arduinu.

** Gore navedeni redovi su oni na vašoj osnovnoj ploči.

Korak 4: Kôd

U prilogu ovdje ćete pronaći kôd koji vam je potreban za pokretanje ovog projekta. Komentari u kodu trebaju biti jasni o tome šta radi. Ako želite detaljnije informacije o tome kako senzor boje radi (ako želite u potpunosti razumjeti kôd), preporučio bih vam da provjerite ove vodiče "Kako senzor radi?" odjeljak.

Iako još niste tamo, postoji nekoliko stvari koje morate prilagoditi u kodu:

  • Podesite varijable.
  • Podesite if-naredbe tako da odgovaraju vašoj zagonetki (ako je potrebno).

Zgodno je napraviti stub i obojiti blokove od sljedećeg koraka prije nego što prilagodite varijable tako da to ne morate ponoviti.

Podesite varijable:

Ako ste pravilno izgradili ožičenje, kod bi trebao funkcionirati, uzmite komad papira, olovku i (obojene) blokove.*

  1. Privremeno komentirajte funkciju void checkRiddle iz koda. (tako da taj dio ne radi)
  2. Prenesite kôd na svoj Arduino.
  3. Otvorite serijski monitor, on će početi raditi i pokazat će vam se R = … G = … B = … (i još neke stvari, sada nisu bitne)
  4. Držite obojeni blok ispred senzora (koliko god bio blizu u vašem konačnom dizajnu) nekoliko sekundi.
  5. Dok ga držite ispred senzora, isključite napajanje vašeg Arduina. (izvucite ga iz USB porta)
  6. Zapišite vanjske (najviše i najniže) vrijednosti senzora boje izmjerene za svaku boju (R, G i B).
  7. Odaberite dvije vrijednosti koje najmanje variraju (na primjer R i B). **
  8. Računajte +10 na najveću vrijednost i -10 na najmanju vrijednost, tako da senzoru dopuštaju male greške.
  9. Sada zamijenite vrijednosti u kodu onima koje sada imate. (U komentaru se kaže koje vrijednosti trebate zamijeniti)
  10. Ako koristite drugu boju od mene, promijenite i serial.print.
  11. Sada ponovno učitajte kôd na svoj Arduino pomoću njegovih svježe izmjerenih vrijednosti.
  12. Testirajte da li serijski monitor lijepo ispisuje boju koju ste upravo unijeli u kôd držeći isti blok u boji ispred njega. Uvjerite se da je dosljedan sve dok ga držite ispred senzora.
  13. Ako ne:: (provjerite vrijednosti, provjerite trebate li povećati raspon. Ako da::) kôd sada prepoznaje ovu boju.
  14. Sada ponavljajte ovaj postupak (korak 4 - 13) dok se sve boje koje želite koristiti ne integriraju u kôd.
  15. Ne zaboravite otkomentirati funkciju void checkRiddle!

* prijeđite na korak "slučaj" ako ih još niste naslikali.

** možete biti precizniji ako želite koristeći sve 3 (R, G i B), ali za ovaj projekt to nije potrebno.

Prilagodite if-naredbe svojoj zagonetki: (samo ako želite promijeniti rješenje)

Korak 5: Slučaj i bojanje blokova

Slučaj i farbanje blokova
Slučaj i farbanje blokova
Slučaj i farbanje blokova
Slučaj i farbanje blokova
Slučaj i farbanje blokova
Slučaj i farbanje blokova
Slučaj i farbanje blokova
Slučaj i farbanje blokova

Slučaj je pomalo škakljiv dio, ali nije teško napraviti, uglavnom se radi o pravilnim mjerenjima. Ne dajem svoje mjere jer (najvjerojatnije) ne koristimo materijale iste veličine.

Bojanje blokova:

Obojite blokove bojama koje želite koristiti. Preporučujem crvenu, zelenu i plavu boju jer je najlakše razlikovati one sa senzorom.

Ako ne stvarate vlastitu boju za zagonetke i na runama.

Stub:

Stub treba (djelomično) sakriti senzor boje i kablove pričvršćene na njega. Da biste odredili mjere stuba, morate izmjeriti stranice senzora u boji i odrediti koliko želite da vaš stub bude visok (onaj koji vidi na slici je visoka 3 cm). Zatim to nacrtajte na kartonu i izrežite, možete ih naslikati ako želite.

Pričvrstite žice na senzor PRE nego što ga ugradite u stub, više nećete moći dohvatiti igle.

Koristio sam dvostranu ljepljivu traku za pričvršćivanje senzora unutar stupa. To možete vidjeti na trećoj slici.

Uvjerite se da su diode na senzoru unutar stupa (ne preko ruba), da blokovi moraju stajati na njemu kasnije.

Znak "umro si":

Odrežite komad kartona i napišite "umro". Kao što možete vidjeti na prvoj slici, zalijepio sam sliku ljutog čovjeka s mačem na drugoj strani. Uvjerite se da znak ima ušicu na dnu. Upotrijebite držač da zalijepite znak na servo.

Kreiranje sobe:

  1. Obojite kutiju koju ste odabrali za kućište. (Bilo koju boju koju volite, koristila sam crnu)
  2. Nacrtajte oblik prostorije na dno kutije kako biste odredili dužinu zidova. (Izmjerite linije ravnalom).
  3. Odredite koju visinu želite da zidovi imaju. Zidovi u mom primjeru visoki su 5 centimetara.
  4. Sada imate dimenzije svojih zidova, nacrtajte ih na karton i izrežite ih.
  5. Obojite zidove. (Ofarbao sam ih u crno)
  6. Zalijepite zidove na kutiju, na linije koje ste prethodno nacrtali.

Sada ste postavili sobu.

Rupe za kablove i znak:

Morate napraviti dvije rupe u kutiji, jednu za kabele i jednu za znak "umrli ste". i budi oprezan! rupe se ne mogu ukloniti nakon što su tamo.

napravite rupu ispod mesta na koje želite da ide senzor boje. Učinite rupu što je moguće manjom, ali izbjegavajte zatezanje kabela, ne želite da se olabave.

Rupa za znak "umro si" mora biti malo deblja od kartona koji koristite kako bi se mogao pojaviti bez udaranja u kućište. Dužina rupe ovisi o tome koliko je veliki znak. Za izradu rupe upotrijebite Stanley nož ili nož za sjeckanje.

Sada pomoću dvostrane trake pričvrstite servo motor sa strane kutije.

Korak 6: Imate li pitanja ??

Dakle, sada biste trebali moći sastaviti sjajnu zagonetku zasnovanu na bojama s Arduinom. Ako imate bilo kakvih pitanja, svakako pitajte!

Uživajte u izgradnji!

Preporučuje se: