DYNAMENT AN0007 Arduino то Platinum COMM пайдаланушы нұсқаулығы

AN0007 Arduino платина COMM

Өнім туралы ақпарат

Техникалық сипаттамалар

  • Өнім атауы: ARDUINO - PLATINUM COMMS анықтамалық құжат
  • Өндіруші: Dynament Limited
  • Мекен-жайы: Гермиtage Lane Industrial Estate, Kings Mill Way,
    Мансфилд, Ноттингемшир, NG18 5ER, Ұлыбритания
  • Байланыс: Тел: 44 (0)1623 663636, Электрондық пошта: sales@dynament.com,
    Webсайты: www.dynament.com
  • Шығарылым: 1.2, Күні: 09 ж

Өнімді пайдалану нұсқаулары

Сенсорды қосу

Бұл деректер парағында Arduino Mega пайдаланыладыampле. ретінде қосылу
мынадай:

  • 5v -> 5v Arduino түйреуіштері
  • 0v -> Arduino GND
  • Tx -> Arduino RX1
  • Rx -> Потенциалды бөлгіштің шығысына өтеді. Кіріс
    Arduino Tx-ке өтеді

Тtage Үйлесімділік

Arduino 5в жоғары логиканы пайдаланады, ал платина сенсоры пайдаланады
3.3в. Томды пайдаланыңызtagR1 және R2 үшін ұсынылған мәндері бар e бөлгіш ретінде
Датчиктің зақымдалуын болдырмау үшін 4K7.

Arduino IDE орнату

  1. Arduino IDE бағдарламалық құралының ең жаңа нұсқасын мына жерден жүктеп алыңыз
    Arduino webсайт.
  2. Құралдарда Arduino тақтасын, процессорды және портты таңдаңыз
    ашылмалы мәзір.

Кодты жүктеп салу

  1. Берілгенді көшіріңізampArduino IDE ішіне кодты енгізіңіз.
  2. Көрсеткіні басу арқылы кодты Arduino жүйесіне жүктеңіз.
  3. Сериялық мониторды ашыңыз view деректерді беру.

Жиі қойылатын сұрақтар

С: Менде тек бір хабарламасы бар Arduino Uno болса, не істеуім керек?
порт?

Ж: Платиналық сенсорды сол портқа қосыңыз. пайдаланған кезде
сериялық монитор, ол сондай-ақ жіберілген он алтылықты көрсетеді.

«`

Қолданба ескертпесі AN0007
ARDUINO PLATINUM COMMS анықтамалық құжатына

Dynament Limited
Гермиtage Lane Industrial Estate Kings Mill Way Мансфилд Ноттингемшир NG18 5ER Ұлыбритания. Тел: 44 (0)1623 663636
электрондық пошта: sales@dynament.com www.dynament.com

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

1/14 бет

Мазмұны
Dynamla limited ............................................................................................................................................................................. Sensor……………………………………………………………………………………………..1 Arduino IDE .................................................................................................. Түсіндірме .................................................................................................................................................................................................................................................................................................................................................................................. …………………………………………………………………………………………………………………………………………….3 Serial.read() пайдалану …………………………………………………………………………………………………………….5
Жетілдірілген түрлендіру жазбалары………………………………………………………………………….14

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

2/14 бет

Датчикті қосу Бұл деректер парағы Arduino Mega құрылғысын бұрынғыampле. Ardunio Mega бірнеше коммуникация портын қамтамасыз етеді, сондықтан 1 байланыс порты сенсормен байланысу үшін және 0 байланыс порты ДК басып шығару үшін пайдаланылады.
Arduino жоғары 5в логиканы пайдаланады, ал платина сенсоры 3.3в пайдаланады, сондықтан сенсордың зақымдалуын болдырмау үшін vol.tage бөлгішті пайдалану керек. R1 және R2 үшін ұсынылған мәндер - 4K7.

1-сурет: көлемді төмендетедіtage пайдалануға болатын деңгейге дейін
Arduino қабылдағышына баратын сенсорды тарату желісі бөлгішті қажет етпейді, өйткені 3.3v Arduino үшін қолайлы кіріс болып табылады.
Сенсорды қуаттандыру үшін оны 5в және 0в қосу керек. Мұны істеу үшін Arduino-дағы түйреуіштерді пайдалануға болады.
Бұл аяқталғаннан кейін сенсорда келесі түйреуіштер қосылуы керек:
5v -> 5v Arduino түйреуіштері
0v -> Arduino GND
Tx -> Arduino RX1
Rx -> Потенциалды бөлгіштің шығысына өтеді. Кіріс Arduino Tx-ке өтеді

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

3/14 бет

Бұл аяқталғаннан кейін платина сенсорын көрсетілгендей қосу керек:
2-сурет: Датчик дәнекерлеу адаптерімен төңкеріліп көрсетілген
Егер сіз Arduino-ны бір ғана коммуникациялық порты бар (Arduino Uno сияқты) пайдалансаңыз, оны оған қосуға тура келеді, бірақ сериялық мониторды пайдаланған кезде (кейінірек көрсетілген) ол жіберілетін он алтылықты да көрсетеді.

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

4/14 бет

Arduino IDE Arduino-ға өтіңіз webсайтына кіріп, Arduino IDE бағдарламалық құралының ең жаңа нұсқасын жүктеп алыңыз. Орнатқаннан кейін сіз келесі экранды көресіз:
3-сурет: Arduino негізгі экраны
Құралдар ашылмалы мәзірінде сіз пайдаланып жатқан Arduino тақтасын, процессорды және портты таңдаңыз:

4-сурет: Тақта, Процессор және Порт опцияларын таңдаңыз

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

5/14 бет

Осы бұрынғыға көшіріңізampкоды: void send_read_live_data_simple(); read_read_live_data_simple();
void setup() { Serial.begin(38400); Serial1.begin(38400);
}
void loop() { send_read_live_data_simple(); read_live_data_read_read(); кешіктіру (5000);
}
void send_read_live_data_simple(){ // 0x10, 0x13, 0x06, 0x10, 0x1F, 0x00, 0x58 Serial1.write(0x10); Serial1.write(0x13); Serial1.write(0x06); Serial1.write(0x10); Serial1.write(0x1F); Serial1.write(0x00); Serial1.write(0x58);
}
void receive_read_live_data_simple(){ while (Serial1.available()) { Serial.print(Serial1.read(), HEX); Serial.print («|»); } Serial.println();
}

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

6/14 бет

5-сурет: Код жүктеп салуға дайын
Кодты Arduino-ға жүктеп салу үшін көрсеткіні басыңыз. Arduino бағдарламаланғаннан кейін сериялық мониторды ашыңыз.

AN0007

6-сурет: Сериялық мониторды ашыңыз

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

7/14 бет

7-сурет: Сериялық монитор қабылданған пакетті көрсетеді

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

8/14 бет

Кодты түсіндіру Arduino IDE Arduino бағдарламасын бағдарламалау үшін C++ тілін пайдаланады.
Бұл жол тікелей декларация болып табылады. Бұл микроконтроллерге бағдарламаның төменгі жағында `send_read_live_data_simple' функциясы және 'receive_read_live_data_қарапайым' функциясы шақырылатынын айту үшін пайдаланылады.
Келесі - орнату функциясы. Бұл код іске қосу кезінде тек бір рет іске қосылады. Ол Serial0 және Serial1 порттарын іске қосады. Serial0 - сериялық монитор экранында көрсетілетін нәрсе. Serial1 - сенсормен байланысатын порт.
Бұл негізгі цикл, бұл код бірнеше рет қайталанады. Функция атауларын оқу арқылы оның тікелей деректер құрылымының жеңілдетілген нұсқасын оқуға сұрау жіберетінін көруге болады. Содан кейін ол жауапты оқу үшін қабылдау портын оқиды. Осыдан кейін микроконтроллер 5000 мС күтеді.
Бұл функция тірі деректердің қарапайым құрылымын сериялық порт 1-ге алу сұрауын жазады. Бұрын айтылғандай, сізде тек бір сериялық порт болса, Serial1-ді Сериялыға өзгерту керек. Пәрмендердің толық тізімін көру үшін Premier sensor Communications протокол құжатын қараңыз. Міне, осы пәрмен үшін не жазу керектігін айтатын құжаттың бөлігі:

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

9/14 бет

Бұл функция платина сенсорынан алынатын деректер әлі болған кезде оқу функциясын айналдырады. Serial1.read() сенсорға қосылған Serial1 деректерін оқиды және оны сериялық мониторда көру үшін Serial0 жүйесінде басып шығарады. `|' таңбасы содан кейін сериялық мониторда анық болуы үшін қабылданған әрбір байтты бөлу үшін басып шығарылады.
Бұл аяқталғаннан кейін ол сериялық мониторға жаңа жолды жазады.

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

10/14 бет

Пакеттердің бөлінуі 8 және 9-суреттер қабылдау және беру желілеріне қосылған сериялық декодердің шығысын көрсетеді.
8-сурет: Шығыс пакет
9-сурет: Кіріс пакеті
10 және 11-суреттер шығыс және кіріс оналтылықты оның қай команда екенін көрсететін бағанмен көрсетеді.

10-сурет: Шығыс пакет сипаттамасы

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

11/14 бет

11-сурет: Кіріс пакетінің сипаттамасы
Газ көрсеткіші бүтін сан емес, ондық бөлшек екенін ескеріңіз. Бұл ондық IEEE-754 пішімінде, оны түрлендіру үшін осындай онлайн түрлендіргішті пайдалануға болады. Бұл жағдайда газ мәні -250 көрсетеді (сол кезде қателік режимінде болғандай).

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

12/14 бет

Serial.read() пайдалану
Алдыңғы код тек сериялық мониторға алынған деректерді басып шығарды, егер деректерді айнымалы мәндерде сақтағыңыз келсе, қосымша өңдеуді орындау қажет болады. Сіз алатын пакет байттарға бөлінген, сондықтан осы деректердің кейбірін айнымалыларға біріктіру қажет болады. Serial1.Read() int қайтарады (Arduino үшін бұл 16 бит), бірақ тек алғашқы 8 бит пайдаланылады. Осыған байланысты біз оны тек 8 бит болатын кішірек деректер түріне көшіре аламыз, бұл жағдайда мен char пайдаланамын.
Ұзындығы тек бір байт болатын пакеттер үшін бұл жақсы жұмыс істейді:
Ұзындығы 2 байт немесе 4 байт болатын пакеттер үшін деректерді біріктіру қажет.

Сіз мұны әртүрлі жолдармен жасай аласыз, мұнда мен жасайтын нәрсе - деректерді солға жылжыту, содан кейін НЕМЕСЕ.

Бұл кодты пайдаланып, егер readByte1 0x34 және readByte2 0x12 болса.

(int)readByte2

// бұл 0x12-ні 0x0012-ге түрлендіреді.

(int)readByte2 << 8

// бұл биттерді байтқа ауыстырып, оны 0x1200 етеді.

(int)readByte2 << 8 | readByte1 // содан кейін 0x34 0x1234 жасай отырып, НЕМЕСЕ алынады.

Мұны істеудің тағы бір жолы - мәндерді массивке қою, содан кейін массивді қалаған түрге түрлендіру:

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

13/14 бет

таңбалар байт ұзындығы, ал float ұзындығы 4 байт. Осыған байланысты, егер біз оның мәндері бар 4 таңбадан тұратын массив жасап, түрін қалқымалы етіп өзгертсек.
Бұл жағдайда readArray таңбалар массивінің көрсеткіші болып табылады. (float*)readArray бұл бөлік оны флоатқа көрсеткішке шығарады, содан кейін қалқыма мәнін алу үшін алдыңғы жағына * қосылады.
Кеңейтілген түрлендіру жазбалары
1. Serial.read() char орнына int қайтарады, себебі қателер теріс мәндерді қайтарады. Сіздің бағдарламаңыз мұны тексеруі керек.
2. uint8_t және uint16_t сәйкесінше char және int орнына қолданылуы керек, себебі бұл түрлерде стандартты өлшем жоқ (менің компьютерімде int 32 бит, ал Arduino-да 16 бит).
3. Коммуникациялар протоколында байт толтырылған таңбалар бар (басқару таңбалары ретінде де белгілі), бұл tds0045 Premier sensor Communications протокол құжатында толығырақ түсіндіріледі. Осыған байланысты оқылатын тірі деректердің қарапайым пакеті кейде күткеннен үлкен болады.

AN0007

1.2-шығарылым

09/04/2025

Ескертпе 805 өзгертіңіз

14/14 бет

Құжаттар / Ресурстар

DYNAMENT AN0007 Arduino платина COMM [pdf] Пайдаланушы нұсқаулығы
AN0007 Arduino платина COMM, AN0007, Arduino платина COMM, платина COMM, Platinum COMM

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *