Оглавление:

Портативная печатная плата с Arduino (с возможностью перехода на беспроводную связь!): 3 шага
Портативная печатная плата с Arduino (с возможностью перехода на беспроводную связь!): 3 шага

Видео: Портативная печатная плата с Arduino (с возможностью перехода на беспроводную связь!): 3 шага

Видео: Портативная печатная плата с Arduino (с возможностью перехода на беспроводную связь!): 3 шага
Видео: Arduino против STM32 2024, Июль
Anonim
Портативная печатная плата с Arduino (с возможностью беспроводного подключения!)
Портативная печатная плата с Arduino (с возможностью беспроводного подключения!)
Портативная печатная плата с Arduino (с возможностью беспроводного подключения!)
Портативная печатная плата с Arduino (с возможностью беспроводного подключения!)

Обновление 28.1.2019 Я работаю над следующей версией этого КПК. Вы можете следить за проектом на моем канале в YouTube или в Twitter.

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

Я разработал печатную плату для КПК на базе микроконтроллера ATmega328P-AU (такой же, как в Arduino Nano), OLED-дисплея SSD1306 и некоторых кнопок. Я также добавил возможность добавить радиомодуль NRF24L01 + для многопользовательских игр. Вы также можете использовать этот КПК в качестве беспроводного контроллера. Раньше я делал беспроводные контроллеры, и у меня даже есть инструкция по ним. Все, что вам понадобится, это Arduino Leonardo или Pro Micro.

КПК имеет полностью открытый код. Бесплатно можно использовать весь исходный код, равно как и дизайн печатной платы. Я также начал писать игровой движок с открытым исходным кодом для консоли. На данный момент все работает, за исключением того, что у физического движка есть проблемы с высокими ускорениями. Это просто потому, что физический движок работает кадр за кадром с той же скоростью, что и функция рисования. В физическом движке должен быть так называемый микрошаг (перемещение на один пиксель во время проверки, есть ли столкновение), но мне все еще нужно над этим поработать.

Как видно на картинке, я еще не получил SMD-детали. В настоящее время я разрабатываю код с прототипом.

Я не хочу покупать профессиональную печатную плату. Могу я еще построить это?

Конечно. Я уже сделал руководство о том, как собрать эту консоль на прототипе печатной платы с точечной медью. Вы можете найти проект здесь:

Шаг 1. Получение всех деталей

Получение всех частей
Получение всех частей

Для начала вам понадобятся все детали. Вы можете заказать печатные платы в JLCPCB или на другом сайте, который использует файлы Gerber. Файлы Gerber используются для описания печатной платы для производителя. Это просто файлы. ZIP, содержащие каждую деталь спроектированной печатной платы.

Вот ссылка на печатные платы:

Вот список компонентов, которые вам придется купить, чтобы он заработал:

  • ATmega328P (TQFP-32)
  • 8 кнопок 6 x 6 x 6 мм
  • Кварцевый генератор 16 МГц
  • 2 конденсатора 22 пФ 0603
  • Дисплей SSD1306 с SPI-интерфейсом. (128 x 64, монохромный)
  • Два резистора 0603 10 кОм

Вот список дополнительных компонентов:

  • NRF24L01 +
  • AMSD1117-3.3 (регулятор 3, 3 В для NRF24L01 +)
  • Конденсатор 1206680 нФ (для правильной работы NRF24L01 + требуется стабильное напряжение.)
  • 2 шт.1206 светодиода (если вы хотите зажечь свет)
  • 2 резистора 0603 для светодиодов

Шаг 2: соберите доску

Это будет немного сложно описать, так как я еще не построил никаких печатных плат. Я понятия не имею, куда делись детали, но надеюсь, что они скоро прибудут.

Как обычно при пайке, воспользуйтесь каким-нибудь вытяжным устройством и мойте руки после прикосновения к флюсу или припою. И будьте осторожны с паяльником. Если вы дотронетесь до него, пока температура около 350 градусов по Цельсию, он вызовет серьезные ожоги. Однако, если вы получили травму от паяльника, используйте холодную воду, чтобы охладить обожженное место

Если вы никогда не паяли SMD-детали, я настоятельно рекомендую посмотреть несколько руководств на YouTube. Основное правило - нанести припой на одну площадку, поставить микросхему на место и припаять штырь. Тогда просто сделайте противоположную сторону, и если там больше булавок, сделайте их. Вы также можете использовать флюс, чтобы облегчить процесс пайки.

Вам также понадобится припой, чтобы можно было припаять микроконтроллер. Просто облейте контакты припоем и используйте фитиль, чтобы удалить излишки.

Убедитесь, что вы правильно припаяли детали. Обычно у микроконтроллеров есть точка для обозначения первого контакта. Обычно на печатных платах также есть точка, указывающая ориентацию.

Что касается SMD-деталей, вы обычно сначала хотите припаять мелкие детали. Если вы сначала припаяете разъемы, вы, вероятно, ударите их паяльником и выделите неприятные газы. Я могу порекомендовать эту последовательность из опыта. Вам не обязательно следовать этому списку, но он основан на здравом смысле:

  1. Конденсаторы
  2. Светодиоды и резисторы для светодиодов (по желанию) [сначала нужно припаять резисторы]
  3. Регулятор и микроконтроллер (Убедитесь, что вы правильно установили MCU! Точка должна быть направлена так же, как метка [белая точка] на печатной плате.)
  4. Кристалл
  5. Кнопки
  6. Заголовки (Заголовок NRF24L01 + находится как раз там, где будет лежать ваш палец, поэтому я рекомендую использовать несколько проводов, чтобы обеспечить некоторую гибкость для него.)
  7. Некоторые провода для аккумулятора. Основное питание обозначено VCC и GND. VCC должно быть около 3,6-6 вольт. Это напряжение поступает непосредственно на микроконтроллер, поэтому убедитесь, что вы не пропускаете через него слишком большое напряжение.

Шаг 3: Программное обеспечение

Image
Image

За эти годы я сделал несколько игр для такой платформы. Вы можете найти старый код для нескольких игр отсюда (тот, который называется грибом_mcp_continued_v10_converted):

github.com/Teneppa/handheld_open_source

Движок с открытым исходным кодом можно найти здесь (я использовал Visual Studio для его кодирования, поэтому есть несколько странных файлов):

Рекомендуемые: