Теннис на двоих

 
 
 
В году 1958 - за четырнадцать лет до 1972 - физик по имени William Higinbotham продемонстрировал замечательную видеоигру под названием Теннис для двоих.Теннис для двоих представил теннисный корт - показанный  на экране осциллографа, и 2 пульта упарвления позволяющие бросить мяч друг другу. Каждый пульт оснащен: кнопкой и ручкой.С помощью кнопки, вы могли ударить мяч в любое время по своему выбору, когда он был на вашей стороне сети,а ручкой вы можете выбрать угол, при котором мяч летел.
Игра была основана на лучших современных технологий,конечно, кое-что изменилось за последние 50 лет. Используя удобную современную электронику, мы разработали функциональную  копию оригинала, которая может скрасить пару ваших вечеров.
Так, следующий вопрос, который Вы могли бы задать, "Как это сделать?" .Ответ: "с осциллографом, микроконтроллером AVR, и цифро-аналоговый преобразователем."Готовы начать работать?
Прежде чем мы начнем, давайте быть ясно, что это не учебник в том, как построить осциллограф.Проект состоит из трех частей.Во-первых, микроконтроллер AVR - мозги комплекта оборудования.Мы используем микроконтроллер  ATmega168, та же самая микросхема, используемая в платформе Arduino. Во-вторых, Есть два переносных пульта управления, которые подключаются к ATmega168. Каждый портативный пульт имеет ручку и кнопку. В-третьих, цифро-аналоговый преобразователь, который принимает сигнал на выходе из AVR,преобразует и падает на дисплей осциллографа.
 
На рисунке показано два идентичных пульта управления, каждый из которых имеет кнопку и ручку, а также кабель.Корпус простой сделаный из пластиковой коробки с алюминивой крышкой.Давайте заглянуть внутрь.
 
 
 
Ручка используется для изменения выходного напряжения (который контролирует угол полета мяча) между 0 и 4,5В, а кнопка, при нажатии, меняет на одном из входов напряжение от 4,5 В до 0В.Схема для одного из пультов выглядит следующим образом:
 
Для упрощения монтажа, мы использовали старый Ethernet кабель. Внутри кабель имеет четыре цветные витые пар: оранжевый, зеленый, синий, коричневый.Мы использовали оранжевый (4,5 В) и зеленый земля,а два другие для сигналов от пульта: коричневый для аналогового выхода с ручки и синий для кнопки переключения.
Контакты помечены на диаграмме микроконтроллера: PB0 - PB7 и PD0 - PD7, эти два восеми битных выхода будут использоваться для контроля вывода на экране - "PB" выходы будут контролировать "X", а  "PD" выход будет контролировать "Y" положение луча осциллографа . Но, осциллограф принимает аналоговые сигналы а эти сигна являются цифровыми.
 
 
 
 
И так, что нам нужно дальше, цифро-аналоговый преобразователь (ЦАП).Для нашего ЦАП мы использовали очень простую топологию, так называемую схему R-2R с 8 битной разрешающей способностью. При сравнении с другим методами получения ЦАП на AVR преимущество этой схемы состоит в том, что она имеет более высокую частоту работы - большое плюс для того, чтобы вычертить чистые точки на нашем экране. Тем самым область отсовки будет 256 x 256,такая сетка, очень удобна для того, чтобы играть в игры на экране осцилографа.Каждая из цепочек R-2R составлена из девяти 10k резисторов и семь 5k резисторов.
 
 
Последним шагом будет настройка осцилографа в режими XY.:)
 
 
 
Приложение 
 
Исходный код проекта
 
Автор  Evil Mad Scientist