Hardver

Mini soros konzol három különböző soros porttal

Hardver

Ez egy egyszerű soros konzol, amely adatmegjelenítésre és adatbevitelre használható. Egyszerre három (különböző) soros interfészt tud kezelni: 3.3V TTL-t egykártyás számítógépekhez és mikrokontrollerekhez, hagyományos RS-232-t és USB-n keresztüli soros portot.

tápfeszültség:5 V
áramfelvétel:kb. 30 mA
mechanikai méretek:100x60x50 mm
szigetelési osztály:0. osztály
IP védettség:IP 00
készülékház anyaga:termoplaszt (PC), csak fedlap
kijelző méret:20x4 katakter
karakterkészlet:ASCII 32-127
kapcsolat:3.3V TTL, RS-232 and USB soros
vételi puffer mérete:255 byte
Ez egy Raspberry Pi Pico alapú eszköz. A kijelző 20x4 karakteres folyadékkristályos kijelző, amely a nagyobb méretű virtuális képernyő 20x4 méretű területét jeleníti meg. Ez a terület gombokkal mozgatható. A virtuális képernyő alapértelmezett mérete 80x25 karakter, ez az érték a programban állítható be.

Az áramkör három soros porttal rendelkezik, beállítástól függően mindhárom használható adat- és rendszerüzenet átvitelre, vagy mindkettőre egyszerre. A #0 soros port USB-porton keresztüli, az 1-es egy 3,3V-os TTL-port, a #2-es egy hagyományos RS-232-es soros port. Serial #1 csatlakoztatható egy 5 V-os TTL soros porthoz külső szintváltó áramkörrel. Alapértelmezett port sebességek: 115200, 9600 és 9600 bit/s, ezek az értékek a programban állíthatók be.

A konzol négy üzemmóddal rendelkezik, az első három csak megjelenítésre használható, ezek előre programozottak, a negyedik az egyedi megoldásoknak van fenntartva. A módok közötti jumperekkel választhatunk.

Működési módok:
MODE #0csak olvasható mód, nincs kurzor, 20x4 méretű megjelenített terület 80x4 méretű virtuális képernyőn, automatikusan görgeti a sorokat, a megjelenített terület vízszintesen mozgatható a nyomógombokkal.
MODE #1csak olvasható mód, nincs kurzor, 20x4 méretű megjelenített terület 80x25* méretű virtuális képernyőn, automatikusan görgeti a sorokat, a megjelenített terület vízszintesen és függőlegesen mozgatható a nyomógombokkal.
MODE #2csak olvasható mód, nincs kurzor, 20x4 méretű megjelenített terület 80x25 * méretű virtuális képernyőn, a megjelenített terület vízszintesen és függőlegesen mozgatható a nyomógombokkal, FormFeed (0x12) után egy új, tiszta oldal indul.
MODE #3eszközfüggő megoldások számára fenntartva (menü, olvasási/írási mód stb.).
*: A virtuális képernyő mérete a programban beállítható.

Gombok funkciója:
gomb MODE #0 MODE #1 MODE #2 MODE #3
PB0
PB1
PB2  
PB3  
PB4       ENTER
PB5       ESCAPE

Szoftver

Az eszközt működtető program az Arduino IDE fejlesztőrendszeren készült. Ezt az alkalmazást először fel kell készíteni a Raspberry Pi Pico-val való együttműködésre, amelyhez a leírás megtalálható az interneten: (például itt).

Beállítás
A program telepítése előtt be kell állítania ezeket a fordítási direktívákat:

#define LCD_8BIT               // enable 8 bit mode of the LCD
#define COM_USB                // enable Serial #0 port
#define COM_TTL                // enable Serial #1 port
#define COM_RS232C             // enable Serial #2 port
// #define COM_USB_MESSAGES    // enable console messages on Serial #0 port
// #define COM_TTL_MESSAGES    // enable console messages on Serial #1 port
// #define COM_RS232C_MESSAGES // enable console messages on Serial #2 port
és állandókat:

const int     lcd_bloffinterval = 60000;                // LCD backlight off time
const byte    lcd_xsize         = 20;                   // horizontal size of display
const byte    lcd_ysize         = 4;                    //vertical size of display
const byte    virtscreenxsize   = 80;                   // horizontal size of virtual screen
const byte    virtscreenysize   = 25;                   // vertical size of virtual screen
const int     com_speed[3]      = {115200, 9600, 9600}; // speed of the USB serial port

Hogyan működik?
Indításkor a program inicializálja a soros portokat, és ha a konzol üzenetek engedélyezve vannak, állapotüzenetet küld. Ezt követően beállítja a GPIO portokat, törli a virtuális képernyőt és inicializálja a kijelzőt. Beállítja saját működési módját a jumpereknek megfelelően (JP2-3). A kijelzőn rövid információk jelennek meg a készülékről.

A program ezután folyamatosan figyeli az összes soros portot, a gombok állapotát és az üzemmódválasztó jumperek állapotát. Ha az egyik porton adat érkezik, a rendszer a virtuális képernyőre másolja. Az LCD-kijelző a virtuális képernyő egy részét ablakként jeleníti meg. Ez az „ablak” a gombokkal mozgatható. A virtuális képernyő mérete és az „ablak” mozgatásának lehetősége a kiválasztott módtól függ.

A program 60 másodpercnyi inaktivitás után kikapcsolja a háttérvilágítást, majd visszakapcsolja, ha adat érkezik vagy egy gombot megnyomnak.

A program a bejövő TAB karaktert (0x09) SZÓKÖZ-re (0x20) cseréli, a BEL (0x07) karakter hatására villog a háttérvilágítás, és a 2. módban új oldalt indít az FF (0x0B) karakterre.

Kezelőszervek és csatlakozók

1:F1 biztosíték - tápfeszültség
2:J1 csatlakozó - tápfeszültség bemenet
3:J2 csatlakozó - TTL soros port
4:J3 csatlakozó - RS-232 soros port
5:J4 csatlakozó - nyomógombok
6:JP1 jumper - RESET
7:JP2-3 jumperek - üzemmódválasztó
8:USB csatlakozó

Kapcsolási rajz

Polikarbonát fedlap

Letölthető anyagok

megnevezés változat formátum megjegyzés
hardver dokumentáció v220726 tar.gz  
csak Gerber fájlok v0.1 zip Rendeld meg itt: PCBWay

Működtető program

megnevezés változat OS arch. formátum megjegyzés
forrásnyelvű csomag v0.1     tar.gz C++
bináris csomag v0.1   arm tar.gz  
Github git clone https://github.com/pozsarzs/mini_serial_console-hw.git

Github git clone https://github.com/pozsarzs/mini_serial_console-sw.git

 Hackster Project page on Hackster.io

Stand with Ukraine!