Хакатон (Ардуино) №1. Усовершенствование игры «Кнопочные
ковбои».
Хакатон (англ. hackathon, от hack (см. хакер) и
marathon — марафон) — форум разработчиков, во время которого специалисты из
разных областей разработки программного обеспечения (программисты, дизайнеры,
менеджеры) сообща решают какую-либо проблему на время.
1. Проблема! Итак,
у нас есть игра «Кнопочные ковбои» и распечатанная модельподставка. Игра
рабочая, но есть небольшой недостаток – не считает очки и не выводит их.
Поэтому, если проводить соревнования, нужно вести запись на листочке, что не
очень правильно используя робототехнический набор.
2.
Запоминание и вывод
информации!
-
Запоминание. В любой программе есть данные, которые
необходимо помнить. Например количество здоровья, патроны и тд. Для этого
внутри программы создаются переменные. Переменные могут быть особых
типов, чаще это – ЧИСЛО, СТРОКА, ЛОГИЧЕСКИЕ 0 или 1 и т.д. В каждом языке
программирования есть для этого определенные команды. Например в C++
(Ардуино):
#define pinLed 3 int Ammo, HP;
(дать пояснение этих строк).
-
Вывод информации. Для вывода информации чаще всего
используются различные устройства вывода. Это – монитор, принтер, led-дисплеи и
т.д. Исходя из наших наборов, мы можем иметь:
1. Монитор.
2. LCD-дисплеи
для Ардуино
3. LED-
матрица для Ардуино
4. Семисегментный
(и другие) индикаторы
5.
TFT LCD экраны LCD TFT (англ. TFT - thin film transistor — тонкоплёночный транзистор) — одно из названий
жидкокристаллического дисплея, в котором используется активная матрица, управляемая тонкоплёночными
транзисторами.
Обдумайте и обсудите предложенные варианты
(или внесите свое предложение), для вывода информации по нашей игре. Сравните
варианты указав у каждого на плюсы и минусы. Если есть недостаток знаний по
устройствам вывода, используйте Интернет или задавайте вопросы.
Исходя из многообразия, вы должны сразу учесть следующие
вопросы:
1. Какую
информацию вы должны будете выводить.
2. Мобильность
устройства.
3. Наличие
устройства.
4. Сложность
в подключении.
3.
Выбор сделан.
Я бы выбрал LCD дисплей по следующим причинам:
1. Информации
для вывода будет немного, это номер каждого игрока и его баллы. Поэтому 3.
LED-матицы и 4.Семисегментного индикатора будет мало.
2. Монитор
тоже отпадает, так как если я захочу запитать игру от батареек и носить ее,
например, в школу или на улицу, монитор с собой взять сложно.
3. Это
устройство есть в наборах, возможно у кого-то есть и TFT дисплеи, да они круче,
и цветные. Но если ориентироваться на простоту подключения и на цены устройств,
то LCD двухцветный дисплей рулит.
4. Есть
LCD дисплеи с подключением через шину I2C, то тут понадобятся всего четыре
провода и подключение не будет конфликтовать с подключением игры к Ардуино. Но
если шины I2C нет, то дисплей лучше всего поставить на макетную плату и
понадобятся около 13 проводов.
4.
Подключение. Для
подключения вашего устройства (Если это LCD дисплей) нужно найти его описание в
Интернет. В наборах Амперка книга на стр 135, параграф 12.
Жидкокристаллические экраны. Так же в «Конспект хакера» из
набора «Матрешка» Проект №18 «Тестер батареек».
Код (Программирование дисплея):
Для правильной и упрощённой работы с
некоторыми устройствами используются, так называемые, БИБЛИОТЕКИ. …
В С++ (Ардуино) для подключения библиотеки используется
команда:
#include
<LiquidCrystal.h>
Следующая команда объявляет объект lcd для
управления дисплеем. В скобках указывают номера пинов в таком порядке (RS, E,
DB4, DB5, DB6, DB7) – названия выводов LCD дисплея (см. на дисплее).
Соответственно нужно использовать не занятые игрой пины
LiquidCrystal lcd(13,
12, 11, 10, 9, 8);
Чтобы начать работу с дисплеем,
инициализируем его командой сообщая количество строк и столбцов:
lcd.begin (16, 2);
Следующая команда устанавливает курсор в
место : 1 строка, колонка 0. Так как отсчет ведется с нуля, следует это учесть.
То есть у нас есть строка 0 и строка 1. И есть 015 колонок.
lcd.setCursor (1, 0);
Печать на дисплей выводит команда:
lcd.print (“Hello!”);
Вывод на экран происходит или от предыдущей
команды с установленным курсором, либо от предыдущей написанной строки.
Итог!
1. Главная
задача теперь подключить LCD дисплей, протестировать его.
2. Разобраться
с изначальным кодом игры. Выяснить в каком месте загораются светодиоды при
выигрыше.
3. Внести
переменные для подсчета и вывод их на LCD дисплей в том месте, где загораются
светодиоды.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.