Съдържание:

Основен компютър Arduino с телевизионен изход: 5 стъпки (със снимки)
Основен компютър Arduino с телевизионен изход: 5 стъпки (със снимки)

Видео: Основен компютър Arduino с телевизионен изход: 5 стъпки (със снимки)

Видео: Основен компютър Arduino с телевизионен изход: 5 стъпки (със снимки)
Видео: Стоян колев се кара с яница 2024, Юни
Anonim
Image
Image
Основен компютър Arduino с телевизионен изход
Основен компютър Arduino с телевизионен изход
Основен компютър Arduino с телевизионен изход
Основен компютър Arduino с телевизионен изход
Основен компютър Arduino с телевизионен изход
Основен компютър Arduino с телевизионен изход

В тази инструкция ще покажа как да се изгради ретро 8-битов компютър, работещ с BASIC, чрез два Arduino и няколко други компонента.

Можете да въведете променливите и програмата BASIC с клавиатура PS2, а изходът се показва на монитор с текст 47 колони x 29 реда с 8x8 пиксела знаци (черно -бяло), резолюция, подобна или по -добра от Commodore 64, равна на 40 x 25 знака.

Можете да го видите в действие в горния видеоклип.

След това програмата може да бъде записана в EEPROM на Arduino и все още можете да контролирате I/O пиновете директно чрез основни команди.

Един Arduino е "майстор" и работи с Tiny Basic Plus, C изпълнение на Tiny Basic, с фокус върху поддръжката на Arduino. Той също така контролира PS2 клавиатура. След това изходът се изпраща през серийния порт към втория Arduino, който генерира видео изхода благодарение на страхотната библиотека MRETV.

Идеята да се използва един или повече Arduino за създаване на компютър в стар стил с диалект на Basic не е нова, но засега има някои силни ограничения в изходната резолюция. В някои проекти, достъпни в мрежата, хората използват LCD дисплеи, докато в други, за да позволят използването на монитори, е използвана библиотеката TVout, която има много по -ниска разделителна способност. Освен това в много от тези проекти трябва да бъдат изградени специални щитове или хардуер.

Тук имате нужда само от два Arduino, няколко диода, няколко резистора и конектора за PS2 клавиатурата и монитора, както е показано на горната снимка.

Стъпка 1: Изградете Arduino Master с TinyBasic и PS2 клавиатура

TinyBasic Plus и MRETV работят за по -възрастни - и различни - Arduino IDE.

Първо изтеглете IDE 1.6.4 от официалната уеб страница на Arduino. Ако имате по -нови версии на вашия компютър, най -добре е да го изтеглите във формат.zip и да ги декомпресирате на вашия компютър. Щракнете върху тази връзка, за да изтеглите версията на Windows.

След това се нуждаете от библиотеката за клавиатура PS2. Можете да го намерите в долната част на тази страница. Просто го декомпресирайте и копирайте папката PS2keyboard в: arduino-1.6.4 / libraries

И накрая, на тази страница изтеглете файла: TinyBasicPlus_PS2.ino, декомпресирайте и го качете на вашия Arduino.

Това е вариант на стандартния TinyBasic Plus, където добавих PS2 библиотеката и промених кода, за да приема променливата от нея.

Повече подробности за TiniBasic Plus и уроци можете да намерите на тази връзка.

Ако няма проблеми и проблеми със съвместимостта, Tiny Basic вече работи. Можете да го тествате чрез сериен монитор на вашия компютър. За тази цел използвам PuTTY, но са налични много други програми.

Трябва да зададете правилния COM порт (той е същият, който намирате в IDE на Arduino) и скорост на предаване = 2400

Тук вече можете да тествате някоя програма в Basic, само като ги въведете с клавиатурата на компютъра си (NB по -късно ще покажа как да свържете PS2 клавиатурата директно към Arduino).

Опитайте например:

10 ПЕЧАТИ "Здравей, Свят!"

20 ИДЕТЕ 10

ТЕЧЕТЕ

След това можете да спрете безкрайния цикъл, само като въведете ctrl+c. Обърнете внимание, че тази комбинация няма да работи за PS2 клавиатурата.

В следващата стъпка ще покажа как да свържете PS2 клавиатурата към Arduino.

Стъпка 2: Свържете PS2 клавиатурата към Master Arduino

Свържете клавиатурата PS2 към Master Arduino
Свържете клавиатурата PS2 към Master Arduino

Получих цялата информация и библиотека от този Instructable.

По същество трябва да свържете следните четири щифта:

  • клавиатурни данни към Arduino pin 8,
  • клавиатура IRQ (часовник) към Arduino pin 3;
  • разбира се, трябва да свържете GND и +5V.

Взех стар женски конектор за PS2 от счупена дънна платка на компютър. Можете просто да го разпродадете с термопистолет.

На снимката, показана в тази стъпка, можете да намерите функцията на необходимите щифтове на конектора PS2.

Стъпка 3: Качете библиотеката MRETV на втория Arduino и сложете всичко заедно

Качете библиотеката MRETV на втория Arduino и сложете всичко заедно
Качете библиотеката MRETV на втория Arduino и сложете всичко заедно

Ключовият момент на този проект е съществуването на страхотната библиотека MRETV. Има специален Instructable, където е описан подробно.

Той използва само два резистора и два диода за генериране на видео на цял екран, с текстова резолюция 47 x 29 от 8x8 знака. Както се казва във въведението, "генерирането на видео е правено и преди, но не по този начин. ПЪЛЕН DUPLEX сериал все още е наличен при генериране на видео". Това позволява да се получат данните от "главния" Arduino и да се покажат на монитора. На практика този втори "роб" Arduino се използва като графичен интерфейс!

Тъй като MRETV работи за IDE 1.6.6, изтеглете го от официалната уеб страница на Arduino. Отново най -добре е да го изтеглите във формат.zip и да ги декомпресирате на вашия компютър. Щракнете върху тази връзка, за да изтеглите версията на Windows.

След това изтеглете библиотеката MRETV от тази връзка.

Декомпресирайте го и запишете папката "MRETV" в: arduino-1.6.6 / libraries

Накрая изтеглете TVtext_slave.rar в долната част на тази страница, декомпресирайте го и качете във вашия Arduino slave.

Ако няма съобщение за грешка, можете да свържете RCA конектора. Имате нужда от двата диода и резисторите от 1 kOhm и 300 Ohm, както е показано на схемата на тази страница.

В този момент можете да свържете всичко заедно.

Пълният списък на материалите е:

  • два Arduino Uno Rev. 3 или два Arduino Nano 3.x (ATmega328)
  • два резистора 1 kOhm
  • един резистор 300 ома
  • два диода 1n4148 (x2) или подобен диод за превключване на силиций
  • два RCA конектора (един за видео, един - факултативен - за аудио)
  • женски конектор PS2
  • макет и проводници

Главният Arduino изпраща данните към подчиненото устройство през оранжевия кабел, т.е. Ако трябва да качите отново някакъв код, първо трябва да изключите този кабел.

След това свържете подчинения arduino към 5V захранване, RCA кабела към телевизора и клавиатурата към PS2 и сега трябва да видите кода към вашия телевизор!

Функциите на този основен диалект са описани подробно в началната му страница (вижте връзката в стъпка 2). С командите "esave" и "eload" можете да запишете една основна програма в EEPROM. Тази програма се изпълнява по подразбиране всеки път, когато нулирате главния Arduino. За да го изтриете, можете да използвате командата "eformat".

Една от най -важните характеристики на тази програма е, че все още можете да управлявате главния Arduino I/O със специални основни команди, като например

  • DWRITE щифт, стойност - задайте щифт със стойност (HIGH, HI, LOW, LO)
  • AWRITE щифт, стойност - задайте щифт с аналогова стойност (pwm) 0..255
  • DREAD (щифт) - получавате стойността на щифта
  • AREAD (analogPin) - получавате стойността на аналоговия щифт

По този начин можете да напишете програма в Basic, която управлява определен хардуер, да я запишете в EEPROM и след това да я стартирате автоматично, само да нулирате Arduino.

Стъпка 4: По избор: Използване на печатна платка

По избор: Използване на печатна платка
По избор: Използване на печатна платка
По избор: Използване на печатна платка
По избор: Използване на печатна платка
По избор: Използване на печатна платка
По избор: Използване на печатна платка

Можете също така да създадете този основен компютър, като използвате малка печатна платка. Можете да се вдъхновите от снимките в тази стъпка или дори да отпечатате дъската си.

Можете да използвате две женски ленти за заглавки с 15 дупки за видео изхода Arduino, докато за майстора предлагам да използвате четири ленти. По този начин можете да използвате външните, за да вмъкнете контактите на компонентите на вашия проект.

Също така добавих в центъра към останалите ленти, едната свързана към 5 V, а другата за GND.

И накрая, във файла.rar можете да намерите маските за гравиране на медна дъска.

Стъпка 5: Последни коментари и признания

Този проект не би могъл да бъде направен без библиотеката MRETV. По този начин основното ми признание е към неговия автор, който използва акронима г -н Е.

Много благодаря и на авторите на TinyBasic Plus:

  • Tiny Basic 68k - Gordon Brandly
  • Arduino Basic / Tiny Basic C - Майкъл Фийлд
  • Tiny Basic Plus - Скот Лорънс

Благодаря и на "djsadeepa", автора на Instructable за свързването на PS2 клавиатурата.

На всички хора, които се интересуват от този проект: по -лесно е да се изгради така, че да изглежда на пръв поглед. Основните ми проблеми бяха със съвместимостта с Arduino IDE. Ако имате проблеми, не се колебайте да попитате предложения в коментарите.

Ако успеете, моля, напишете коментар или споделете снимка на устройството, което изграждате.

Препоръчано: