Cuprins:

Puzzle pe bază de culoare: 6 pași
Puzzle pe bază de culoare: 6 pași

Video: Puzzle pe bază de culoare: 6 pași

Video: Puzzle pe bază de culoare: 6 pași
Video: ALGORITMUL SECRET CARE REZOLVA CUBUL RUBIK 2024, Noiembrie
Anonim
Puzzle pe bază de culoare
Puzzle pe bază de culoare
Puzzle pe bază de culoare
Puzzle pe bază de culoare

Buna!

Pentru un proiect școlar numit „If This Then That”, a trebuit să construiesc un obiect interactiv folosind Arduino. Am decis să construiesc un puzzle bazat pe culori cu un sistem simplu de feedback.

Ce face (pe scurt):

  1. Determină culoarea obiectului deasupra senzorului de culoare.
  2. Se verifică dacă acea culoare se potrivește cu soluția corectă.
  3. Fie ridică sau nu semnul „ai murit”, în funcție de vremea puzzle-ului a fost rezolvat sau nu.

Deci, ați putea crede că acest puzzle este ușor de rezolvat?

Ei bine, pentru cineva care știe cum funcționează este un fel, chiar dacă puteți schimba soluția! Dar nu vă faceți griji, pentru cineva care nu are nici o idee despre cum funcționează, pare a fi magie. Din experiența mea, mulți oameni au crezut că puzzle-ul este legat de greutate, nu de culoare. Și, ca să nu uităm, ești stăpânul puzzle-ului, câte indicii dai pe tine.

Cum aș (vreau) să-l folosesc:

Aș dori să folosesc acest puzzle ca parte interactivă a campaniei mele de D&D.

Pasul 1: Materiale

Materiale
Materiale
Materiale
Materiale

Veți avea nevoie de următoarele lucruri înainte de a începe să construiți:

În general:

Un creier (creativ) pentru a veni cu un puzzle

Lucruri Arduino:

  • Arduino Uno
  • Pană de pâine
  • Un servomotor
  • (TCS3200) Senzor de culoare
  • 7x fire masculine - jumper fire (de preferință toate culorile diferite, foarte recomandat)
  • 11x masculin - fire jumper masculin
  • powerbank (în cazul în care doriți să funcționeze fără computer / laptop)

Carcasă:

  • O cutie (pantof) cu capac (pentru a construi puzzle-ul)
  • o pereche de bucăți de carton (pentru a face pereții, stâlpul din mijloc și ați murit)
  • Blocurile de lemn, (cel puțin) o parte trebuie să fie mai mari decât senzorul de culoare.
  • vopsea: negru, roșu, albastru și verde (și orice alte culori suplimentare, dacă doriți *)
  • Bucată de hârtie albă A4
  • Foarfece
  • Un marker negru
  • Bandă adezivă puternică pe două fețe
  • Un creion
  • Lipici instant
  • Cuțit de îmbrăcat sau cuțit Stanley

* mică notă laterală pe culori: inițial am folosit și mov, dar senzorul nu a putut distinge roșu și violet, așa că l-am lăsat deoparte. Rețineți că și alte culori s-ar putea să nu funcționeze atât de frumos (dar s-ar putea, nu am încercat). Senzorul meu a fost ieftin, un senzor mai precis poate distinge probabil mai multe culori.

Pasul 2: Puzzle-ul

Puzzel-ul
Puzzel-ul

Cea mai importantă parte a acestui proiect este de a avea un puzzle de creier bun.

După cum puteți vedea în prima imagine (cea cu introducerea), am pictat rune nordice pe blocurile mele (pe fiecare parte, cu excepția fundului). Au de-a face cu puzzle-ul. Am lipit apoi o întrebare simplă asupra cazului: „Adevărata bogăție este …?”.

Am folosit poza de mai sus pentru a traduce runele. De asemenea, am dat traducerile oamenilor care îmi încercau puzzle-ul.

Soluția la puzzle:

Adevărata bogăție este fericirea!

Deci, jucătorul trebuie să facă este să înlocuiască comoara (blocul cu simbolul bogăției) cu blocul cu simbolul fericirii pe el.

Simțiți-vă liber să folosiți puzzle-ul meu, dar v-aș încuraja să veniți cu al vostru.

Pasul 3: Cablarea

Cablarea
Cablarea
Cablarea
Cablarea

Cablarea este destul de simplă, deoarece există doar 2 componente (și arduino). În descriere folosesc numărul minim de fire, dacă doriți să utilizați mai multe, nu ezitați să faceți acest lucru. (Am folosit mai multe fire pe imagine)

Arduino pe panou: (Utilizați 2 fire masculine - masculine)

  1. conectați pinul de 5V la partea + a panoului dvs.
  2. conectați unul dintre știfturile de masă la partea laterală a plăcii dvs.

Servo: (Utilizați 3 fire tată - tată)

servo are trei fire: putere, masă și semnal.

  1. Alimentarea este de obicei un fir roșu, conectați acest fir la partea + a panoului dvs.
  2. Masa este de obicei un fir negru sau maro, conectați acest fir la partea laterală a panoului dvs.
  3. Semnalul este de obicei un fir galben sau portocaliu, conectați acest fir la un rând orizontal de pe panoul dvs. *

Senzorul de culoare: (Utilizați 7 fire masculine - femele)

  1. VCC: conectați acest fir la partea + a panoului dvs. (aceasta este alimentarea).
  2. GND: conectați acest fir la partea laterală a panoului dvs. (acesta este împământat).
  3. S0: conectați acest fir la un rând orizontal de pe panoul dvs. de calcul. *
  4. S1: conectați acest fir la un rând orizontal de pe panoul dvs. *
  5. S2: conectați acest fir la un rând orizontal de pe panoul dvs. *
  6. S3: conectați acest fir la un rând orizontal de pe panoul dvs. *
  7. OUT: conectați acest fir la un rând orizontal de pe panoul dvs. de calcul. *

* Nu vă spun exact unde să-l fixați pe panou, deoarece este mai ușor să vă dați seama singur ce este cel mai bine în combinație cu versiunea dvs.

Breadboard la Arduino: ** (Utilizați 6 fire masculine - masculine)

Este inteligent să vedeți dacă totul funcționează înainte de a-l pune în carcasă. Rețineți că pentru a face acest lucru trebuie să scoateți aceste cabluri și să le introduceți mai târziu. Nu uitați să vă amintiți sau să notați ce cablu este conectat la ce.

  1. conectați rândul pe care l-ați conectat la pinul de semnal al servo-ului la pinul 9 de pe Arduino.
  2. conectați rândul pe care l-ați conectat la pinul S0 al senzorului de culoare la pinul 4 de pe Arduino.
  3. conectați rândul pe care l-ați conectat la pinul S1 al senzorului de culoare la pinul 5 de pe Arduino.
  4. conectați rândul pe care l-ați conectat la pinul S2 al senzorului de culoare la pinul 6 de pe Arduino.
  5. conectați rândul pe care l-ați conectat la pinul S3 al senzorului de culoare la pinul 7 de pe Arduino.
  6. conectați rândul pe care l-ați conectat la pinul OUT al senzorului de culoare la pinul 8 de pe Arduino.

** rândurile la care mă refer aici sunt cele de pe panoul dvs. de calcul.

Pasul 4: Codul

În atașament aici veți găsi codul de care aveți nevoie pentru a rula acest proiect. Comentariile din cod ar trebui să fie clare despre ceea ce face. Dacă doriți mai multe informații detaliate despre modul în care funcționează senzorul de culoare (pentru dacă doriți să înțelegeți complet codul), vă recomand să verificați aceste tutoriale „Cum funcționează senzorul?” secțiune.

Deși nu sunteți încă acolo, există câteva lucruri pe care trebuie să le reglați în cod:

  • Ajustați variabilele.
  • Ajustați declarațiile if pentru a se potrivi cu ghicitoarea dvs. (dacă este necesar).

Este util să faceți stâlpul și să pictați blocurile din pasul următor înainte de a regla variabilele, astfel încât să nu mai aveți nevoie să o faceți din nou.

Reglați variabilele:

Dacă ați construit corect cablajul, codul ar trebui să funcționeze, apucați o bucată de hârtie, un pix și blocurile (vopsite). *

  1. Comentează temporar funcția nulă checkRiddle din cod. (pentru ca acea parte să nu ruleze)
  2. Încărcați codul pe Arduino.
  3. Deschideți monitorul serial, acesta va începe să ruleze și vă va arăta R = … G = … B = … (și alte lucruri, nu mai contează acum)
  4. Țineți un bloc colorat chiar în fața senzorului (la fel de aproape cât va fi în designul final) timp de câteva secunde.
  5. În timp ce îl țineți încă în fața senzorului, scoateți puterea de pe Arduino. (scoate-l din portul USB)
  6. Notați valorile exterioare (cele mai mari și cele mai mici) senzorul de culoare măsurat pe fiecare culoare (R, G și B).
  7. Alegeți cele două valori care variază cel mai puțin (de exemplu, R și B). **
  8. Numărați +10 la cea mai mare valoare și -10 la cea mai mică valoare, astfel încât senzorului să i se permită mici greșeli.
  9. Acum înlocuiți valorile din cod cu cele pe care le aveți acum. (Un comentariu spune ce valori ar trebui să înlocuiți)
  10. Dacă utilizați o culoare diferită de mine, modificați și serial.print.
  11. Acum reîncărcați codul pe Arduino folosind valorile proaspăt măsurate.
  12. Testați dacă monitorul serial imprimă frumos culoarea pe care tocmai ați introdus-o în cod ținând același bloc colorat în fața sa. Asigurați-vă că este consecvent atâta timp cât îl țineți în fața senzorului.
  13. Dacă nu:: (verificați valorile, vedeți dacă trebuie să măriți gama. Dacă da::) codul recunoaște acum această culoare.
  14. Acum repetați acest proces (pasul 4-13) până când toate culorile pe care doriți să le utilizați sunt integrate în cod.
  15. Nu uitați să dezactivați comentariile despre funcția nulă de verificare ghicitoare!

* mergeți mai întâi la pasul „cazul” dacă nu le-ați pictat încă.

** puteți fi mai precis dacă doriți folosind toate cele 3 (R, G și B), dar pentru acest proiect nu este necesar.

Ajustați declarațiile if la enigma dvs.: (numai dacă doriți să schimbați soluția)

Pasul 5: Carcasa și pictarea blocurilor

Carcasa și pictarea blocurilor
Carcasa și pictarea blocurilor
Carcasa și pictarea blocurilor
Carcasa și pictarea blocurilor
Carcasa și pictarea blocurilor
Carcasa și pictarea blocurilor
Carcasa și pictarea blocurilor
Carcasa și pictarea blocurilor

Cazul este o parte oarecum dificilă, dar nu este greu de realizat, este vorba mai ales de măsurători corecte. Nu dau măsurătorile mele pentru că (cel mai probabil) nu folosim materiale de aceeași dimensiune.

Vopsirea blocurilor:

Vopsiți blocurile în culorile pe care doriți să le utilizați. Recomand roșu, verde și albastru, deoarece este cel mai ușor să îi distingi pe cei cu senzor.

Dacă nu vă creați propriul puzzle vopsiți și pe rune.

Stâlpul:

Stâlpul trebuie să ascundă (parțial) senzorul de culoare și cablurile atașate la acesta. Pentru a determina măsurătorile stâlpului, trebuie să măsurați părțile laterale ale senzorului de culoare și să determinați cât de înalt doriți să fie stâlpul dvs. vezi pe imagine are 3 cm înălțime). Apoi desenează-l pe carton și decupează-l, le poți vopsi dacă vrei.

Atașați firele la senzor ÎNAINTE să îl construiți în stâlp, nu veți mai putea ajunge la știfturi.

Am folosit banda adezivă pe două fețe pentru a atașa senzorul în interiorul stâlpului. Puteți vedea acest lucru în a treia imagine.

Asigurați-vă că ledurile de pe senzor sunt în interiorul stâlpului (nu peste margine), blocurile trebuie să stea pe el mai târziu.

Semnul „ai murit”:

Tăiați o bucată de carton și scrieți „ați murit” pe ea. După cum puteți vedea în prima imagine, am lipit o imagine a unui om furios cu sabie pe cealaltă parte. Asigurați-vă că semnul are o prindere pe partea de jos. Folosiți clema pentru a fixa semnul pe servo.

Crearea camerei:

  1. Vopsiți cutia pe care ați ales-o pentru carcasă. (Orice culoare îți place, am folosit negru)
  2. Desenați forma camerei pe fundul cutiei pentru a determina lungimea pereților. (Măsurați liniile cu o riglă).
  3. Stabiliți ce înălțime doriți să aibă pereții. Pereții din exemplul meu au o înălțime de 5 centimetri.
  4. Acum aveți dimensiunile pereților, trageți-le pe carton și tăiați-le.
  5. Vopseste peretii. (Le-am vopsit în negru)
  6. Lipiți pereții pe cutie, pe liniile pe care le-ați tras înainte.

Acum aveți camera pregătită.

Găuri pentru cabluri și semn:

Trebuie să faceți două găuri în cutie, una pentru cabluri și una pentru semnul „ai murit”. și fii atent! găurile nu pot fi îndepărtate după ce sunt acolo.

faceți o gaură sub locul unde doriți să meargă senzorul de culoare. Faceți orificiul cât mai mic posibil, dar evitați tensiunea cablurilor, nu doriți să se desprindă.

Gaura pentru semnul „ai murit” trebuie să fie puțin mai groasă decât cartonul pe care îl folosești, astfel încât să poată apărea fără să lovească carcasa. Lungimea găurii depinde de cât de mare este semnul. Folosiți un cuțit Stanley sau un cuțit pentru a face gaura.

Acum utilizați banda dublă pentru a atașa servomotorul pe partea laterală a cutiei.

Pasul 6: Aveți întrebări ??

Deci, acum ar trebui să puteți construi un puzzle minunat bazat pe culori cu Arduino. Dacă aveți întrebări, nu uitați să întrebați!

Distrează-te construind!

Recomandat: