цифровая электроника
вычислительная техника
встраиваемые системы

 

Внешний монитор последовательной передачи данных ESM

Автор: Mike(admin) от 18-04-2014, 06:28

Иногда бывает полезно иметь внешний монитор последовательного порта, как, например, Serial Monitor в Arduino Editor, чтобы удобнее было отлаживать программу и работать с данными. Поэтому ниже предлагается такое устройство под названием ESM (External Serial Monitor).


монитор последовательного порта для Arduino

В основе ESM лежит микроконтроллер Atmel Atmega328. Его оперативная память составляет 2 КБ, этого достаточно для обработки относительно больших объемов данных. Благодаря меню ESM вы также можете устанавливать скорость передачи данных и останавливать и возобновлять считывание.


монитор последовательного порта для Arduino

монитор последовательного порта для Arduino

Шаг 1: схемы


Ниже приведены все схемы этого проекта.


монитор последовательного порта для Arduino

монитор последовательного порта для Arduino

монитор последовательного порта для Arduino

монитор последовательного порта для Arduino

монитор последовательного порта для Arduino

Шаг 2: список компонентов


монитор последовательного порта для Arduino

C1,C8,C10 100нФ/50В
C2,C3 22пФ/50В
C4,C5,C6 1мкФ
C7,C9 47µF/16V
D1,D2,D3,D4 LED-SMD OSRAM TOPLED, 9 мКд, зеленые
Display1 EA_DOG-S102-6
IC1 ATMEGA328(DIL28S)
IC3 преобразователь напряжения L7805 5В
K1 разъем-мама
Q1 16 МГц
R1,R2,R3,R4 100 КОм
R5,R6,R7,R8 100 Ом
R9 3,3 КОм
R10 1КОм
S2,S3,S4,S5 кнопка JTP-1230
S6 переключатель
9V батарейка


Шаг 3: Arduino-скетч



esm.ino
Основной скетч.

vars.h
Здесь определяются глобальные переменные.

menu.h
Функции меню.

buttons.h
Определяются кнопки.

programs.h
Функции:
menu()
startSerial()
settings()
mode()

myDOG.h
Функции для дисплея DOGS-102.
static void setChipSelectPin(номер вывода как const int)
static void writeByte(unsigned int)
static void Init()
static void begin()
static void drawPic(byte[8][102])
static void displayClear()
static void print(текст как char*)
static void print(текст как char*, строка как int)**
static void print(текст как as char*, столбец как int, строка как int)**
static void print(Number long, столбец как int, строка как int)**

** Col = от 0 до 102 пикселей, Row 0 - 7


myfont.h
Функции и определеня для шрифта.

myPic.h
Начальное изображение.

mySPI.h
Функция для интерфейса SPI.

Всё это в файле esm.zip.


Шаг 4: пример


Arduino содержит следующий код:



/ *
sender.ino
Serial Test Program
* /

void setup () {
    Serial.begin (9600);
}

void loop () {
   for (int a = 0; a <1000; a + +) {
     Serial.print ("int a =");
     Serial.println (a);
     delay (100);
   }
}

Программа посылает каждые 100 мс данные счетчика «int a =» от 0 до 1000. ESM (исходная плата Arduino) соединяется с другим Arduino через выводы TX и RX (крест на крест). Нажав на кнопку play, можно увидеть на дисплее передаваемые данные.




Перевод © digitrode.ru


<Источник>


Теги: Arduino




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий