Mundarija:

DemUino - uy kompyuteri/boshqaruvchi: 7 qadam
DemUino - uy kompyuteri/boshqaruvchi: 7 qadam

Video: DemUino - uy kompyuteri/boshqaruvchi: 7 qadam

Video: DemUino - uy kompyuteri/boshqaruvchi: 7 qadam
Video: Крутые идеи! Самоделки из болгарки! Расширяем функционал УШМ 2024, Iyul
Anonim
Image
Image
Bootloader -ni yoqish
Bootloader -ni yoqish

DemeterArt tomonidan Arduino -dan ilhomlangan kompyuter, eski PS2 klaviaturasidan maksimal darajada foydalaning. Vazifalarni boshqarish uchun uni shaxsiy kompyuterga joylashtiring! Men har doim o'z shaxsiy kompyuterimni yaratishni xohlardim, xuddi retro uslubida, lekin o'z xohish-istaklarimga mos keladigan maxsus imkoniyatlar bilan. Shunday qilib, men bunga atmega328 MCU va Arduino ishlab chiqish to'plami bilan erishdim.

Aytishim kerakki, agar loyiha o'zboshimchalik bilan hamma uchun bepul dasturiy ta'minot kutubxonalarini etkazib beradigan iqtidorli muxlislar bo'lmaganida, shubhali yakuniy natijalar bilan ancha uzoqroq bo'lardi. Hammaga rahmat:-)

hikoyani to'liq o'qish va tegishli fayllarni yuklab olish uchun mening saytimga tashrif buyuring

www.sites.google.com/site/demeterart

