Съдържание:

Arduino Riddlebox: 4 стъпки (със снимки)
Arduino Riddlebox: 4 стъпки (със снимки)

Видео: Arduino Riddlebox: 4 стъпки (със снимки)

Видео: Arduino Riddlebox: 4 стъпки (със снимки)
Видео: How to use 4 channel Relay to control AC load with Arduino code 2024, Октомври
Anonim
Arduino Riddlebox
Arduino Riddlebox

В този Instructable ще ви покажа как да направите Riddlebox, захранван от Arduino. Направих това, за да добавя малко забавление към истинския коледен подарък на приятелките си, който скрих в отделението на кутията.

След като 5V бъдат приложени към USB кабела, Arduino се включва и LCD дисплеят показва кратък урок и след това последователност от десет загадки, които трябва да бъдат решени, за да се отвори отделението за серво управление, което може да побере подарък или подарък.

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

Използвах това, което можех да намеря в местния магазин за хардуер и 3D отпечатах останалото. Очевидно можете да персонализирате Riddlebox, като добавите още сензори или оставите някои части. Оставете творчеството си свободно.

Ще имаш нужда:

  • Arduino Mega (Uno също може да е достатъчно)
  • Гъвкави джъмперни проводници
  • Ключ ключ
  • Клавиатура 4x4
  • I2C LCD 20x04
  • 2x серво мотори SG90
  • Алуминиев калъф
  • Метална панта
  • Алуминиев лист
  • Режещ трион или въртящ се инструмент с отрязано колело
  • Пистолет за горещо лепило
  • Лепило с високо свързване
  • флашка
  • Метална пила

Стъпка 1: Настройка на хардуера

Настройка на хардуера
Настройка на хардуера

Първо прототипирах загадките, с Arduino макет и компонентите, които исках да използвам, а именно превключвателя на клавишите и клавиатурата. За да използвате кода на Arduino от тази инструкция, както е, свържете частите, както е описано по -долу. Разбира се, можете да добавяте и премахвате компоненти или да използвате различни щифтове, стига да направите съответните промени в кода.

Повечето клавиатури имат щифт за всеки ред и всяка колона. Разберете кои щифтове са редовните щифтове, като тествате за непрекъснатост между различни щифтове, като натискате бутони, за да затворите веригата (вижте примерна диаграма). Останалите 4 пина трябва да са щифтовете на колоната. (Забележка: понякога двата най -външни щифта са свързани към медния пълнеж на печатната платка и могат да бъдат игнорирани)

Свържете щифтовете на клавиатурата COL0 - COL3 към щифтове 12 - 9 на Arduino и ROW0 - ROW3 към щифтове 8 - 5 на Arduino.

LCD е свързан чрез I2C, така че са необходими само четири пина: SDA, SCL, 5V и GND.

Ключът за ключ има три позиции и шест щифта: И двата C (общи) щифта отиват към земята, докато двата щифта, означени с NO (нормално отворени), отиват съответно към щифтове 22 и 23 на Arduino. (Забележка: входовете на arduino са издърпани високо, така че трябва само да свържем земята към общите щифтове на превключвателя)

Двата сервомотора се използват за физическо отваряне на вратата на отделението и за заключване чрез ключалка.

Свържете 5V и GND на сервомоторите към Arduino и свържете сигналните линии, както следва: заключване на серво = щифт 44, серво на врата = щифт 45.

Стъпка 2: Arduino код и загадки

Код и загадки на Arduino
Код и загадки на Arduino
Код и загадки на Arduino
Код и загадки на Arduino

Кодът за Arduino се състои от няколко файла. Основната скица инициира целия хардуер, библиотеки и глобални променливи. Всички загадки и блокировки на менюта се съхраняват във функции в отделни файлове за лесно управление. Състоянието на напредъка, което се записва в EEPROM (т.е. е безопасно дори след powercylce), определя кои функции на гатанката се извикват във функцията за превключване на основния файл.

Премахнах всякаква лична информация от кода и замених някои решения с общи генери (1234 …). Чувствайте се свободни да промените кода, както сметнете за добре и да добавите някои персонализирани решения.

Загадки и блокировки на менюта:

  1. Разширени: Меню с разширени настройки с нулиране на напредъка и управление на отделението.
  2. Въведение: Встъпително меню с поздравителен текст и урок.
  3. Елементарно: Загадка, търсеща атомния номер на йод.
  4. Аутсорсинг: Играчът трябва да се свърже с имейл адрес, който автоматично отговаря на загадка за номер. (Загадка във формата на звезда в изображения)
  5. Шестнадесет: Играчът трябва да преобразува шестнадесетично число в десетично.
  6. Избори: Играчът трябва да завърши текстово приключение, разположено на флаш устройство, паролата за следващото ниво е скрита в историята. (вижте Amnesia.rtf)
  7. Офлайн: Играчът трябва да получи ключа, за да активира превключвателя на клавиша (например по пощата, начин за забавяне, ако са твърде бързи).
  8. Невидим: Паролата за следващото ниво е написана върху лист хартия с невидимо мастило.
  9. Изчисление: Проста задача за смятане. (По -скоро заместител, който никога не се напълни, тъй като ми свърши времето)
  10. Промяна: Кратка загадка относно евробанкнотите, може да се адаптира към всяка валута с различни цветни банкноти.
  11. Търпение: Играчът не трябва да завърта ключа за период от 5 минути, в противен случай таймерът се нулира и удвоява. (Забележка: Завъртането на ключа достатъчно често води до препълване на променливата и нулиране поради ограничения й размер.)
  12. Отговорът: "Какъв е отговорът?". Решението очевидно е 42.
  13. Краен екран: Поздравления и инструкции за отваряне на отделението. (чрез превключвателя)

Включих допълнителна документация под формата на коментари в кодовите файлове.

За сведение: задържането на „A“по време на началния екран отваря менюто с настройки. Парола: 2582

Стъпка 3: Изграждане на лицевата плоча

Изграждане на лицевата плоча
Изграждане на лицевата плоча
Изграждане на лицевата плоча
Изграждане на лицевата плоча
Изграждане на лицевата плоча
Изграждане на лицевата плоча

Купих калъфа в местния магазин за хардуер заедно с алуминиевия лист. Дойде с разделители, които по -късно използвах повторно, за да създам стените на отделението.

Алуминиевият лист беше твърде широк, затова го изписах и съкратих с трион за справяне. Въпреки това, един трион, въртящ се инструмент или дори мелница с отрязано колело може да са по-подходящи, тъй като ми отне възраст и аз щракнах две остриета в процеса. Пролуката в предната част на корпуса е умишлена. Той осигурява място за поставяне на powerbank и паметта.

След като маркирах къде искам да отиде, пробих дупки в ъглите на маркираните участъци и ги изрязах отново с помощта на триона. За отделението на отделението опитах отрязано колело на мелница и работи фантастично. Използвах метална пила, за да подрежа отворите, за да пасна на компонентите и да ги отстраня. Бързо подаване с орбиталната шлифовъчна машина придаде на всичко матово покритие. Това, разбира се, е напълно незадължително, аз изтърках алуминиевата плоча доста нагоре, така че шлифоването изглеждаше добър начин да ги скрия и да премахна маркировките си от остриета.

Вратата на отделението е просто отрязано парче от остатъчния алуминиев лист.

Прикрепих пантите към вратата и металната плоча с помощта на лепилото с висока връзка. Нанася се върху двете повърхности, оставя се да се втвърди за 10-20 минути. и след това двете страни се притискат заедно. Връзката е мигновена и няма начин да коригирате двете части по -късно.

Клавиатурата и LCD дисплеят се задържат на място с малко горещо лепило отстрани. (Забележка: Уверете се, че сте изолирали щифтовете на компонентите от алуминиевия лист. Кръв горещо лепило върши работа)

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

За да се отвори автоматично отделението, прикрепих вратата и заключих сервомоторите от долната страна на алуминиевия лист с горещо лепило. Заключващата кука и лостът за отваряне и заключващият лост се огънах, за да оформя от някои скоби (подобно на лентата за плубмери). В hinesight бих могъл и вероятно би трябвало да имам 3D отпечатани тези компоненти, тъй като те са малко крехки по този начин и вероятно ще бъдат първото нещо, което ще се провали. Прикрепих тези части съответно с горещо лепило и лепило с високо свързване (вижте снимките).

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

Стъпка 4: Завършване на случая

Завършване на делото
Завършване на делото
Завършване на делото
Завършване на делото

Както споменах по -рано, случаят дойде с някои делители. Реших да подредя, за да създам грубо отделение и малко място за Arduino и след това използвах лепилото с високи връзки, за да фиксирам всичко на място.

След като свързах всички компоненти към Arduino Mega и го залепих горещо към кутията, подадох USB кабела през малкия отвор между разделителите, така че да е достъпен отвън.

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

Последното нещо, което остава да направите, е да приложите някои довършителни щрихи. Проектирах няколко прости стикера в MS Publisher, които отпечатах, изрязах и прикрепих към предната плоча с обикновена лепилна пръчка.

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

Както и да е, надявам се да ви хареса тази версия на Riddlebox. Ако имате въпроси или идеи за подобрение, оставете ми коментар по -долу и ще се опитам да се свържа с вас възможно най -скоро.

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