Мазмуну:

Колдонуучу базалык компьютер: 6 кадам (сүрөттөр менен)
Колдонуучу базалык компьютер: 6 кадам (сүрөттөр менен)

Video: Колдонуучу базалык компьютер: 6 кадам (сүрөттөр менен)

Video: Колдонуучу базалык компьютер: 6 кадам (сүрөттөр менен)
Video: Компьютерди нолдон баштап уйронуу. 1-сабак. Вордду уйронуу 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Ω Reistor (Курамдуу видео үчүн)
  • 1kΩ резистор (курама видео синхрондоштуруу үчүн)
  • 3-пин секирүүчү (видео сигнал үчүн)
  • Passive Buzzer

Keyboord көзөмөлдөө үчүн:

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

Бийлик үчүн:

  • L7805 Voltage Regulator
  • 3мм LED
  • 220Ω резистор (LED үчүн)
  • 2x 0.1µF электролиттик конденсатор
  • 0.22 µF электролитикалык конденсатор (Сиз бул 0.22ди жана 0.1ди 0.33кө алмаштыра аласыз. Мага ошондой эле маанилердин мааниси жок экенин айтышты, бирок мен конденсаторлор менен жакшы эмесмин)
  • 2x 2-пин секирүүчү (кубат киргизүү жана негизги которуштуруу үчүн)

GPIO (Балким, дагы бир нече негиз кошуу):

  • 7-pin Jumper
  • 2x 8-pin Jumper
  • 2-pin Jumper (5V жана GND үчүн)
  • 3-4-pin Jumper (Сериялык байланыш үчүн)

PCB эмес:

  • 4 "ЖК дисплейи Композитивдүү Видео менен (Меники 7-30В ортосунда кирүүчү чыңалууга ээ болгон)
  • Көрсөтүү үчүн 3D басылган кармагыч
  • Кандайдыр бир которуштуруу

2 -кадам: Circuit

Circuit
Circuit

Район абдан сулуу эмес жана негизги IC-регионунун көбү dan14 менен шыктандырылган. Айтор, бул Breadboard схемасындагы абдан түз алдыга Arduino. Клавиатура жөнөкөй тор жана ATmega328 тарабынан башкарылат. Эки AVR чипи UART Serial казыктары аркылуу байланышат.

Сүрөт да, менин Бүркүт файлдарым да тиркелет жана бул схеманы кайра түзүү үчүн жетиштүү болот. Болбосо, мага билдирүүдөн тартынба, мен инструкцияны жаңыртам.

3 -кадам: PCB

ПХБ
ПХБ
ПХБ
ПХБ

ПХБ 2 катмарлуу жана Auto Route (Оо, кандай ** тешик!) Аркылуу түзүлгөн. Анын алдыңкы жагында кнопкалар жана электр көрсөткүчү бар, ал эми артында. Менде ПКБ JCL ПХБ менен жасалган болчу, алар муну менен укмуштуудай иш кылышты. ПХБны кайра түзүү үчүн керектүү файлдар мурунтан эле Eagle файлдарында болушу керек.

Мен ПХБны кайра иштеп чыгууну сунуштайт элем, анткени менде башкача кылгым келген нерселер бар. Эгер сизге менин дизайным жакса, менде дагы деле (жазуу боюнча) төрт колдонулбаган такта бар, мен аларды сатууга даярмын.

Тактада мен LCD дисплейди орнотуу үчүн колдонгон төрт бургулоо тешиги бар.

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 колдондум (жүктөөдө IC Arduino Unoдон алынып салынды).

Код (ArduinoSrc/HAL1284Basic астында) мен үчүн өтө татаал, бирок мен коддун кээ бир бөлүктөрүн өзгөртө алдым:

Мен бир нече буйруктарды коштум (manual.pdf файлында [A] менен белгиленгендер), мен дагы башка командаларды өзгөрттүм:

Тон: Тон буйругу мурун эле Ардуинонун тон функциясын колдонгон, бирок TVout китепканасын колдонгондо, бул зумурдун туура иштебей калышына алып келген. Мен аны TVoutтун тон-функциясын колдонуу үчүн өзгөрттүм, бирок бул тондун пини пин 15 болушу керек дегенди билдирет (atmega1284 үчүн)

Сериялык байланыш: клавиатура DIY болгондуктан, ал каармандарды окуу үчүн сериялык байланышты колдонот. Atmega1284 бул жерде колдонулгандыктан, эки сериялык байланыш линиясы бар жана "серком" иштетилгенде, код ошондой эле сериялык порт аркылуу жазууга мүмкүндүк берет (компьютерден же башка).

Чечим: Бул долбоор үчүн колдонулган монитор абдан дудук, кичине бир чечим керек, болбосо сүрөт жылтылдайт. Эгерде жакшыраак монитор колдонулса, мен орнотуу функциясында токтомду өзгөртүүнү сунуштайт элем.

5 -кадам: Ассамблея

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

Жүктөлгөн код жана ПКБ менен бөлүктөрү даяр болгондо, эми аны чогултуу убактысы келди. Мен колдонгон бардык тетиктер тешиктен өткөн, андыктан ширетүү анча деле кыйын болгон эмес (badass-SMD-soldering-fellas айырмаланып). Монитор PCBдеги төрт бургулоочу тешикке 3D баскыч менен бекитилген. Эгерде башка монитор колдонулса, муну орнотуу үчүн төрт бургулоо тешиги колдонулушу мүмкүн.

Бул жерде колдонулган монитордун кармагычы, ошондой эле, которуштургучту (ПХБдагы "коммутатор" секирүүчүгө туташкан) жана монитордун үч башкаруу баскычын жайгаштыруу үчүн иштелип чыккан. Кармагыч пластикалык М3 болттор жана аралыктар менен бекитилет.

Электр розеткасы үчүн мен JST PCB туташтыргычын колдондум, бирок жылмакай баррель уячасы бир аз жылмакай болмок. Тактага кубат берүү үчүн мен 12В кубаттуулуктун же үч 18650 батарейканын сериясын алмаштырдым. Өзүмө караганда жылмакай ковбой, балким, тактайга батарейка кармагычты иштеп чыгышы мүмкүн.

6 -кадам: Мүчүлүштүктөр жана келечектеги иштер

Жебе баскычтары: Жебе баскычтары кокусунан коюлган жана көп функцияны аткарбайт. Бул навигацияны кыйындатат

File I/O: File I/O мүмкүнчүлүктөрү бар, бирок алар аткарылбайт. Муну менен күрөшүү үчүн HAL1284Com программасы файлдарды тактага жүктөй алат. EEPROMго жүктөө дагы мүмкүн.

PEEK/POKE: PEEK жана POKE текшерилбеген, мен даректери кандай экенин так билбейм.

Break: Break (Esc) кээде чексиз циклдарда болгондо бүт кодду бузат.

Pin 7: PWM pin 7 DWRITE High же AWRITE 255 аракетинде кыйын болушу мүмкүн. AWRITE 254 менен жакшы иштейт.

Идиот: UART1 аркылуу жүктөө да идеалдуу болмок, бирок жүктөө UART0 аркылуу гана мүмкүн, андыктан жүктөө негизги ICди алуу менен жүргүзүлүшү керек. Экран жана Чыңалуу Регулятору 5 көпкө иштеп жатканда бир аз ысып кетет.

Сунушталууда: