Оглавление:
- Шаг 1: особенности
- Шаг 2: что вам понадобится
- Шаг 3. Запись загрузчика
- Шаг 4: Сборка юнита
- Шаг 5: СХЕМА
- Шаг 6: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ НА БОРТУ
- Шаг 7. Видеоклип о запуске мини-приложения sm
Видео: DemUino - Домашний компьютер / Контроллер: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Компьютер, вдохновленный Arduino от DemeterArt. Получите максимум от своей старой клавиатуры PS2. Взломайте его на персональном компьютере, чтобы управлять всем! Я всегда хотел собрать свой собственный домашний компьютер, в стиле ретро, без ничего особенного, но с особыми возможностями, соответствующими моим предпочтениям. Итак, я дошел до этого с микроконтроллером atmega328 и комплектом для разработки Arduino.
Позвольте мне заявить, что этот проект занял бы значительно больше времени с сомнительными конечными результатами, если бы не одаренные фанаты, которые менее эгоистично поставляют бесплатные библиотеки для всех. Спасибо вам всем:-)
посетите мой сайт, чтобы прочитать всю историю и загрузить все соответствующие файлы
www.sites.google.com/site/demeterart
Шаг 1: особенности
- На основе ATMEGA328 с 32 КБ флэш-памяти, 2 КБ SRAM и 1 КБ EEPROM.
- поддержка интерактивного и пакетного режимов
- строковый редактор и режим редактирования списка
- 8 пользовательских символов для пользовательской графики
- 60 программных шагов, пронумерованных 00,…, 99
- Условное условие if, циклы while и for плюс операторы goto и sub для ветвления
- Основные арифметические и математические выражения плюс булевы тесты
- системные переменные учитывают синхронизированные события, средние, среднеквадратичные, минимальные и максимальные значения с аналоговых выводов и т. д.
- 26 пользовательских переменных для взаимодействия с системными переменными и командами
- 104 байта адресуемого пользователем массива или 52 коротких целых числа
- возможность чтения / записи данных программы, а также кода на лету (переменная p)
- мини-осциллограф с настраиваемыми символами для псевдографики
- сохранять и загружать программы и данные в / из EEPROM
- загружать / сохранять программы и переменные с / на ПК
- autoexec для загрузки и запуска программы из EEPROM после каждого сброса
- 9 контактов GPIO (включая SPI) доступны на внешнем разъеме DB15
- ЗУММЕР для звуковых эффектов
Шаг 2: что вам понадобится
Старая клавиатура ps / 2, достаточно толстая, чтобы вместить символьный ЖК-дисплей печатной платы (популярный параллельный формат). Микросхема MAX232 для порта RS232 atmel atmega328PU Комплект разработчика Arduino с IDE 1.0.1 LM7805 стабилизатор 5 В, выпрямитель зуммера, конденсаторы, кнопка сброса, разъемы и т. д.
Шаг 3. Запись загрузчика
Итак, после покупки «пустого» чипа atmega328PU нужно принимать решение. Я использую специальный программатор, внешний или ISP, или я должен записать загрузчик Arduino в зверя и сделать устройство программируемым через его порт UART? Я выбрал последнее, чтобы облегчить себе жизнь! Новый загрузчик занимает всего пол килобайта флэш-памяти, оставляя доступным чуть более 31 КБ пользовательской программы и статических данных. На сайте Arduino описывается случай записи загрузчика на новый чип. Когда дело дошло до использования avrdude для фактического сжигания целевого чипа, процесс завершился ошибкой с ошибкой, указывающей на неправильный идентификатор для конкретного MCU. Итак, после некоторых поисков я нашел этого парня, который понял все правильно, и последовал его процедуре. Единственная разница заключалась в двух конфигурационных файлах, avrdude.conf иboards.txt, которые необходимы avrdude и arduino IDE 1.0.1, чтобы сделать это возможным. После копирования 2 файлов в их надлежащие места (сначала сделайте резервную копию старых) была доступна опция «arduino328» в меню «Инструменты-> Плата», и avrdude продолжил запись предохранителей и загрузчика. Теперь чип готов к программированию на новой машине!
Шаг 4: Сборка юнита
Перфорированная плата с медными полосками использовалась в качестве решения для быстрой сборки с DIP-гнездами для микросхем, ну понимаете, на всякий случай! Затем отверстия и прорези для разъемов, кнопки сброса и ЖК-дисплея открылись сквозь чрезвычайно прочный и толстый пластик клавиатуры. Да, это построили 25 лет назад! Затем последовала путаница проводов, идущих от печатной платы к различным периферийным устройствам. Элементарная проверка непрерывности, а затем питание было подключено без установленных микросхем, просто чтобы проверить розетки на предмет надлежащего напряжения. Затем вошли две микросхемы, и корпус клавиатуры был плотно закрыт пластиковыми защелками внизу. Аппарат был готов записывать скетчи в контроллер!
Я предлагаю использовать неполярные конденсаторы 1 мкФ / 16 В для зарядных насосов MAX232. Разместите развязывающие конденсаторы емкостью 100 нФ для двух микросхем как можно ближе к соответствующим контактам VCC и GND. Используйте звезду для подключения питания и заземления регулятора LM7805. Переключатель 2 может быть перемычкой в зависимости от имплементации, но он может быть полезен хотя бы во избежание нежелательных сбросов MCU с главного ПК в определенных случаях. В любом случае переключатель должен быть замкнут, чтобы позволить Arduino IDE записать скетч через сброс целевого MCU (вывод DTR RS232). В моем случае соединение постоянное (всегда закрыто). Используйте последовательный резистор для зуммера, чтобы изолировать несколько нФ емкости от управляющего затвора… никогда не угадаете… Разместите XTAL и нагрузочные конденсаторы 18–22 пФ как можно ближе к соответствующим контактам контроллера.
Благодаря выпрямительному мосту устройство может питаться как от адаптеров переменного, так и постоянного тока. В случае постоянного тока между адаптером и входом регулятора возникает падение напряжения 1,5 В. В случае переменного тока входной сигнал регулятора примерно в 1,4 раза превышает среднеквадратичное значение выхода адаптера или меньше из-за нагрузки. Если разница между входом регулятора и его выходом (+ 5В) большая, скажем 7 вольт, то мощность, потребляемая регулятором, приближается к 0,5 ватт, и лучше использовать небольшой радиатор для установки микросхемы (при условии для него есть место) для долгой работы в жаркую погоду.
Входной предохранитель переменного тока может быть выбран в зависимости от ваших внешних нагрузок (через разъем DB15). Другими факторами, влияющими на выбор предохранителя, являются токоограничивающий резистор для светодиодной подсветки ЖК-дисплея, мостовой конденсатор для тока зарядки и токовая нагрузка питающего трансформатора.
Шаг 5: СХЕМА
Шаг 6: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ НА БОРТУ
Это набросок, благодаря которому все это происходит… и 32 КБ НЕ достаточно! Вы можете либо использовать его без изменений, и в этом случае я был бы признателен за ссылку на мое имя, либо изменить его по своему желанию и забыть обо мне;-)
Это подробная документация по машине.
Сводка команд и выражений
«: Строка непечатаемого комментария
ai: присоединить прерывание 0 (вывод D2)
ar: аналоговое чтение
aw: «аналоговая запись» для arduino или, точнее, pwm
ca: аналоговый захват в массиве
cl: очищает дисплей cno: return * Prgm индекс номера строки
di: дождаться серии импульсов и измерить длительность и время
dl: задержка
do: в сочетании с "wh"
dr: цифровое чтение любого пина
dw: цифровая запись любого пина
ed: режим редактора / загрузка программы с ПК / перенумеровать строки
el: функция доступа к EEPROM
конец: оператор END программы
Ensb: завершает подпрограмму
es: функция доступа к EEPROM
fl: простой фильтр скользящего среднего
fr: следующий цикл (fr-nx)
перейти: перейти к шагу программы
gosb: продолжить выполнение подпрограммы
gt: ждет ввода пользователя
если: проверить условие и перейти к шагу
io: GPIO 1-9 бит
ld: загрузить / слить программу из EEPROM
lp:: управляемый с клавиатуры цикл в интерактивном режиме
ls: режим списка / посылка программы на ПК построчно
мл: получить время
мм: отображение свободной памяти
nos: преобразует число в строку
nx: вместе с "fr"
pl: график массива cxx
pm: установить контакты для входа или выхода
pr: печатает сообщение, значение или настраиваемый символ
rgc: команда копирования диапазона для массивов
rgs: команда набора диапазонов для массивов
rn: запустить программу в ОЗУ
rs: мягкий сброс
rx: получить символ через RS232
si: синхронный последовательный ввод с выводами часов и данных
sm: приложение мини-осциллографа sno: преобразует строку в число
итак: синхронный последовательный выход с выводами часов и данных
sub: объявляет подпрограмму
sv: сохранить программу в EEPROM
tn: гудок
tx: передать номер через RS232
wh: цикл do-while, используемый вместе с "do"
Шаг 7. Видеоклип о запуске мини-приложения sm
посетите мой сайт, чтобы прочитать всю историю и загрузить все соответствующие файлы
www.sites.google.com/site/demeterart
Рекомендуемые:
Как установить, запустить и подключить контроллер к эмулятору: 7 шагов
Как установить, запустить и подключить контроллер к эмулятору: вы когда-нибудь сидели без дела и вспоминали свое детство юного геймера и иногда хотели бы вернуться к этим старым жемчужинам прошлого? Что ж, для этого есть приложение … точнее, есть сообщество геймеров, которые создают программы
(ОБНОВЛЕНИЕ - ЕСТЬ НЕБОЛЬШАЯ ПРОБЛЕМА) USB-КОНТРОЛЛЕР ИГРЫ ДЛЯ ПК: 10 шагов (с изображениями)
(ОБНОВЛЕНИЕ - ЕСТЬ НЕБОЛЬШАЯ ПРОБЛЕМА) USB-КОНТРОЛЛЕР ИГРЫ ДЛЯ ПК: ИГРОВОЙ КОНТРОЛЛЕР ДЛЯ ЛЮБОЙ ИГРЫ (ПОЧТИ)
Контроллер DIY на базе Arduino - Игровой контроллер Arduino PS2 - Игра в Tekken с DIY-геймпадом Arduino: 7 шагов
Контроллер DIY на базе Arduino | Игровой контроллер Arduino PS2 | Игра в Tekken с помощью DIY Arduino Gamepad: Здравствуйте, ребята, играть в игры всегда весело, но играть с вашим собственным игровым контроллером DIY еще веселее. Поэтому мы создадим игровой контроллер с использованием arduino pro micro в этих инструкциях
Как разобрать компьютер с помощью простых шагов и изображений: 13 шагов (с изображениями)
Как разобрать компьютер с помощью простых шагов и изображений: это инструкция о том, как разобрать компьютер. Большинство основных компонентов имеют модульную конструкцию и легко снимаются. Однако важно, чтобы вы были организованы по этому поводу. Это поможет уберечь вас от потери деталей, а также при повторной сборке
YABC - еще один контроллер Blynk - контроллер температуры и влажности облака IoT, ESP8266: 4 шага
YABC - Еще один контроллер Blynk - Контроллер температуры и влажности облака IoT, ESP8266: Привет, производители, недавно я начал выращивать грибы дома, вешенки, но у меня уже есть 3x таких контроллера дома для контроля температуры ферментера для моего домашнего пива, жена также сейчас занимается этим чайным грибом, и в качестве термостата для тепла