Съдържание:

Цветово базиран пъзел: 6 стъпки
Цветово базиран пъзел: 6 стъпки

Видео: Цветово базиран пъзел: 6 стъпки

Видео: Цветово базиран пъзел: 6 стъпки
Видео: Жена е бременна от 13 години, но бебето още не се е родило 2024, Юли
Anonim
Цветово базиран пъзел
Цветово базиран пъзел
Цветово базиран пъзел
Цветово базиран пъзел

Здравей!

За училищен проект, наречен „If This Then That“, трябваше да изградя интерактивен обект, използвайки Arduino. Реших да създам пъзел, базиран на цвят, с проста система за обратна връзка.

Какво прави (накратко):

  1. Той определя цвета на обекта над сензора за цвят.
  2. Той проверява дали този цвят съвпада с правилното решение.
  3. Той или повдига знака „ти си умрял“или не, в зависимост от времето пъзелът е решен или не.

Така че може би си мислите, че този пъзел е лесен за решаване?

Е, за някой, който знае как работи, това е така, въпреки че можете да превключите около решението! Но не се притеснявайте, за някой, който няма представа как работи, изглежда като магия. Според моя опит много хора смятат, че пъзелът е за тегло, а не за цвят. И да не забравяме, вие сте майсторът на пъзела, колко улики ще дадете зависи от вас.

Как (бих искал) да го използвам:

Бих искал да използвам този пъзел като интерактивна част от моята D&D кампания.

Стъпка 1: Материали

Материали
Материали
Материали
Материали

Преди да започнете да изграждате, ще ви трябват следните неща:

Общо взето:

(Творчески) мозък, който да измисли пъзел

Arduino неща:

  • Arduino Uno
  • Платка
  • Серво мотор
  • (TCS3200) Цветен сензор
  • 7x мъжки - женски джъмперни проводници (за предпочитане всички различни цветове, силно препоръчително)
  • 11x мъжки - мъжки джъмперни проводници
  • powerbank (в случай, че искате да работи без вашия компютър/лаптоп)

Корпус:

  • Кутия (обувка) с капак (за изграждане на пъзела)
  • няколко парчета картон (за да направите стените, стълб в средата и сте умрели знак)
  • Дървени блокове (поне) едната страна трябва да е по-голяма от сензора за цвят.
  • боя: черна, червена, синя и зелена (и всякакви допълнителни цветове, ако желаете*)
  • А4 лист бяла хартия
  • Ножици
  • Черен маркер
  • Силна двустранна лепяща лента
  • Молив
  • Незабавно лепило
  • Нож за рязане или нож Stanley

* малка странична бележка за цветовете: първоначално използвах и лилаво, но сензорът не можеше да различи червено и лилаво, затова го пропуснах. Имайте предвид, че и другите цветове може да не работят толкова добре (но може и да не съм опитвал). Сензорът ми беше евтин, по -прецизен сензор вероятно може да различи повече цветове.

Стъпка 2: Пъзелът

Пъзелът
Пъзелът

Най -важната част от този проект е да имате добър пъзел за разбиване на мозъка.

Както можете да видите на първата снимка (тази с интрото), аз нарисувах скандинавски руни върху блоковете си (от всяка страна, с изключение на дъното). Те имат отношение към пъзела. След това поставих един прост въпрос по случая: „Истинското богатство е …?“.

Използвах снимката по -горе, за да преведа руните. Предадох преводите и на хората, опитващи пъзела ми.

Решението на пъзела:

Истинското богатство е щастие!

Така че това, което играчът трябва да направи, е да замени съкровището (блок със символа на богатството) с блока със символа на щастието върху него.

Чувствайте се свободни да използвате моя пъзел, но бих ви насърчил да измислите свой собствен.

Стъпка 3: Окабеляване

Окабеляването
Окабеляването
Окабеляването
Окабеляването

Окабеляването е доста просто, тъй като има само 2 компонента (и arduino). В описанието използвам минималния брой проводници, ако искате да използвате повече, не се колебайте да го направите. (Използвах повече проводници на снимката)

Arduino към макета: (Използвайте 2 мъжки - мъжки проводници)

  1. свържете 5V щифта към + страната на вашата дъска.
  2. свържете един от заземяващите щифтове към - страната на вашата дъска.

Сервото: (Използвайте 3 мъжки - мъжки проводника)

серво има три проводника: захранване, заземяване и сигнал.

  1. Захранването обикновено е червен проводник, свържете този проводник към + страната на вашата дъска.
  2. Заземяването обикновено е черен или кафяв проводник, свържете този проводник към - страната на дъската.
  3. Сигналът обикновено е жълт или оранжев проводник, свържете този проводник към хоризонтален ред на вашата дъска.*

Цветният сензор: (Използвайте 7 мъжки - женски проводници)

  1. VCC: свържете този проводник към + страната на вашата дъска (това е захранване).
  2. GND: свържете този проводник към - страната на вашата дъска (това е заземено).
  3. S0: свържете този проводник към хоризонтален ред на вашата дъска.*
  4. S1: свържете този проводник към хоризонтален ред на вашата дъска.*
  5. S2: свържете този проводник към хоризонтален ред на вашата дъска.*
  6. S3: свържете този проводник към хоризонтален ред на вашата дъска.*
  7. OUT: свържете този проводник към хоризонтален ред на вашата дъска.*

*Не ви казвам къде точно да го поставите на макета, защото е по -лесно да разберете сами кое е най -доброто в комбинация с вашата конструкция.

Платформа към Arduino: ** (Използвайте 6 мъжки - мъжки проводници)

Умно е да видите дали всичко работи, преди да го поставите в калъфа, имайте предвид, че за да направите това, трябва да извадите тези кабели и да ги поставите отново по -късно. Не забравяйте да запомните или запишете кой кабел е свързан към какво.

  1. свържете реда, който сте свързали със сигналния щифт на серво към щифт 9 на Arduino.
  2. свържете реда, който сте свързали към щифта S0 на сензора за цвят към щифт 4 на Arduino.
  3. свържете реда, който сте свързали, към щифта S1 на сензора за цвят към щифт 5 на Arduino.
  4. свържете реда, който сте свързали към щифта S2 на сензора за цвят към щифт 6 на Arduino.
  5. свържете реда, който сте свързали към щифта S3 на сензора за цвят към щифт 7 на Arduino.
  6. свържете реда, който сте свързали към изхода OUT на сензора за цвят към щифт 8 на Arduino.

** редовете, които визирам по -горе, са тези на вашата дъска.

Стъпка 4: Кодът

В прикачения файл тук ще намерите кода, от който се нуждаете, за да стартирате този проект. Коментарите в кода трябва да са ясни за това какво прави. Ако искате по -задълбочена информация за това как работи цветният сензор (ако искате да разберете напълно кода), бих ви препоръчал да проверите тези уроци "Как работи сензорът?" раздел.

Въпреки че все още не сте там, има няколко неща, които трябва да коригирате в кода:

  • Регулирайте променливите.
  • Коригирайте if-изявленията, за да отговарят на вашата загадка (ако е необходимо).

Удобно е да направите колоната и да нарисувате блоковете от следващата стъпка, преди да коригирате променливите, така че да не се налага да го правите отново.

Регулирайте променливите:

Ако сте изградили правилно окабеляването, кодът трябва да работи, вземете лист хартия, химикалка и (боядисаните) блокове.*

  1. Временно коментирайте функцията void checkRiddle извън кода. (така че тази част не работи)
  2. Качете кода на вашия Arduino.
  3. Отворете серийния монитор, той ще започне да работи и ще ви покаже R = … G = … B = … (и още някои неща, те вече нямат значение)
  4. Задръжте цветен блок точно пред сензора (толкова близо, колкото ще бъде във вашия окончателен дизайн) за няколко секунди.
  5. Докато го държите пред сензора, изключете захранването на вашия Arduino. (издърпайте го от usb порта)
  6. Запишете външните (най -високите и най -ниските) стойности на цветния сензор, измерен за всеки цвят (R, G и B).
  7. Изберете двете стойности, които варират най -малко (например R и B). **
  8. Разчитайте +10 на най -високата стойност и -10 на най -ниската стойност, така че сензорът да допуска малки грешки.
  9. Сега заменете стойностите в кода с тези, които имате сега. (В коментарите се казва кои стойности трябва да замените)
  10. Ако използвате цвят, различен от мен, променете и serial.print.
  11. Сега качете отново кода на вашия Arduino с него, като използвате вашите току-що измерени стойности.
  12. Проверете дали серийният монитор добре отпечатва цвета, който току -що сте въвели в кода, като държите същия цветен блок пред него. Уверете се, че е последователен, докато го държите пред сензора.
  13. Ако не:: (проверете стойностите, вижте дали трябва да увеличите диапазона. Ако да::) кодът сега разпознава този цвят.
  14. Сега повторете този процес (стъпки 4 - 13), докато всички цветове, които искате да използвате, бъдат интегрирани в кода.
  15. Не забравяйте да декомментирате функцията void checkRiddle!

* преминете първо към стъпката "случай", ако все още не сте ги нарисували.

** можете да бъдете по -точни, ако искате, като използвате всички 3 (R, G и B), но за този проект това не е необходимо.

Коригирайте if-изразите към вашата загадка: (само ако искате да промените решението)

Стъпка 5: Делото и боядисване на блоковете

Калъфът и боядисването на блоковете
Калъфът и боядисването на блоковете
Калъфът и боядисването на блоковете
Калъфът и боядисването на блоковете
Калъфът и боядисването на блоковете
Калъфът и боядисването на блоковете
Калъфът и боядисването на блоковете
Калъфът и боядисването на блоковете

Случаят е малко сложна част, но не е трудно да се направи, най -вече става въпрос за правилните измервания. Не давам измерванията си, защото (най -вероятно) не използваме материали с еднакъв размер.

Боядисване на блоковете:

Боядисвайте блоковете в цветовете, които искате да използвате. Препоръчвам червено, зелено и синьо, защото най -лесно е да се разграничат тези със сензора.

Ако не правите своя собствена боя за пъзели и върху руните.

Стълбът:

Стълбът е (частично) да скрие цветния сензор и кабелите, прикрепени към него. За да определите измерванията на стълба, трябва да измерите страните на вашия цветен сензор и да определите колко високо искате да бъде вашият стълб (Този, който вие виж на снимката е с височина 3 см). След това нарисувайте това върху картона и го изрежете, можете да ги нарисувате, ако искате.

Прикрепете проводниците към сензора, ПРЕДИ да го вградите в колоната, няма да можете да достигнете до щифтовете.

Използвах двустранната лепяща лента, за да прикрепя сензора вътре в колоната. Можете да видите това на третата снимка.

Уверете се, че светодиодите на сензора са вътре в колоната (не над ръба), блоковете трябва да стоят върху него по -късно.

Знакът „ти умря“:

Изрежете парче картон и напишете върху него „умряхте“. Както можете да видите на първата снимка, аз залепих снимка на ядосан мъж с меч от другата страна. Уверете се, че знакът има уши на дъното. Използвайте скобата, за да залепите табелата към серво.

Създаване на стаята:

  1. Оцветете кутията, която сте избрали за случая. (Всеки цвят, който харесвате, използвах черен)
  2. Начертайте формата на стаята върху дъното на кутията, за да определите дължината на стените. (Измерете линиите с линийка).
  3. Определете каква височина искате да имат стените. Стените в моя пример са високи 5 сантиметра.
  4. Сега имате размерите на стените си, изтеглете ги върху картона и ги изрежете.
  5. Боядисвайте стените. (Боядисах ги в черно)
  6. Залепете стените върху кутията, по линиите, които сте начертали преди.

Вече сте настроили стаята.

Отвори за кабелите и знака:

Трябва да направите две дупки в кутията, една за кабелите и една за знака „умряхте“. и бъдете внимателни! дупките не могат да бъдат премахнати, след като са там.

направете дупка под мястото, където искате да отиде цветният сензор. Направете отвора възможно най -малък, но избягвайте опъването на кабелите, не искате те да се разхлабят.

Дупката за знака „умряхте“трябва да е малко по -дебела от картона, който използвате, за да може да излезе, без да удря кутията. Дължината на дупката зависи от това колко голям е знакът. Използвайте нож Stanley или нож за рязане, за да направите дупката.

Сега използвайте двустранната лента, за да прикрепите серво мотора отстрани на кутията.

Стъпка 6: Някакви въпроси ??

Така че сега трябва да можете да изградите страхотен пъзел, базиран на цвят, с Arduino. Ако имате въпроси, не забравяйте да попитате!

Приятно строителство!

Препоръчано: