Мазмұны:

Қолмен жұмыс істейтін BASIC компьютері: 6 қадам (суреттермен)
Қолмен жұмыс істейтін BASIC компьютері: 6 қадам (суреттермен)

Бейне: Қолмен жұмыс істейтін BASIC компьютері: 6 қадам (суреттермен)

Бейне: Қолмен жұмыс істейтін BASIC компьютері: 6 қадам (суреттермен)
Бейне: Өлді деп жерлемек болған еді. Бірақ Алланың қалауымен тірілген Бала 2024, Шілде
Anonim
Қолмен жұмыс істейтін BASIC компьютері
Қолмен жұмыс істейтін BASIC компьютері
Қолмен жұмыс істейтін BASIC компьютері
Қолмен жұмыс істейтін BASIC компьютері

Бұл нұсқаулықта BASIC жұмыс істейтін шағын портативті компьютерді құру процесі сипатталады. Компьютер ATmega 1284P AVR чипінің айналасында салынған, ол сонымен қатар компьютердің ақымақ атауын шабыттандырды (HAL 1284).

Бұл конструкция бұл жерден табылған керемет жоба мен SuperCON BASIC бейджінен шабыттандырылған.

Компьютерде TinyBasic өзгертілген нұсқасы жұмыс істейді, дегенмен бағдарламалық қамтамасыз етудің көп бөлігі dan14 жобасына негізделген. Сіз, әрине, осы нұсқаулықты ұстануға болады, немесе одан да жақсартуға болады, өйткені мен бірнеше қателіктер жібердім.

Бұл жоба үшін мен нұсқаулықты да құрдым. Ол таңдалған монитордың кейбір қателері мен ерекшеліктерін айтады, бірақ ең бастысы, онда BASIC операцияларының тізімі бар.

Бұл жарияланғаннан кейін мен жобаны көрсететін видео жасадым.

1 -қадам: Мен қолданған бөлшектер

Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер
Мен қолданған бөлшектер

Негізгі IC үшін:

  • ATmega 1284P
  • 16 МГц кристалл
  • 2x 22pf керамикалық конденсатор
  • 10KΩ резистор (бастапқы қалпына келтіру үшін)
  • 4 істікшелі түйме (қалпына келтіру үшін)
  • 470Ω Резистор (композиттік бейне үшін)
  • 1kΩ резистор (композитті бейне синхрондау үшін)
  • 3 істікшелі секіргіш (бейне сигнал үшін)
  • Пассивті дыбыстық сигнал

Пернелер тіркесімін басқару үшін:

  • ATmega 328P (Arduino Uno -да қолданылатындар сияқты)
  • 16 МГц кристалл
  • 2x 22pf керамикалық конденсатор
  • 12x 10KΩ резистор (қалпына келтіру және тарту үшін)
  • 51x 4 істікшелі түйме (нақты пернетақта үшін)

Қуат үшін:

  • L7805 кернеу реттегіші
  • 3 мм жарық диоды
  • 220Ω резистор (жарық диоды үшін)
  • 2x 0.1µF электролиттік конденсатор
  • 0,22 мкФ электролиттік конденсатор (Сіз бұл 0,22 мен 0,1 -ді 0,33 -ке ауыстыра аласыз. Маған мәндердің маңызды емес екенін айтты, бірақ мен конденсаторлармен жақсы емеспін)
  • 2х 2 істікшелі қосқыш (қуат кірісі мен негізгі қосқыш үшін)

GPIO (Мүмкін тағы бірнеше негіз қосар):

  • 7 істікшелі секіргіш
  • 2x 8 істікшелі қосқыш
  • 2 істікшелі қосқыш (5V және GND үшін)
  • 3-4 істікшелі қосқыш (сериялық байланыс үшін)

ПХД емес:

  • Композиттік бейнесі бар 4 дюймдік дисплей (шахтада 7-30 В арасындағы кернеу болды)
  • 3D басып шығаруға арналған ұстағыш
  • Қандай да бір қосқыш

2 -қадам: Цикл

Цикл
Цикл

Схема өте әдемі емес және негізгі IC-аймақтың көп бөлігі dan14-тен алынған. Айтуынша, бұл Breadboard схемасында өте алға бағытталған Arduino. Пернетақта қарапайым тор болып табылады және оны ATmega328 басқарады. Екі AVR чипі UART Serial түйреуіштері арқылы байланысады.

Кескін де, менің Eagle файлдарым да бекітілген және схеманы қайта құру үшін жеткілікті болады деп үміттенемін. Олай болмаса, маған хабарлаңыз, мен нұсқаулықты жаңартамын.

3 -қадам: ПХД

ПХД
ПХД
ПХД
ПХД

ПХД 2 қабатты және Auto Route көмегімен жасалған (О, қандай ** тесік!). Оның алдыңғы жағында түймелері мен қуат индикаторы бар, ал қалғандары артқы жағында. Менде ПХД JCL ПХД -мен жасалды, олар онымен керемет жұмыс жасады. ПХД қайта құру үшін қажет файлдар Eagle файлдарында бұрыннан болуы керек.

Мен сізге ПХД -ны қайта жобалауды ұсынар едім, себебі менде басқаша жасағым келетін нәрселер бар. Егер сізге менің дизайным ұнайтын болса, менде әлі де (жазуда) пайдаланылмайтын төрт тақта бар, мен оларды сатуға дайынмын.

Тақтада мен СКД дисплейін орнату үшін қолданған төрт бұрғылау тесіктері бар.

4 -қадам: кодты жүктеу

Кодты жүктеу
Кодты жүктеу
Кодты жүктеу
Кодты жүктеу
Кодты жүктеу
Кодты жүктеу

Әрине, 1284 -ке де, 328 -ге де код қажет және мен қолданған кодты мына жерден табуға болады: https://github.com/PlainOldAnders/HAL1284 ArduinoSrc/src астында. Мен кодты өзгерту және жүктеу үшін Arduino IDE -ді қолдандым, бірақ мұны жасамас бұрын, IC -де жүктеушілерді өртеу қажет болады:

ATMega328:

Бұл оңай, себебі жүктеушіні қалай жазу және осы IC -ге кодты жүктеу туралы көптеген қолдау бар. Мен әдетте осы нұсқаулықты ұстанамын, себебі мен ерекшеліктерді ұмытып кетемін.

328 коды (ArduinoSrc/пернетақта астында) өте қарапайым. Ол толығымен Adafruit_Keypad-master- кітапханасына сүйенеді. Егер lib туралы бірдеңе өзгерсе, мен өзімнің github-бетімде қолданған нұсқаны ArduinoSrc/lib астына енгіздім.

ATmega1284:

IC -ды алғаш алған кезде бұл маған біраз қиын болды. Мен жүктеушіні осы жерден ала бастадым және орнату нұсқаулығын орындадым. Жүктегішті өртеу үшін мен 328 -дегідей жасадым және осы жерден көмек алдым. Екі IC үшін мен жүктеуші жүктеу үшін де, код жүктеу үшін де Arduino Uno қолдандым (жүктеу кезінде Arduino Uno ішінен IC жойылды).

Код (ArduinoSrc/HAL1284Basic астында) мен үшін өте күрделі, бірақ мен кодтың кейбір бөліктерін өзгерте алдым:

Мен бірнеше команданы қостым (manual.pdf файлында [A] таңбасы бар), мен басқа командаларды өзгерттім:

Тон: Тон пәрмені бұрын Arduino-ның тон-функциясын қолданды, бірақ TVout кітапханасын пайдаланған кезде бұл дыбыстық сигналдың дұрыс жұмыс істемеуіне әкелді. Мен оны TVout дыбыс функциясын пайдалану үшін өзгерттім, бірақ бұл тонус түйрегіші 15-ші пин болуы керек дегенді білдіреді (atmega1284 үшін)

Сериялық байланыс: Пернетақта DIY болғандықтан, ол символдарды оқу үшін сериялық байланысты қолданады. Бұл жерде atmega1284 қолданылғандықтан, екі сериялық байланыс желісі бар, ал «серком» қосылған кезде код сонымен қатар сериялық порт арқылы жазуға мүмкіндік береді (компьютерден немесе кез келген).

Ажыратымдылық: бұл жоба үшін пайдаланылатын монитор өте мылқау, ал кішкене ажыратымдылық қажет, әйтпесе сурет жыпылықтайды. Егер жақсы монитор қолданылса, мен орнату функциясында ажыратымдылықты өзгертуді ұсынар едім.

5 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Жүктелген код, ПХД мен бөлшектер дайын болғанда, енді жинау уақыты келді. Мен қолданған барлық бөлшектер тесік арқылы өткізілді, сондықтан дәнекерлеу қиынға соқпады (сол жерде SMD-дәнекерлеушілерден айырмашылығы). Монитор 3D басылған ұстағышпен ПХД төрт бұрғылау тесіктеріне бекітілген. Егер басқа монитор қолданылса, оны бұрғылау үшін төрт бұрғылауды қолдануға болады.

Мұнда пайдаланылатын монитор ұстағышы, сонымен қатар, қосқышты (ПХД -дағы «қосқыш» қосқышына қосылған) және монитордың үш басқару түймесін орналастыруға арналған. Ұстағыш М3 пластикалық болттармен және аралықтармен бекітіледі.

Қуат ашасы үшін мен JST PCB қосқышын қолдандым, бірақ тегіс бөшке ұясы біршама тегіс болар еді. Тақтаны қуаттандыру үшін мен 12В қуат көзінен немесе 18650 батареядан үшке ауыстырдым. Өзімнен гөрі тегіс ковбой тақтаға арналған батарея ұстағышын жасай алады.

6 -қадам: қателер және болашақ жұмыс

Көрсеткі пернелері: Жебе пернелері кездейсоқ қойылған және көп қызмет етпейді. Бұл навигацияны қиындатады

Файлды енгізу -шығару: файлды енгізу -шығару мүмкіндіктері бар, бірақ олар орындалмайды. Бұған қарсы күресу үшін HAL1284Com бағдарламалық қамтамасыз ету файлдарды тақтаға жүктей алады. EEPROM -ге жүктеу мүмкіндігі де бар.

PEEK/POKE: PEEK және POKE тексерілмеген, мен мекен -жайлардың қандай екеніне сенімді емеспін.

Үзіліс: үзіліс (Esc) кейде шексіз циклдарда болғанда бүкіл кодпен шатастырады.

7 -түйреуіш: PWM 7 түйрегіші DWRITE High немесе AWRITE 255 кезінде қиын болуы мүмкін. Ол AWRITE 254 көмегімен жақсы жұмыс істейді.

Идиот: UART1 арқылы жүктеу мүмкін болар еді, бірақ жүктеу тек UART0 арқылы мүмкін, сондықтан жүктеуді негізгі IC алу арқылы жасау керек. Экран мен кернеу реттегіші 5 ұзақ уақыт жұмыс істегенде шамадан тыс қызып кетеді.

Ұсынылған: