Sisukord:

Töötlemise ja Arduino ühendamine ning 7 segmendi ja servo GUI kontrolleri ühendamine: 4 sammu
Töötlemise ja Arduino ühendamine ning 7 segmendi ja servo GUI kontrolleri ühendamine: 4 sammu

Video: Töötlemise ja Arduino ühendamine ning 7 segmendi ja servo GUI kontrolleri ühendamine: 4 sammu

Video: Töötlemise ja Arduino ühendamine ning 7 segmendi ja servo GUI kontrolleri ühendamine: 4 sammu
Video: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, Рик Хулихан 2024, November
Anonim
Ühendage töötlemine ja Arduino ning tehke 7 segmendi ja servo GUI kontroller
Ühendage töötlemine ja Arduino ning tehke 7 segmendi ja servo GUI kontroller

Mõne teie tehtud projekti puhul on vaja kasutada Arduinot, kuna see pakub lihtsat prototüüpimisplatvormi, kuid graafika kuvamine Arduino jadamonitoris võib võtta päris kaua aega ja seda on isegi raske teha. Graafikuid saate kuvada Arduino jadamonitoril, kuid graafikud pole ainus, mida peate kuvama. Kõik interaktiivsed objektid, nagu liugurid, nupud, 2D-, 3D-, PDF- või SVG -väljundiga programmid, samuti saate hõlpsalt animatsioone luua. Töötlemiseks on vaikimisi programmeerimisrežiim Java, kuid saate seda vahetada Android, p5.js, REPL, CoffeeScript ja JavaScript. Selles juhendis kasutame siiski Java programmeerimisrežiimi.

Kogu sisu ja kood on saadaval ka minu githubis siin.

Samm 1: Processing.seria kasutamine

Töötlemise kood

Koodi esimesed kaks rida on

impordi töötlemine.seriaalne.*; Seeria myPort;

Siin esimesel real impordime raamatukogu - töötlemist ja teisel real loome klassi Serial objekti nimega myPort, võite sellele nime anda mis tahes, järgides identifikaatori nimetamise reegleid.

Töötlemisel on meil void setup () ja void draw (), kus void on funktsiooni tagastustüüp, mille saate muuta ka int setup () ja int draw () või muuks meelepäraseks andmetüübiks, kuid peate tagastama väärtus, millel on sama andmetüüp kui andmetüübil, mida kasutasite enne funktsioone.

seadistuses () kirjutame avaldused, mida peame üks kord täitma, samas kui joonistuses () kirjutame avaldused, mida peame täitma mitu korda. Eespool nimetatud kaks koodirida tuleks kirjutada void setup () kohale, kuna neil peab olema üldine juurdepääs.

Void setupis () lähtestame objekti myPort.

tühine seadistus () {

suurus (800, 800);

myPort = uus seeria (see, "COM18", 9600);

}

Liini suurus (800, 800); määrab ekraani suuruseks 800 x 800 pikslit.

Teisel real olevat võtmesõna new kasutatakse mälus olevale objektile ruumi reserveerimiseks, argument see on viitemuutuja, mis viitab praegusele objektile. Argument COM18 on ühendatud Arduino sadam, me vajame seda, kuna transpordime andmeid jadaliidese kaudu. Number 18 võib teie puhul olla erinev, selle leiate Arduino IDE menüüst Tööriistad> Port ja 9600 on edastuskiirus, mida saate muuta nii Arduino kui ka töötlemise korral.

2. samm: mõistke seeriaklassi

Seriali konstruktor

Seeria (vanem, portName, baudRate, pariteet, dataBits, stopBits)

Argumendid:

lapsevanem: kasutage tavaliselt "seda"

baudRate (int): vaikimisi on 9600

portName (string): pordi nimi (COM1 on vaikimisi)

pariteet (sümbol): "N" ei ole, "E" on paaris, "O" on paaritu, "M" tähistab, "S" on tühik ("N" on vaikimisi)

dataBits (int): vaikimisi on 8

stopBits (ujuk): 1,0, 1,5 või 2,0 (vaikimisi on 1,0)

Olulised meetodid:

  1. myPort.available () - tagastab saadaolevate baitide arvu.
  2. myPort.clear () - tühjendab puhvri ja eemaldab kõik sinna salvestatud andmed.
  3. myPort.read () - tagastab järgmise puhvris ootava baidi arvu vahemikus 0 kuni 255.
  4. myPort.readString () - tagastab kõik andmed puhvrist stringina või nullina, kui midagi pole saadaval.
  5. myPort.write ("test") - kirjutab jadapordile baite, märke, inte, baite , stringe.
  6. myPort.stop () - peatab andmete peenestamise sadamas.

Samm: Arduino jadaklass

Te ei pea Arduino seeriaklassi enne selle importimist importima.

Arduinos on kaks funktsiooni, mida nimetatakse setup () ja loop (), seadistus töötab ainult üks kord, kuid tsükkel töötab mitu korda. Seadistuses () peame kirjutama, kasutades jadaühenduse alustamiseks meetodit start (). Erinevalt töötlemisest ei pea me Arduinos porti mainima meetodi start () argumentidena, kuna määrame porti juba eskiisi Arduinos üleslaadimisel.

Seadistus () näeb välja selline:

tühine seadistus () {

Seriaalne algus (9600); // jadaühenduse alustamine

}

9600 siin määrab edastuskiiruse, mida me ka töötlemisfailis mainisime. Nõuetekohaseks suhtlemiseks peaksid mõlemad edastuskiirused olema võrdsed või võite näha seeriaväljundit kui jama.

Nüüd vaatame silmuse () osa. See koodi osa töötab mitu korda. Kui tahame pordi järgi mõnda teavet lugeda, kasutame meetodit Serial.read (). See funktsioon tagastab nulli, kui andmeid pole saadaval, nii et me nimetame seda meetodit ainult siis, kui meil on jadavoos saadaolevaid andmeid.

Et kontrollida, kas andmeid on saadaval, kasutame meetodit Serial.available (). Kui see tagastab väärtuse, mis on suurem kui 0 - mõned andmed on saadaval.

Nii et loop () osa näeb välja selline:

void loop () {

if (Serial.available ()> 0) {// kui jadaportis on teatud andmed saadaval

char olek = Serial.read (); // loe väärtust

// kui avaldused või vaheta väiketähti

}

}

Nüüd saame redeli või paljude võimalike tulemuste korral kasutada muutuva oleku jaoks ka lülituskorpust.

Samm: looge GUI 7 segmendi kontroller

Ehitage GUI 7 segmendi kontroller
Ehitage GUI 7 segmendi kontroller
Ehitage GUI 7 segmendi kontroller
Ehitage GUI 7 segmendi kontroller
Ehitage GUI 7 segmendi kontroller
Ehitage GUI 7 segmendi kontroller

Failid on lisatud siia. Märkus. Töötlemiseks peate installima ka kontrollp5 teegi, mida olen kasutanud interaktiivsete GUI -nuppude loomisel.

Pin -numbrid

7 -segment (tähestikulises järjekorras) viitab pildile

a - digitaalne tihvt 2

b - digitaalne tihvt 3

c - digitaalne tihvt 4

d - digitaalne tihvt 5

e - digitaalne tihvt 6

f - digitaalne tihvt 7

g - digitaalne tihvt 8

dp - digitaalne tihvt 9

Kogu sisu ja kood on saadaval ka minu githubis siin

Soovitan: