UART TTL термінал на базі Arduino Pro Mini

Модель: Terminal v1.1
Нет в наличии
Артикул: 1004-1119

  • 195.00грн




Велика кількість сучасних електронних пристроїв, таких як комп'ютери, маршрутизатори, мікроконтролерні пристрої, планшети та ін., мають на борту інтерфейс UART , хоча далеко не завжди він доступний звичайному користувачеві. Зазвичай це просто три або чотири розташовані разом отвори під пайку на платі. Для електронників UART є зручним інструментом для налагодження, налаштування, обміну даними між пристроями, вивчення схеми роботи пристрою та багатьох інших корисних речей.

Перед тим, хто використовує даний інтерфейс стоїть питання: який пристрій використовувати для відображення даних з UART. Зручним вибором є комп'ютер, але по-перше для його використання потрібен перехідник RS232-TTL або USB-TTL (майже всі пристрої використовують саме TTL-рівні), по-друге, для цього потрібен сам комп'ютер з необхідними програмами, і по-третє - не завжди є бажання підключати до комп'ютера девайс, над яким йде робота (наприклад, якщо Ви налагоджуєте роботу контролера високовольтних навантажень).

Багатьом хотілося б мати під рукою компактний та недорогий UART TTL термінал. Подібне бажання було і автор цього проекту. У результаті було розроблено простий пристрій, описаний нижче. Ви можете зібрати його за нашою інструкцією зі своїх комплектуючих (підійде майже будь-яка Arduino-плата), або купити у нас готовий комплект з усім необхідним.

Комплект складається з плати Arduino Pro Mini ATMega328 , USB-UART конвертера , дисплея Nokia 5110 LCD та необхідних дротів.

Програма частина написана мовою Wiring, а апаратна частина складається з окремих модулів, що легко з'єднуються, завдяки чому UART TTL термінал на базі Arduino Pro Mini може бути зібраний своїми руками людьми без глибоких знань електроніки та програмування.

Комплектація:

  • Arduino Pro Mini ATMega328 в антистатичній упаковці
  • 3 контактні PLS-планки 
  • USB-TTL конвертер PL2303HX USB-UART
  • дисплей Nokia 5110 LCD   
  • 11 проводів для з'єднання модулів

Інструкція по збірці:

1) Завантажте та встановіть Arduino IDE . На вказаному сайті також можна знайти інформацію щодо первинного настроювання та роботи з IDE, а також відповіді на основні питання щодо роботи з нею.

2) Завантажте бібліотеку LCD5110_Graph і розпакуйте її в папку arduino-1.0.4\libraries

3) Підключіть Arduino Pro Mini до комп'ютера за допомогою USB-TTL конвертера і завантажте наступний скетч:

 #include // Підключення бібліотеки LCD5110_GraphLCD5110 myGLCD (8,9,10,11,12); // SCLK, DN(MOSI), D/C, RST, SCEextern uint8_t TinyFont[]; // Використовуватиметься зовнішній шрифт TinyFontchar screen[168];int currentPosition=0;//------------------------------- -void setup(){ Serial.begin(9600); myGLCD.InitLCD(); // Ініціалізація дисплея myGLCD.setFont(TinyFont); // Встановлення шрифту myGLCD.print("Terminal v1.1", CENTER, 0); myGLCD.print("by mini-tech.com.ua", CENTER, 6); myGLCD.update(); // Оновлення вмісту дисплея delay (3000); myGLCD.clrScr();}//--------------------------------void loop(){byte incomeByte; while (Serial.available()>0) // Якщо в буфері Serial порту є доступні дані { incomeByte=Serial.read(); // Зчитування байта до змінної incomeByte switch (incomeByte) { case '\n':{ while ((currentPosition+1)%21 != 1){ screen[currentPosition]=' '; currentPosition++;} break;} case '\r':{ while ((currentPosition+1)%21 != 1){ currentPosition--; screen[currentPosition]=' ';} break;} default: screen[currentPosition]=char(incomeByte); // Перетворення отриманого байта на тип char currentPosition++; // та його приміщення масив screen. Перехід на слід. позицію } if (currentPosition > 167){ // Якщо екран заповнений screenShift(); // Виклик функції зсуву екрана вгору однією рядок currentPosition=147;} // Переміщення початку останнього рядка }screenPrint(screen); // Виклик функції виведення даних на дисплей}//-------------------------------- void screenPrint(char displayMatrix[168 ]) // Функція виведення даних на дисплей {char line[21]; // Рядок екрану int i, j; for(i=0; i<8; i++){ // Цикл для рядків for(j=0; j<21; j++){ // Цикл для символів line[j]=displayMatrix[i*21+j]; } // Наповнення поточного рядка myGLCD.print(line, 0, i*6); // Друк рядка в буфер дисплея myGLCD.update();} // Оновлення вмісту дисплея}//-------------------------------- ----void screenShift()// Функція зсуву вмісту дисплея на один рядок вгору{for (int i=0; i<147; i++){ // Кожен символ по черзі копіюється на ту ж screen[i]=screen[ i+21];} // позицію у верхньому рядкуfor (int i=147; i<168; i++){ // Останній рядок screen[i]=' ';} // заповнюється пробілами}

Примітка: якщо використовувати такий же конвертер, як у нашому комплекті або подібний (без окремого виводу RESET), необхідно вручну натиснути кнопку RESET на платі після завершення процесу компіляції, коли внизу вікна Arduino IDE з'явиться напис "Завантаження".

4) Якщо після завантаження скетчу Ви отримали повідомлення "Done uploading." , отже, все зроблено правильно і можна приступати до наступного етапу - підключення дисплея. Це необхідно зробити відповідно до наступної схеми:

Висновки Arduino Висновки дисплея
+5V, GND VCC, GND
8 SCLK
9 DIN (MOSI)
10 D/C
11 RST
12 SCE

5) Після підключення дисплея ще раз перевірте правильність з'єднання висновків, якщо все правильно - пристрій можна вмикати. Для цього необхідно:

  • подати на термінал харчування. Можна живити через USB-TTL конвертер від будь-якої зарядки з роз'ємом USB, або відключити конвертер і живити безпосередньо від джерела живлення з напругою 5В
  • після включення на дисплеї повинен протягом 3 секунд відображатися напис " Terminal v1.1 by mini-tech.com.ua "

6) Підключіть до входу RX плати Arduino UART-пристрій, з якого ми хочемо відображати дані, після чого на дисплеї з'явиться відповідний текст


/span

Увага: HTML не підтримується!