Cuprins:

DemUino - Computer / Controller de acasă: 7 pași
DemUino - Computer / Controller de acasă: 7 pași

Video: DemUino - Computer / Controller de acasă: 7 pași

Video: DemUino - Computer / Controller de acasă: 7 pași
Video: Part 1 - The Wind in the Willows Audiobook by Kenneth Grahame (Chs 01-05) 2024, Iulie
Anonim
Image
Image
Arderea Bootloader-ului
Arderea Bootloader-ului

Un computer inspirat de Arduino de DemeterArt Profitați la maximum de vechea dvs. tastatură PS2. Hack-l într-un computer personalizat personalizat pentru a controla lucrurile! Întotdeauna mi-am dorit să-mi construiesc propriul computer de acasă, un fel de stil retro, nimic elegant, dar cu capacități speciale adaptate preferințelor mele. Așadar, am ajuns la asta cu atmega328 MCU și cu kitul de dezvoltare Arduino.

Permiteți-mi să precizez că acest proiect ar fi durat mult mai mult, cu rezultate finale dubioase, dacă nu ar fi fanii supradotați de acolo care egoist furnizează mai puțin bibliotecile gratuite pentru a fi utilizate de toată lumea. Va multumesc tuturor:-)

vizitați site-ul meu pentru a citi întreaga poveste și pentru a descărca toate fișierele relevante

www.sites.google.com/site/demeterart

Pasul 1: caracteristici

  • Bazat pe ATMEGA328 cu 32KB flash, 2KB SRAM și 1KB EEPROM.
  • suport pentru moduri interactive și batch
  • editor de linii și mod list-while-edit
  • 8 caractere personalizate pentru grafica utilizatorului
  • 60 de pași de program numerotați 00,…, 99
  • „Dacă” este condiționat, „în timp ce” și „pentru” bucle plus instrucțiuni „trec” și „sub” pentru ramificare
  • Expresii aritmetice și matematice de bază plus teste booleene
  • variabilele de sistem permit evenimente temporizate, valori medii, rms, min și max de la pinii analogici etc.
  • 26 de variabile de utilizator pentru a interacționa cu variabilele de sistem și comenzi
  • 104 octeți dintr-o matrice adresabilă utilizatorului sau 52 de numere întregi scurte
  • capacitatea de a citi / scrie date ale programului, precum și codul din mers (variabila p)
  • aplicație mini osciloscop cu caractere personalizate pentru pseudo-grafică
  • salvați și încărcați programe și date în / din EEPROM
  • încărcați / salvați programe și variabile de la / la PC
  • autoexec în încărcarea și rularea unui program de la EEPROM după fiecare resetare
  • 9 pini GPIO (SPI inclus) disponibile pe conectorul DB15 extern
  • BUZZER pentru efecte sonore

Pasul 2: Lucruri de care veți avea nevoie

O tastatură ps / 2 veche suficient de groasă pentru a găzdui afișajul de caractere LCD al PCB (popularul format paralel) Cip MAX232 pentru portul RS232 atmel atmega328PU Kit de dezvoltare Arduino cu regulator IDE 1.0.1 LM7805 redresor 5V buzzer bridge, condensatori, un buton de resetare, conectori etc.

Pasul 3: Arderea Bootloader-ului

Deci, după ce ați cumpărat un cip atmega328PU „gol”, trebuie luată o decizie. Folosesc un programator special fie extern, fie ISP sau arde bootloader-ul Arduino în bestie și redau unitatea programabilă prin portul său UART? L-am ales pe acesta din urmă pentru a-mi ușura viața! Noul bootloader ocupă doar o jumătate de kilobyte de memorie flash, lăsând puțin mai mult de 31 KB de programe de utilizator și date statice disponibile. Site-ul Arduino acoperă cazul arderii încărcătorului de încărcare pe un nou cip, când a venit să folosească avrdude pentru a arde de fapt cipul țintă, procesul a eșuat cu o eroare care indică ID-ul greșit pentru MCU-ul respectiv. Așadar, după câteva cercetări, l-am găsit pe tipul care a înțeles și i-am urmat procedura. Singura diferență a fost 2 fișiere de configurare, avrdude.conf și boards.txt necesare avrdude și arduino IDE 1.0.1 pentru a face acest lucru posibil. După ce ați copiat cele 2 fișiere în locațiile lor corecte (copiați mai întâi cele vechi), opțiunea „arduino328” din instrumente-> Placă a fost disponibilă și avrdude a continuat cu arderea siguranțelor și a bootloader-ului. Acum cipul este gata să fie programat din noua mașină!

Pasul 4: Construirea unității

Construirea Unității
Construirea Unității
Construirea Unității
Construirea Unității

O placă perforată cu benzi de cupru a fost folosită ca soluție de asamblare rapidă cu prize DIP pentru așchii, știi, pentru orice eventualitate! Apoi găurile și tăieturile pentru conectori, butonul de resetare și afișajul LCD au fost deschise prin plasticul extrem de robust și gros al tastaturii. Da, a fost construit acum 25 de ani! A urmat mizeria firelor care ieșeau din PCB către diferitele periferice. O verificare de continuitate rudimentară și apoi alimentarea a fost conectată fără cipuri populate doar pentru a verifica prizele de tensiuni adecvate. Apoi au venit cele 2 circuite integrate și carcasa tastaturii a fost ferm închisă prin intermediul butoanelor de plastic din partea de jos. Unitatea era gata să ardă schițe în controler!

Vă sugerez să folosiți condensatori nepolari 1uF / 16V pentru pompele de încărcare MAX232. Localizați condensatorii de decuplare 100nF pentru cele două cipuri cât mai aproape posibil de pinii VCC și GND respectivi. Utilizați o conexiune stea pentru alimentare și împământare la care se face referire la regulatorul LM7805. Comutatorul 2 ar putea fi un jumper în funcție de impementare, dar este bine să aveți doar pentru a evita resetările MCU nedorite de pe computerul gazdă în anumite cazuri. În orice caz, comutatorul trebuie închis pentru a permite Arduino IDE să ardă schița prin resetarea MCU-ului țintă (pinul DTR al RS232). În cazul meu conexiunea este permanentă (întotdeauna închisă). Utilizați un rezistor de serie pentru buzzer pentru a izola mai mulți nF de capacitate de la poarta de conducere … nu știți niciodată.. Localizați XTAL și condensatoarele de încărcare 18-22pF cât mai aproape posibil de pinii respectivi ai controlerului.

Datorită punții redresoare, unitatea poate fi alimentată atât de adaptoare de curent alternativ, cât și de curent continuu. În caz de curent continuu, există o cădere de tensiune de 1,5 V între adaptor și intrarea în regulator. În caz de curent alternativ, intrarea regulatorului este de aproximativ 1,4 ori ieșirea RMS a adaptorului sau mai mică din cauza încărcării. Dacă diferența dintre intrarea regulatorului și ieșirea acestuia (+ 5V) este mare, să spunem 7 volți, atunci puterea consumată de regulator se apropie de 0,5 wați și este mai bine să utilizați un mic radiator pe care să montați cipul (furnizat există spațiu pentru aceasta) pentru ore lungi de funcționare pe timp cald.

Siguranța de intrare CA poate fi selectată în funcție de sarcinile externe (prin conectorul DB15). Alți factori care influențează alegerea siguranței sunt rezistența de limitare a curentului pentru lumina de fundal LED a LCD-ului, condensatorul de punte pentru curentul de încărcare și capacitatea curentă a transformatorului de alimentare.

Pasul 5: SCHEMATIC

SCHEMATIC
SCHEMATIC

Pasul 6: SOFTWARE RUNNING ONBOARD

Aceasta este schița care face ca totul să se întâmple … și 32KB NU este suficient! Puteți să-l utilizați nemodificat, caz în care aș aprecia o referință la numele meu, sau îl puteți schimba după bunul plac și uitați de mine;-)

Aceasta este documentația detaliată despre aparat.

Rezumatul comenzilor și expresiilor

„: O linie de comentariu neprimabilă

ai: atașați întreruperea 0 (pinul D2)

ar: citire analogică

aw: ‘scriere analogică’ pe arduino sau mai corect pwm

ca: captură analogică într-o matrice

cl: șterge afișajul cno: return * Prgm indexul numărului de linie

di: așteptați o serie de impulsuri și măsurați durata și sincronizarea

dl: întârziere

face: împreună cu „wh”

dr: digital citeste orice pin

dw: digital scrie orice pin

ed: modul editor / încărcați programul de pe PC / renumerați liniile

el: funcția de acces EEPROM

end: declarația END a unui program

ensb: se termină subrutina

es: funcție de acces EEPROM

fl: filtru mediu mobil simplu

fr: pentru următoarea buclă (fr-nx)

du-te: treci la pasul programului

gosb: continuați executarea la subrutină

gt: așteaptă introducerea utilizatorului

dacă: testați starea și treceți la pas

io: GPIO 1-9 biți

ld: încărcați / îmbinați programul din EEPROM

lp:: buclă controlată de tastatură în modul interactiv

ls: mod listă / trimitere program pe computer o linie la un moment dat

ml: obține timp

mm: afișează memorie liberă

nos: convertește numărul în șir

nx: împreună cu „fr”

pl: plot array cxx

pm: setați pinii pentru intrare sau ieșire

pr: tipărește un mesaj sau o valoare sau un caracter personalizat

rgc: comanda de copiere a intervalului pentru tablouri

rgs: comanda range set pentru tablouri

rn: rulați programul în RAM

rs: resetare soft

rx: primiți un caracter prin RS232

si: intrare serială sincronă cu ceas și pini de date

sm: mini osciloscop app sno: convertește șirul în număr

deci: ieșire serială sincronă cu ceas și pini de date

sub: declară subrutina

sv: salvați programul în EEPROM

tn: semnal sonor

tx: transmiteți un număr prin RS232

wh: o buclă do-while utilizată împreună cu „do”

Pasul 7: Videoclipul Mini App 'sm' rulează

vizitați site-ul meu pentru a citi întreaga poveste și pentru a descărca toate fișierele relevante

www.sites.google.com/site/demeterart

Recomandat: