3. Trimiterea datelor serial


Trimiterea datelor Arduino prin comunicarea serială în LabVIEW

Astăzi voi începe o serie de tutoriale de interfațare Arduino cu LabVIEW. Am publicat deja un proiect pe LabVIEW cu Arduino pentru obținerea de date despre senzori diferiți pe LabVIEW. Acest proiect se numește sistem de monitorizare la distanță folosind Labview și Zigbee. Puteți verifica mai multe detalii despre acest proiect făcând clic pe acest link: Sistem de monitorizare la distanță folosind Arduino și Xbee. În acest tutorial de pornire pe LabVIEW cu Arduino, veți învăța cum să interfațați Arduino cu LabVIEW sau puteți spune cum să trimiteți date Arduino prin comunicație serială pe interfața grafică cu utilizatorul LabVIEW. Trebuie să aveți cunoștințe de bază despre software-ul LabVIEW înainte de a începe acest proiect. Deci, să începem cu acest tutorial.

Există mulți oameni care caută online cum să trimită date Arduino serial la LabVIEW. Așa că am decis să scriu acest articol. LabVIEW a oferit, de asemenea, un instrument pentru Arduino pe care îl putem folosi pentru a programa Arduino direct din LabVIEW. Trebuie doar să instalați interfața Arduino cu instrumentul LabVIEW în software-ul LabVIEW. Voi scrie, de asemenea, un articol despre el, dar în acest tutorial vedem cum să trimitem data Arduino la LabVIEW fără a utiliza instrumentul LabVIEW pentru Arduino. Poate fi folosit în multe aplicații industriale. De exemplu, acesta poate fi utilizat în sistem de achiziție de date, în sistem de monitorizare în timp real, în sistemul de automatizare casnică etc.

În primul rând, ar trebui să instalați orice versiune de LabVIEW pe PC, dacă nu aveți, puteți să descărcați și să instalați acest software după descărcarea de pe acest link: Descărcați LabVIEW. Acest software nu este gratuit. Dar puteți utiliza în continuare versiunea demo timp de 45 de zile sau o puteți obține din alte surse. Pentru a trimite date în serie la LabVIEW, avem nevoie de încă un driver. Acest driver este utilizat pentru comunicarea serială cu Arduino și VI-ul LabVIEW. Nu veți putea trimite date la LabVIEW fără a instala driverul. LabVIEW furnizează, de asemenea, alte drivere, de exemplu, drivere de server LabVIEW, servicii web LabVIEW care sunt utilizate pentru a trimite date LabVIEW către serverele web.

Urmați pașii următori:

    • În primul rând avem tot ce aveți nevoie pentru a descărca driverul NI VISA.

    • După descărcare, instalați acest driver.

    • După ce ați terminat instalarea, driver-ul NISA va crea automat un instrument cu numele portului COM, așa cum se arată în VI-ul de mai jos.

    • După instalare, atunci când rulați prima dată LabVIEW, acest instrument va porni automat apărând în fereastra componentelor LabVIEW.

    • După instalare, rulați pur și simplu LabVIEW și va apărea fereastra următoare

    • Acum trebuie să proiectăm VI în LabVIEW. Pentru a face VI clic pe create project după care va apărea fereastra următoare.

    • Acum, selectați blank VI și faceți clic pe Finish. Când faceți clic pe finish, se va deschide un VI gol, pe care l-am folosit pentru a crea proiectul nostru.

    • LabVIEW are două tipuri de console. Unul se numește diagrama bloc unde plasăm toate componentele, iar alta se numește panou frontal. Panoul frontal este utilizat ca interfață grafică cu utilizatorul și este locul unde utilizatorul trimite datele sale și face modificări în date. Diagrama bloc și panoul frontal sunt prezentate mai jos:

    • Acum trebuie să proiectați un VI. În acest VI vom folosi resursele VISA pentru a trimite date serial. Am proiectat un VI care este prezentat mai jos. În acest VI primim date din portul serial. Arduino va fi conectat la portul serial al calculatorului, iar data primită de la Arduino va fi afișată în fereastra de răspuns.

    • VI pe care l-am făcut în LabVIEW este prezentat mai jos.

    • În acest VI folosim Loop pentru a obține date continuu de la Arduino. Componenta de răspuns este utilizată pentru afișarea datelor. Panoul frontal al VI-ului este prezentat mai jos.

    • Trebuie să selectați portul COM la care este conectat Arduino. În cazul meu este conectat la portul COM4. Așa că am selectat portul COM4.

    • După aceea faceți clic pe Start Reading și veți obține date în fereastra de răspuns.

    • Pentru a opri simularea, trebuie doar să faceți clic pe Stop Simulation și veți opri obținerea datelor din fereastra de răspuns.

Așa că am explicat toate lucrurile de mai sus, trebuie să trimiteți date la LabVIEW de la portul serial. Acum, trebuie doar să trimiteți date de la Arduino la LabVIEW prin port serial. Conectați placa dvs. Arduino la computer și verificați portul COM la care este conectat Arduino. Puteți să-l verificați prin intermediul managerului de dispozitive al computerului. Puteți trimite toate datele pe care le doriți. De exemplu, ați conectat patru senzori cu Arduino și doriți să măsurați valorile acestor senzori și doriți să trimiteți valorile senzorilor la LabVIEW. De exemplu, ați conectat temperatura, umiditatea, lumina și auziți senzorul de batere cu Arduino. Arduino va măsura aceste valori ale senzorilor și va trimite datele la LabVIEW folosind comunicarea serială. Am folosit acest cod exemplu pentru a trimite valori de temperatură, umiditate și senzor de lumină de la Arduino la LabVIEW. Puteți utiliza acest cod pentru verificarea scopului.

Codul Arduino pentru a trimite data la LabVIEW

#include<dht.h> // you should include DHT11 library
#include<LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
#define dht_dpin 12
dht DHT;
unsigned int AnalogValue;
unsigned int light;
byte degree[8] =
{
0b00011,
0b00011,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
void setup()
{
lcd.begin(20, 4);
Serial.begin(9600);
lcd.createChar(1, degree);
lcd.clear();
lcd.print(" RMS system ");
delay(2000);
}
void loop()
{
DHT.read11(dht_dpin);
lcd.setCursor(0,0);
lcd.print("Humidity:");
lcd.print(DHT.humidity); // printing Humidity on LCD
lcd.print(" %");
lcd.setCursor(0,1);
lcd.print("Temperature:");
lcd.print(DHT.temperature); // Printing temperature on LCD
lcd.write(1);
lcd.print("C");
AnalogValue = analogRead(A0)/ 10.24;
light = 100 - AnalogValue;
lcd.setCursor(0,2);
lcd.print("light=");
lcd.print (light);
lcd.print("%");
delay(1000);
Serial.print("Humidity = ");
Serial.println(DHT.humidity);;
Serial.print("temperature = ");
Serial.println(DHT.temperature);
Serial.print("light intensity = ");
Serial.println(light);

}

Deci, acesta este totul despre modul de trimitere a datelor serial de la Arduino la LabVIEW. Dacă vă confruntați cu orice problemă, anunțați-ne cu comentariile dvs.