На днях, по многочисленным просьбам трудящихся ардуинопользователей, починил барахлившую библиотеку для вывода кириллицы на ЖК экранчики подключенные по IIC протоколу.
В связи с этим захотелось что-то сделать с ее участием и решил реализовать давно витавшую в мозгах идею о Шаре Предсказателе, т.е. в нашем случае об Ардуино Предсказателе Будущего.
Для этого понадобятся:
- Ардуино
- ЖК экран (у меня подключенный по протоколу IIC)
- Акселерометр (у меня LSM303DLH от SparkFun)
Или как в моем варианте:
Далее все просто, экран (BlockLCD0802_IC) подключаем к ардуино (Blockduino), затем подсоединяем плату с акселерометром (GND к земле, Vin к +5V, SCL к A5, а SDA к A4) и загружаем код:
Сразу предупрежу, что код - это только первичная рабочая наброска. Позже буду допиливать и усовершенствовать.
Принцип работы кода:
- Замеряем показания акселерометра по всем трем осям, отфильтровываем и суммируем.
- Определяем максимум и минимум для предыдущих показателей и разницу между ними
- Увеличиваем минимум и уменьшаем максимум на определенную величину (т.е. уменьшаем между ними разницу)
- Если разница практически ноль, т.е. ардуино никто больше не трясет, то выбираем случайное число до 20ти и выводим соответствующую надпись на экран.
- Если же разница больше какой-то величины (ардуино сильно встряхнули), то стираем предыдущую надпись.
- Начинаем все сначала :)
Варианты ответа взяты из статьи в википедии "Magic 8 ball"
ToDo:
- Добавить возможность выбора различных наборов ответов: английский, русский-весёлый, русский-гоблин, и т.д.
- Выводить текст на экран не сразу весь, а побуквенно, т.е. сымитировать ввод текста с клавиатуры.
Комментариев нет:
Отправить комментарий