Taula de continguts:
- Pas 1: funcions
- Pas 2: coses que necessitareu
- Pas 3: gravar el carregador d'arrencada
- Pas 4: Construir la unitat
- Pas 5: ESQUEMÀTIC
- Pas 6: FUNCIONAMENT DEL PROGRAMARI A BORD
- Pas 7: Videoclip de la mini aplicació "sm" en execució
Vídeo: DemUino - Ordinador / controlador domèstic: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Un equip inspirat en Arduino de DemeterArt Aprofita al màxim el teu vell teclat PS2. Introduïu-lo en un ordinador personalitzat per controlar coses. Sempre he volgut construir el meu propi ordinador casolà, d’estil retro, res de luxe, però amb capacitats particulars adaptades a les meves preferències. Vaig aconseguir-ho amb la MCU atmega328 i el kit de desenvolupament Arduino.
Permeteu-me afirmar que aquest projecte hauria trigat bastant més amb dubtosos resultats finals si no fos pels fans dotats que ofereixen menys les biblioteques de programari gratuït per a tothom. Gràcies a tots:-)
visiteu el meu lloc per llegir tota la història i descarregar tots els fitxers rellevants
www.sites.google.com/site/demeterart
Pas 1: funcions
- Basat en l'ATMEGA328 amb flash de 32 KB, SRAM de 2 KB i EEPROM d'1 KB.
- suport per a modes interactius i per lots
- editor de línies i mode de llista mentre s’edita
- 8 caràcters personalitzats per a gràfics d'usuari
- 60 passos del programa numerats 00,…, 99
- "Si" condicional, bucles "mentre" i "per" més sentències "passa" i "sub" per a la ramificació
- Expressions matemàtiques i aritmètiques bàsiques més proves booleanes
- les variables del sistema permeten esdeveniments temporitzats, valors mitjans, efectius, mínims i màxims de pins analògics, etc.
- 26 variables d'usuari per interactuar amb variables i ordres del sistema
- 104 bytes d'una matriu adreçable per l'usuari o 52 enters enters curts
- capacitat de llegir / escriure dades del programa, així com codi sobre la marxa (variable p)
- aplicació de mini oscil·loscopi amb caràcters personalitzats per a pseudo gràfics
- deseu i carregueu programes i dades a / des de EEPROM
- carregar / desar programes i variables des de / a l'ordinador
- autoexec per carregar i executar un programa des de EEPROM després de cada reinici
- 9 pins GPIO (SPI inclòs) disponibles al connector DB15 extern
- BUZZER per a efectes de so
Pas 2: coses que necessitareu
Un vell teclat ps / 2 prou gruixut com per contenir la pantalla de caràcters LCD de PCB (el popular format paral·lel) xip MAX232 per al kit de desenvolupament Arduino del port RS232 atmel atmega328PU amb regulador IDE 1.0.1 LM7805, reductor de pont zumbador de 5 V, condensadors, un botó de reinici, connectors, etc.
Pas 3: gravar el carregador d'arrencada
Per tant, després d’haver comprat un xip atmega328PU ‘buit’, s’ha de prendre una decisió. Utilitzo un programador especial extern o ISP o puc gravar el gestor d’arrencada Arduino a la bestia i fer que la unitat es pugui programar a través del seu port UART? He escollit aquest darrer per fer-me la vida més fàcil! El nou carregador d’arrencada ocupa només mig kilobyte de memòria flash, deixant una mica més de 31 KB de programa d’usuari i dades estàtiques disponibles. El lloc Arduino cobreix el cas de gravar el carregador d’arrencada en un nou xip, quan es tractava d’utilitzar avrdude per gravar realment el xip objectiu, el procés va fallar amb un error que indicava l’identificador incorrecte de l’MCU en particular. Així que després d’haver fet algunes cerques, vaig trobar aquest noi que ho va encertar i vaig seguir el seu procediment. L'única diferència eren dos fitxers de configuració, avrdude.conf i boards.txt que necessitava avrdude i arduino IDE 1.0.1 per fer-ho possible. Després de copiar els 2 fitxers a les seves ubicacions adequades (primer feu una còpia de seguretat dels antics), l’opció ‘arduino328’ de tools-> Board estava disponible i avrdude va procedir a gravar els fusibles i el carregador d’arrencada. Ara el xip està llest per programar-se des de la nova màquina.
Pas 4: Construir la unitat
Es va utilitzar una placa perforada amb tires de coure com a solució de muntatge ràpid amb endolls DIP per a les estelles, ja se sap, per si de cas. A continuació, els forats i talls dels connectors, el botó de reinici i la pantalla LCD es van obrir a través del plàstic extremadament resistent i gruixut del teclat. Sí, es va construir fa 25 anys. Va seguir el desgavell de cables que emanaven del PCB cap als diversos perifèrics. Es va fer una rudimentària comprovació de continuïtat i, a continuació, es va connectar el subministrament sense xips poblats només per comprovar que els endolls tinguessin tensions adequades. Després van aparèixer els 2 circuits integrats i la caixa del teclat es va tancar fermament mitjançant els seus clips de plàstic a la part inferior. La unitat estava preparada per gravar esbossos al controlador.
Us suggereixo que s’utilitzin condensadors no polars 1uF / 16V per a les bombes de càrrega MAX232. Localitzeu els condensadors de desacoblament de 100 nF per als dos xips el més a prop possible dels respectius pins VCC i GND. Utilitzeu una connexió en estrella per a l'alimentació i la terra a què fa referència el regulador LM7805. El commutador 2 podria ser un pont depenent de la impementació, però és bo tenir-lo, només per evitar restabliments MCU no desitjats del PC amfitrió en determinats casos. En qualsevol cas, l’interruptor s’ha de tancar per permetre que l’Arduino IDE pugui gravar l’esbós restablint l’MCU objectiu (pin DTR de RS232). En el meu cas, la connexió és permanent (sempre tancada). Utilitzeu una resistència de sèrie per al buzzer per aïllar els diversos nF de capacitat de la porta de conducció … mai se sap. Localitzeu el XTAL i els condensadors de càrrega de 18-22pF el més a prop possible dels respectius pins del controlador.
A causa del pont rectificador, la unitat pot alimentar-se amb adaptadors de corrent altern i continu. En cas de corrent continu, hi ha una caiguda de voltatge d’1,5 V entre l’adaptador i l’entrada al regulador. En cas de corrent altern, l'entrada del regulador és aproximadament 1,4 vegades la sortida RMS de l'adaptador o menys a causa de la càrrega. Si la diferència entre l’entrada del regulador i la seva sortida (+ 5 V) és gran, diguem-ne 7 volts, la potència consumida pel regulador s’acosta als 0,5 watts i és millor utilitzar un petit dissipador de calor sobre el qual muntar el xip (sempre hi ha espai per a això) per a llargues hores de funcionament quan fa calor.
El fusible d'entrada de CA es pot seleccionar en funció de les càrregues externes (mitjançant el connector DB15). Altres factors que influeixen en l'elecció del fusible són la resistència limitadora de corrent per a la retroiluminació LED de la pantalla LCD, el condensador de pont per al corrent de càrrega i la capacitat actual del transformador de subministrament.
Pas 5: ESQUEMÀTIC
Pas 6: FUNCIONAMENT DEL PROGRAMARI A BORD
Aquest és l'esbós que fa que tot passi … i 32 KB no són suficients! Podeu utilitzar-lo sense modificar, en aquest cas agrairia una referència al meu nom o bé canviar-lo a voluntat i oblidar-me de mi;-)
Aquesta és la documentació detallada sobre la màquina.
Resum d'ordres i expressions
“: Una línia de comentaris no imprimibles
ai: adjuntar la interrupció 0 (pin D2)
ar: lectura analògica
aw: ‘escriptura analògica’ per arduino o més adequadament pwm
ca: captura analògica en una matriu
cl: esborra la pantalla cno: return * Prgm índex del número de línia
di: espera una sèrie de polsos i mesura la durada i el temps
dl: retard
fer: juntament amb "wh"
dr: digital llegeix qualsevol pin
dw: escriure digitalment qualsevol pin
ed: mode editor / programa de càrrega des de PC / renumeració de línies
el: funció d'accés EEPROM
end: la sentència END d'un programa
ensb: acaba la subrutina
es: funció d'accés EEPROM
fl: filtre mitjà mòbil simple
fr: bucle per al següent (fr-nx)
anar: saltar al pas del programa
gosb: continuar l'execució fins a la subrutina
gt: espera l'entrada de l'usuari
si: prova l’estat i salta al pas
io: GPIO 1-9 bits
ld: carrega / combina el programa des de EEPROM
lp:: bucle controlat per teclat en mode interactiu
ls: mode llista / envia el programa al PC una línia a la vegada
ml: obtenir temps
mm: mostra memòria lliure
nos: converteix el número en cadena
nx: juntament amb "fr"
pl: plot array cxx
pm: defineix els pins per a l'entrada o sortida
pr: imprimeix un missatge o un valor o un caràcter personalitzat
rgc: ordre de còpia de rang per a matrius
rgs: ordre range set per a matrius
rn: executeu el programa a la memòria RAM
rs: restabliment suau
rx: rep un personatge mitjançant RS232
si: entrada sèrie síncrona amb rellotge i pins de dades
sm: mini oscil·loscopi app sno: converteix la cadena en número
així: sortida sèrie síncrona amb rellotge i pins de dades
sub: declara la subrutina
sv: deseu el programa a EEPROM
tn: emet un so
tx: transmet un número mitjançant RS232
wh: un bucle do-while que s'utilitza conjuntament amb "fer"
Pas 7: Videoclip de la mini aplicació "sm" en execució
visiteu el meu lloc per llegir tota la història i descarregar tots els fitxers rellevants
www.sites.google.com/site/demeterart
Recomanat:
PIR pràctic per a ús domèstic: 7 passos (amb imatges)
PIR pràctic per a ús domèstic: com molts de vosaltres que treballeu amb projectes domòtics, buscava construir un sensor PIR funcional per automatitzar alguns girs de cantonada a casa meva. Tot i que els sensors PIR dels interruptors de llum haurien estat òptims, no es pot doblegar una cantonada. Thi
Sistema de so domèstic: 6 passos (amb imatges)
Sistema de so domèstic: aquest sistema d'àudio és senzill i econòmic (menys de 5 dòlars més alguns materials recuperats trobats al meu taller). Permet una audició prou forta per a una sala gran. Com es poden utilitzar fonts de senyal: -Bluetooth des de qualsevol mòbil telèfon. -MP3 d'un record
Obertura de portes de garatge intel·ligent de bricolatge + integració de l’assistent domèstic: 5 passos
Obertura de portes de garatge intel·ligent de bricolatge + integració de l’assistent domèstic: feu que la vostra porta de garatge normal sigui intel·ligent amb aquest projecte de bricolatge. Us mostraré com construir-lo i controlar-lo mitjançant Home Assistant (mitjançant MQTT) i tenir la possibilitat d’obrir i tancar la porta del garatge de manera remota. Utilitzaré una placa ESP8266 anomenada Wemos
Afegiu un monitor d'ús a un termòstat domèstic: 4 passos
Afegiu un monitor d'ús a un termòstat domèstic: fa molt, molt de temps, abans que hi hagués un "intel·ligent". termòstat, tenia un termòstat domèstic que proporcionava un total diari (crec, potser setmanal) de "puntual" per al meu sistema de calefacció i aire condicionat. Les coses han canviat
Feu servir un sistema de control domèstic: 9 passos
UTILITZACIÓ DE STONE HMI Feu un sistema de control domèstic: introducció del projecte El següent tutorial us mostra com utilitzar el mòdul de visualització tàctil STONE STVC050WT-01 per fer un sistema de control d’aparells domèstics senzill. STONE STVC050WT - 01 el mòdul de visualització tàctil de suport té 5 polzades, resolució de 480 * 272 a