Orodha ya maudhui:

Kuunganisha Usindikaji na Arduino na Fanya Sehemu 7 na Mdhibiti wa GUI wa Servo: Hatua 4
Kuunganisha Usindikaji na Arduino na Fanya Sehemu 7 na Mdhibiti wa GUI wa Servo: Hatua 4

Video: Kuunganisha Usindikaji na Arduino na Fanya Sehemu 7 na Mdhibiti wa GUI wa Servo: Hatua 4

Video: Kuunganisha Usindikaji na Arduino na Fanya Sehemu 7 na Mdhibiti wa GUI wa Servo: Hatua 4
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Novemba
Anonim
Kuunganisha Usindikaji na Arduino na Fanya Sehemu 7 na Mdhibiti wa GUI wa Servo
Kuunganisha Usindikaji na Arduino na Fanya Sehemu 7 na Mdhibiti wa GUI wa Servo

Kwa miradi mingine uliyohitaji kutumia Arduino kwani inatoa jukwaa rahisi la kuiga lakini kuonyesha picha kwenye mfuatiliaji wa mfululizo wa Arduino inaweza kuchukua muda mrefu na ni ngumu hata kufanya. Unaweza kuonyesha grafu kwenye Arduino Serial Monitor lakini grafu sio kitu pekee unachohitaji kuonyesha. Vitu vyote vya maingiliano kama vitelezi, vifungo, programu zilizo na Pato la 2D, 3D, PDF, au SVG na unaweza pia kuunda michoro kwa urahisi. Njia ya programu-msingi ya usindikaji ni Java lakini unaweza kuibadilisha Android, p5.js, REPL, CoffeeScript na JavaScript. Katika Maagizo haya tutatumia hali ya programu ya Java.

Yote yaliyomo na nambari pia inapatikana kwenye github yangu hapa.

Hatua ya 1: Kutumia Processing.serial

Msimbo wa usindikaji

Mistari miwili ya kwanza ya nambari itakuwa

usindikaji wa kuagiza.serial. *; Serial myPort;

Hapa kwenye mstari wa kwanza tunaingiza maktaba - usindikaji na katika mstari wa pili tunaunda kitu cha darasa la serial linaloitwa myPort, unaweza kuiita jina lolote unalopenda kufuata sheria za kutaja kitambulisho.

Katika usindikaji tuna usanidi batili () na batili kuteka () ambapo batili ni aina ya kurudi ya kazi unaweza pia kuibadilisha kuwa int setup () na int draw () au aina nyingine ya data unayopenda lakini utahitaji kurudisha Thamani ambayo ina aina ya data sawa na aina ya data unayotumia kabla ya kazi.

katika usanidi () tunaandika taarifa tunazohitaji kutekeleza mara moja wakati katika kuteka () tunaandika taarifa tunazohitaji kutekeleza mara kadhaa. Mistari miwili ya nambari iliyotajwa hapo juu inapaswa kuandikwa juu ya usanidi batili () kwa sababu wanahitaji kupata ufikiaji wa ulimwengu.

Katika usanidi batili () tutaanzisha kitu myPort.

usanidi batili () {

saizi (800, 800);

myPort = mpya Serial (hii, "COM18", 9600);

}

Ukubwa wa laini (800, 800); inafafanua saizi ya skrini ambayo ni saizi 800 kwa saizi 800.

Neno kuu katika mstari wa pili hutumiwa kuhifadhi nafasi ya kitu kwenye kumbukumbu, hoja hii ni tofauti ya kumbukumbu ambayo inahusu kitu cha sasa. Hoja COM18 ni bandari ya Arduino iliyounganishwa, tunahitaji hii kwani tutasafirisha data kupitia kiolesura cha serial. Nambari 18 inaweza kuwa tofauti kwa kesi yako, unaweza kuipata chini ya Zana> Bandari katika IDE ya Arduino na 9600 ndio kiwango cha baud unaweza kubadilisha hii katika Arduino na Usindikaji.

Hatua ya 2: Elewa Hatari ya Serial

Mjenzi wa Serial

Serial (mzazi, portName, baudRate, usawa, dataBits, stopBits)

Hoja:

mzazi: kawaida hutumia "hii"

baudRate (int): 9600 ndio chaguo-msingi

portName (Kamba): jina la bandari (COM1 ndio chaguo-msingi)