1 -qadam: Xususiyatlar

  • 32KB fleshli, 2KB SRAM va 1KB EEPROMli ATMEGA328 asosida.
  • interaktiv va ommaviy rejimlarni qo'llab -quvvatlash
  • qator muharriri va ro'yxatni tahrirlash rejimi
  • Foydalanuvchi grafikasi uchun 8 ta maxsus belgi
  • 00,…, 99 raqamli 60 ta dastur qadami
  • "If" shartli, "while" va "for" tsikllari, shuningdek "goto" va "sub" iboralari tarmoqlanish uchun.
  • Asosiy arifmetik va matematik ifodalar, shuningdek, mantiqiy testlar
  • tizim o'zgaruvchilari vaqtli hodisalarga, o'rtacha, rms, analog pinlardan min va maksimal qiymatlarga va boshqalarga ruxsat beradi
  • Tizim o'zgaruvchilari va buyruqlari bilan o'zaro aloqada bo'lish uchun 26 foydalanuvchi o'zgaruvchisi
  • 104 baytli foydalanuvchi manzilli qatori yoki 52 qisqa tamsayı
  • dastur ma'lumotlarini, shuningdek kodni o'qish/yozish qobiliyati (p o'zgaruvchisi)
  • soxta grafikalar uchun moslashtirilgan belgilar bilan mini osiloskop dasturi
  • dasturlarni va ma'lumotlarni EEPROM -ga saqlash va yuklash
  • dasturlarni va o'zgaruvchilarni kompyuterga yuklash/saqlash
  • autoexec har bir qayta o'rnatilgandan so'ng EEPROM -dan dasturni yuklash va ishga tushirish
  • Tashqi DB15 ulagichida 9 ta GPIO pin (SPI kiritilgan) mavjud
  • Ovoz effektlari uchun BUZZER

2 -qadam: Sizga kerak bo'lgan narsalar

Qalinligi eski PS/2 klaviaturasi, LCD displeyli displeyni (mashhur parallel format) joylashtirishga imkon beradi, MAX232 chipi RS232 porti uchun ATMga328PU Arduino ishlab chiqarish to'plami bilan IDE 1.0.1 LM7805 regulyatori 5V signalli ko'prikni to'g'rilash moslamasi, kondansatörler, reset tugmachasi, ulagichlar va boshqalar

3 -qadam: Bootloader -ni yoqish

Shunday qilib, "bo'sh" atmega328PU chipini sotib olgandan so'ng, qaror qabul qilinadi. Men maxsus dasturchidan tashqi yoki Internet -provayderdan foydalanayapmanmi yoki Arduino bootloaderni yirtqichga yoqib, UART porti orqali qurilmani dasturlashtira olamanmi? Men hayotimni osonlashtirish uchun ikkinchisini tanladim! Yangi bootloader faqat yarim kilobaytli flesh xotirani egallaydi, bu esa 31KB dan oshib ketadigan foydalanuvchi dasturi va statik ma'lumotlarga ega. Arduino sayti yuklovchini yangi chipda yoqish holatini o'z ichiga oladi, chunki avrdude -dan foydalanib, maqsadli chipni yoqish jarayoni aniq MCU uchun noto'g'ri identifikatorni ko'rsatuvchi xato bilan muvaffaqiyatsiz tugadi. Shunday qilib, bir muncha qidiruvdan so'ng, men to'g'ri topgan odamni topdim va uning tartibiga amal qildim. Yagona farq, avrdude va arduino IDE 1.0.1 uchun zarur bo'lgan 2 konfiguratsiya fayli, avrdude.conf va board.txt edi. 2 ta faylni kerakli joyiga ko'chirgandan so'ng (avval eskilarini zaxiralang) asboblar panelidagi 'arduino328' opsiyasi mavjud edi va sug'urta va yuklagichni yoqish davom etdi. Endi chip yangi mashina ichidan dasturlash uchun tayyor!

4 -qadam: Qurilmani qurish

Birlikni qurish
Birlikni qurish
Birlikni qurish
Birlikni qurish

Chiziqlar uchun DIP rozetkali tezkor yig'ish eritmasi sifatida mis chiziqli teshilgan taxta ishlatilgan. Keyin ulagichlar uchun teshiklar va kesmalar, reset tugmasi va LCD displey klaviaturaning o'ta mustahkam va qalin plastmassasi orqali ochildi. Ha, bu 25 yil oldin qurilgan! Kompyuterdan turli xil tashqi qurilmalarga to'g'ri keladigan simlarning izdan chiqishi kuzatildi. Oddiy uzluksizlik tekshiruvi va keyin rozetkalarning to'g'ri kuchlanishini tekshirish uchun hech qanday chiplarsiz ta'minot ulandi. Keyin 2 ta IC kirdi va klaviatura korpusi pastki qismidagi plastik qisqichlari orqali mahkam yopildi. Qurilma tekshirgichdagi eskizlarni yoqishga tayyor edi!

Men MAX232 zaryad nasoslari uchun polar bo'lmagan 1uF/16V kondansatkichlardan foydalanishni taklif qilaman. Ikkita chip uchun 100nF ajratuvchi kondansatkichlarni tegishli VCC va GND pinlariga iloji boricha yaqinroq joylashtiring. LM7805 regulyatoriga havola qilingan kuch va tuproq uchun yulduzli ulanishdan foydalaning. 2 -tugma o'tish joyiga qarab o'tish moslamasi bo'lishi mumkin, lekin ba'zi hollarda, agar kompyuterda istalmagan MCU qayta tiklanishining oldini olish kerak bo'lsa, yaxshi bo'ladi. Qanday bo'lmasin, Arduino IDE -ga maqsadli MCU -ni qayta tiklash orqali eskizni yoqish uchun kalit yopilishi kerak (RS232 -ning DTR -pin). Mening vaziyatimda aloqa doimiy (har doim yopiq). Haydash eshigidan sig'imning bir nechta nFsini ajratish uchun signal signallari uchun ketma-ket rezistorni ishlating … siz hech qachon bilmaysiz.. XTAL va yuklanadigan 18-22pF kondansatkichlarini tekshirgichning tegishli pinlariga iloji boricha yaqinroq joylashtiring.

Rektifier ko'prigi tufayli qurilma AC va DC quvvat adapterlari bilan quvvatlanishi mumkin. DC bo'lsa, adapter va regulyatorga kirish o'rtasida 1,5 V kuchlanish pasayishi kuzatiladi. AC bo'lsa, regulyatorning kirishi adapterning RMS chiqishidan 1,4 baravar ko'p yoki yuklanish tufayli kamroq bo'ladi. Agar regulyatorning kirishi va chiqishi (+5V) o'rtasidagi farq katta bo'lsa, aytaylik, 7 volt, keyin regulyator tomonidan iste'mol qilinadigan quvvat 0,5 vattga yaqinlashadi va chipni o'rnatadigan kichik radiatordan foydalanish yaxshiroqdir joy bor) issiq havoda uzoq vaqt ishlash uchun.

AC kirish sug'urtasi sizning tashqi yuklamalaringizga qarab tanlanishi mumkin (DB15 ulagichi orqali). Sigortani tanlashga ta'sir etuvchi boshqa omillar - LCD displeyining LED yoritgichi uchun oqim cheklovli rezistor, zaryadlovchi oqimi uchun ko'prikli kondansatkich va etkazib beruvchi transformatorning joriy quvvati.

5 -qadam: Sxematik

Sxematik
Sxematik

6 -qadam: bortda dasturiy ta'minotni ishga tushirish

Bu hamma narsani amalga oshiradigan eskiz … va 32KB etarli emas! Siz uni o'zgartirmasdan ishlatishingiz mumkin, bu holda men o'z ismimga havolani qadrlayman yoki xohlaganimcha o'zgartiraman va meni unutaman;-)

Bu mashina haqida batafsil hujjat.

Buyruqlar va ifodalarning qisqacha mazmuni

: Chop etilmaydigan izoh liniyasi

ai: 0 uzilishni biriktiring (pin D2)

ar: analog o'qish

aw: arduino yoki to'g'ri aytganda pwm uchun "analog yozish"

ca: massivda analog yozish

cl: displeyni tozalaydi cno: return *qator raqamining Prgm indeksi

di: bir qator impulslarni kuting va davomiyligi va vaqtini o'lchang

dl: kechikish

qil: "wh" bilan birgalikda

dr: raqamli har qanday pinni o'qish

dw: har qanday pinni raqamli yozish

ed: tahrirlash rejimi / kompyuterdan yuklash dasturi / qayta raqamlash liniyalari

el: EEPROM kirish funktsiyasi

oxiri: dasturning END bayonoti

ensb: subroutine tugaydi

es: EEPROM kirish funktsiyasi

fl: oddiy harakatlanuvchi o'rtacha filtr

fr: keyingi davr (fr-nx)

borish: dastur bosqichiga o'tish

gosb: bajarishni subroutine ga davom ettiring

gt: foydalanuvchi kirishini kutadi

agar: sinov sharti va qadamga sakrash

io: GPIO 1-9 bit

ld: EEPROM dan yuklash/birlashtirish dasturi

lp: interaktiv rejimda klaviatura boshqariladigan pastadir

ls: ro'yxat rejimi / dasturni kompyuterga bir vaqtning o'zida yuborish

ml: vaqt toping

mm: bo'sh xotirani ko'rsatish

nos: raqamni mag'lubiyatga o'zgartiradi

nx: "fr" bilan birgalikda

pl: cxx massivining uchastkasi

pm: kirish yoki chiqish uchun pinlarni o'rnating

pr: xabar yoki qiymat yoki maxsus belgini chop etadi

rgc: massivlar uchun diapazondan nusxa ko'chirish buyrug'i

rgs: massivlar uchun diapazonni o'rnatish buyrug'i

rn: dasturni RAMda ishga tushirish

rs: yumshoq qayta o'rnatish

rx: RS232 orqali belgini olish

si: soat va ma'lumotlar pinlari bilan sinxron ketma -ket kirish

sm: mini osiloskop ilovasi sno: qatorni raqamga o'zgartiradi

shunday: soat va ma'lumotlar pinlari bilan sinxron ketma -ket chiqish

sub: subroutine e'lon qiladi

sv: dasturni EEPROM -ga saqlang

tn: ohangli signal

tx: raqamni RS232 orqali uzatish

wh: do-while loopi "do" bilan birgalikda ishlatiladi

7 -qadam: "Sm" mini -ilovasining videoklipi

hikoyani to'liq o'qish va barcha tegishli fayllarni yuklab olish uchun mening saytimga tashrif buyuring

www.sites.google.com/site/demeterart

Tavsiya: