Cuprins:
- Pasul 1: caracteristici
- Pasul 2: Lucruri de care veți avea nevoie
- Pasul 3: Arderea Bootloader-ului
- Pasul 4: Construirea unității
- Pasul 5: SCHEMATIC
- Pasul 6: SOFTWARE RUNNING ONBOARD
- Pasul 7: Videoclipul Mini App 'sm' rulează
Video: DemUino - Computer / Controller de acasă: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
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
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
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:
Cum se face senzorul de vibrații de primăvară acasă !: 5 pași (cu imagini)
Cum se face senzorul de vibrație de primăvară acasă !: Lucram la un nou proiect care implică un senzor de vibrație de primăvară, cunoscut sub numele de „omul sărac” accelerometru / senzor de mișcare! Aceste comutatoare cu arc de vibrație sunt comutatoare declanșatoare induse de vibrații cu sensibilitate ridicată. În interior este un
Sistem de sunet acasă: 6 pași (cu imagini)
Home Sound System: acest sistem audio este simplu de realizat și ieftin (mai puțin de 5 USD plus câteva materiale recuperate găsite în atelierul meu). Permite o audiție suficient de puternică pentru o cameră mare. Ca surse de semnal pot fi utilizate: -Bluetooth de pe orice telefon mobil telefon. -MP3 dintr-un memoriu
Adăugați un monitor de utilizare la un termostat de acasă: 4 pași
Adăugați un monitor de utilizare la un termostat de acasă: cu mult timp în urmă, mult înainte de a exista un astfel de lucru ca „inteligent” termostat, aveam un termostat acasă care oferea un total zilnic (cred - poate săptămânal) de "la timp" pentru sistemul meu de încălzire și aer condiționat. Lucrurile s-au schimbat … Las
Automatizare acasă cu senzor tactil NodeMCU Releu de control al temperaturii LDR: 16 pași
Automatizare la domiciliu cu releu de control al temperaturii LDR senzor tactil NodeMCU: În proiectele mele trecute NodeMCU, am controlat două aparate electrocasnice din aplicația Blynk. Am primit multe comentarii și mesaje pentru a actualiza proiectul cu Control manual și pentru a adăuga mai multe caracteristici. Așa că am proiectat această casetă Smart Extension Box. În acest IoT
Cum să DIY Analizor de spectru de muzică LED cu 32 de benzi folosind Arduino Nano acasă #arduinoproject: 8 pași
Cum DIY DIY 32 Band LED Audio Music Spectrum Analyzer Folosind Arduino Nano la domiciliu #arduinoproject: Astăzi vom face un 32 banda LED Audio Music Spectrum Analyzer la domiciliu folosind Arduino, poate afișa spectrul de frecvență și poate reda muisc în același timp. Notă Max7219LED trebuie conectat în fața rezistorului de 100k, altfel zgomotul spea