usawa (char): 'N' hakuna, 'E' hata, 'O' isiyo ya kawaida, 'M' kwa alama, 'S' ya nafasi ('N' ndiye chaguo-msingi)

dataBits (int): 8 ndio chaguo-msingi

stopBits (kuelea): 1.0, 1.5, au 2.0 (1.0 ni chaguo-msingi)

Mbinu muhimu:

  1. myPort.available () - inarudi idadi ya ka zinazopatikana.
  2. myPort.clear () - huondoa bafa na kuondoa data zote zilizohifadhiwa hapo.
  3. myPort.read () - Inarudisha nambari kati ya 0 na 255 kwa baiti inayofuata inayosubiri kwenye bafa.
  4. myPort.readString () - Inarudisha data yote kutoka kwa bafa kama Kamba au batili ikiwa hakuna kitu kinachopatikana.
  5. myPort.write ("mtihani") - Anaandika ka, chars, ints, ka , Kamba kwenye bandari ya serial.
  6. myPort.stop () - Inasimamisha mazungumzo ya data kwenye bandari.

Hatua ya 3: Arduino Serial Class

Huna haja ya kuagiza Class Class katika Arduino kabla ya kuitumia.

Katika Arduino kuna kazi 2 zinazoitwa kuanzisha () na kitanzi () usanidi unaendesha mara moja tu lakini kitanzi kinaendesha mara nyingi. Katika Arduino tofauti na usindikaji hatuhitaji kutaja bandari kama njia ya hoja ya kuanza () kwani tayari tunabainisha bandari wakati tunapakia mchoro huko Arduino.

Kwa hivyo setup () itaonekana kama hii:

usanidi batili () {

Kuanzia Serial (9600); // kuanza mawasiliano ya serial

}

9600 hapa inataja kiwango cha baud ambacho pia tulikuwa tumetaja hii katika faili ya usindikaji. Kwa mawasiliano sahihi viwango vyote vya baud vinapaswa kuwa sawa au unaweza kuona pato la serial kama kitu kibaya.

Sasa hebu angalia sehemu ya kitanzi (). Sehemu hii ya nambari inaendesha mara nyingi. Ikiwa tunataka kusoma data kadhaa na bandari tutatumia njia ya Serial.read (). Kazi hii inarudi tupu ikiwa hakuna data inayopatikana kwa hivyo tutaita njia hii tu wakati tunayo data kadhaa kwenye mkondo wa Serial.

Kuangalia ikiwa kuna data inayopatikana tutatumia njia ya Serial.available (). Ikiwa inarudisha thamani kubwa kuliko 0 - data zingine zinapatikana.

Kwa hivyo sehemu ya kitanzi itaonekana kama hii:

kitanzi batili () {

ikiwa (Serial haipatikani ()> 0) {// ikiwa data zingine zinapatikana kwenye bandari ya serial

hali ya char = Serial.read (); // soma thamani

// ikiwa ni taarifa au ubadilishe kesi

}

}

Sasa tunaweza kutumia ikiwa ngazi au ikiwa kuna matokeo mengi iwezekanavyo tunaweza kutumia kesi ya kubadili pia kwa hali inayobadilika.

Hatua ya 4: Jenga Mdhibiti wa Sehemu ya GUI 7

Jenga Mdhibiti wa Sehemu ya GUI 7
Jenga Mdhibiti wa Sehemu ya GUI 7
Jenga Mdhibiti wa Sehemu ya GUI 7
Jenga Mdhibiti wa Sehemu ya GUI 7
Jenga Mdhibiti wa Sehemu ya GUI 7
Jenga Mdhibiti wa Sehemu ya GUI 7

Faili zimeambatanishwa hapa. Kumbuka: Kwa usindikaji utahitaji pia kusanikisha maktaba ya kudhibiti p5 ambayo nimetumia kuunda vifungo vya maingiliano vya GUI.

Nambari za siri

Sehemu 7 (kwa herufi) rejea picha

a - pini ya dijiti 2

b - pini ya dijiti 3

c - pini ya dijiti 4

d - pini ya dijiti 5

e - pini ya dijiti 6

f - pini ya dijiti 7

g - pini ya dijiti 8

dp - pini ya dijiti 9

Yote yaliyomo na nambari pia inapatikana kwenye github yangu hapa

Ilipendekeza: