Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Охота за мусором CluePhone

Компоненты и расходные материалы

SparkFun Arduino Pro Mini 328 - 5 В / 16 МГц
× 1
Триггер MP3 / WAV
× 1
Старый телефон
× 1
Макет (общий)
× 1
Перемычки (общие)
× 1
Соединительный провод SparkFun
× 1
карта microSD
× 1

Необходимые инструменты и машины

Паяльник (универсальный)
Тепловая пушка SparkFun

Об этом проекте


Следуйте этим инструкциям, чтобы превратить старый телефон в систему подсказок для поиска мусора.

Шаг 1. Строки и столбцы клавиатуры

Разберите телефон и снимите клавиатуру. Клавиатуры используют систему строк и столбцов для обнаружения нажатия клавиш. На этой странице приведены подробные инструкции по идентификации кнопок на клавиатуре и сопоставлению их с соответствующей строкой и столбцом с помощью мультиметра с непрерывностью. В моем случае клавиатура выглядит так:

Схема на клавиатуре (если она видна) позволяет очень легко определить, какие контакты подключаются к каждой клавише. К сожалению, контакты моей клавиатуры, похоже, не образуют идеальных строк и столбцов, поэтому на втором рисунке показана матрица, которую я создал, чтобы помочь мне разделить контакты на строки и столбцы. Цифры в кружках представляют номера контактов клавиатуры, числа в матрице представляют клавиши, а числа в рамке «I / O» представляют контакты Arduino. Обязательно запишите схему контактов, а затем назначьте каждый из контактов клавиатуры контакту Arduino. У меня странная клавиатура:контактов больше, чем необходимо, но это нормально.

На третьем изображении показана моя окончательная упрощенная матрица, в которой используются только те кнопки, которые я использую. На данный момент это почти похоже на строки и столбцы! В моем коде я использую заполнители A, B, C и D, чтобы заполнить пустые места в матрице. Этих клавиш нет на моей клавиатуре.

Шаг 2 - Припаяйте удлинители к клавиатуре

Чтобы упростить подключение контактов клавиатуры к макетной плате, припаяйте удлинители к нужным контактам. Для реализации этого проекта не обязательно использовать каждую клавишу на клавиатуре, поэтому на рисунке ниже показаны только контакты, которые я выбрал для использования. Я использовал 4-значный код доступа, поэтому мне понадобилось всего 5 ключей (включая *).

Шаг 3. Подготовьте аудиофайлы

В моем проекте голос в подсказке - это Питер из текста в речь Natural Readers. Загрузите голосовой файл. Далее подготовьте азбуку Морзе. В Интернете есть много аудиогенераторов азбуки Морзе, но я использовал этот с сайта SCPhillips.com. Загрузите также этот файл. Также загрузите этот звуковой сигнал нажатия клавиши.

Audacity - отличный инструмент для редактирования аудио, который можно использовать для объединения кода Морзе и голосовых файлов, а также для сокращения сигналов в один сигнал.

Перетащите эти файлы в Audacity и настройте файл подсказки, пока он не будет соответствовать вашим потребностям. Кроме того, сократите звуковые сигналы клавиатуры, выделив ненужную часть и нажав «Удалить».

Сохраните файл Audacity, затем экспортируйте каждую дорожку отдельно как MP3. Если вы никогда раньше не использовали Audacity, возможно, вам придется загрузить кодировщик LAME MP3.

Чтобы аудиофайлы воспроизводились на этой конкретной плате MP3-плеера, они должны быть правильно названы и помещены в папку на SD-карте. Каждому MP3 должно быть присвоено имя 001, 002 и т. д. соответствует контактам 1–9 триггера на плате MP3. Кроме того, файлы должны находиться в папке с именем 01 на SD-карте. Другие триггерные платы MP3 могут справиться с этим проще.

Шаг 4. Загрузите библиотеки и подготовьте код

Для этого проекта необходимы библиотеки Keypad и Password Arduino. Загрузите и установите эти библиотеки, а также загрузите код для этого проекта (см. Ниже). Сделайте любой пароль, какой хотите, и заполните ключевую матрицу соответствующими ключами.

Шаг 5 - Подключите все

Выпотрошите телефон изнутри и запихайте в него новые вещи! Вы можете втиснуть туда пауэрбанк.

/> =mos>

Нравится этот проект? Посмотрите другие мои проекты здесь!

Код

  • Эскиз клавиатуры телефона
Эскиз клавиатуры телефона Arduino
Этот пример кода был изменен для работы с телефонной клавиатурой и триггером MP3.
 #include  //http://www.arduino.cc/playground/uploads/Code/Password.zip#include  //http://www.arduino.cc/playground/uploads/Code/Keypad.zipPassword password =Пароль ("7365"); const byte ROWS =4; // Четыре строки по одному байту COLS =3; // столбцы // Определение ключей Keymapchar [ROWS] [COLS] ={{'4', '5', '6'}, {'7', '8', 'A'}, // "A" заполнитель; на моей клавиатуре такой кнопки нет {'B', '2', '3'}, // "B" - это заполнитель; на моей клавиатуре такой кнопки нет {'*', 'C', 'D'} // "C" и "D" являются заполнителями; на моей клавиатуре таких кнопок нет}; byte rowPins [ROWS] ={7,5,3,8}; // Подключаем строки клавиатуры к этим контактам Arduino. byte colPins [COLS] ={6,4,2}; / / Подключите колонки клавиатуры к этим контактам Arduino. Const int dial =13; // Цифровой вывод Arduino, идущий к MP3 triggerboard.const int morse =12; // Цифровой вывод Arduino, идущий на плату триггера MP3. // Создание KeypadKeypad keypad =Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); void setup () {pinMode (dial, OUTPUT); pinMode (Морзе, ВЫХОД); digitalWrite (циферблат, ВЫСОКИЙ); // Плата MP3 запускает активный низкий уровень, поэтому начинайте с HIGH. digitalWrite (Морзе, ВЫСОКИЙ); // Плата MP3 запускает активный низкий уровень, поэтому начинайте с HIGH. Serial.begin (9600); keypad.addEventListener (keypadEvent); // добавляем прослушиватель событий для этой клавиатуры} void loop () {keypad.getKey ();} // заботимся о некоторых особых событияхvoid keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED:Serial. print ("Нажата:"); // Для мониторинга Serial.println (eKey); // Для мониторинга digitalWrite (dial, LOW); // Воспроизведение звукового сигнала набора номера; это происходит для каждой задержки нажатия клавиши (50); digitalWrite (циферблат, ВЫСОКИЙ); переключатель (eKey) {case '*':checkPassword (); ломать; // * - это ключ ввода по умолчанию:password.append (eKey); }}} void checkPassword () {if (password.evaluate ()) {Serial.println ("Успех"); // Мониторинг password.reset (); // Очистить ключевые записи digitalWrite (morse, LOW); // Воспроизвести подсказку аудио файла delay (50); digitalWrite (Морзе, ВЫСОКИЙ); } else {Serial.println ("Неправильно"); // Мониторинг password.reset (); // Удаляем ключевые записи для следующей попытки ввода пароля}} 

Схема


Производственный процесс

  1. Атака НЛО!
  2. Костюм облака
  3. 3D RGB Arduclock
  4. MyRiver
  5. Железный человек
  6. Игра с джойстиком
  7. Найди меня
  8. Управление увлажнителем Arduino
  9. Маленький вездеход
  10. Джойстик Arduino