Sisällysluettelo:

Prosessoinnin ja Arduino- ja Make 7 Segment- ja Servo -GUI -ohjaimen yhdistäminen: 4 vaihetta
Prosessoinnin ja Arduino- ja Make 7 Segment- ja Servo -GUI -ohjaimen yhdistäminen: 4 vaihetta

Video: Prosessoinnin ja Arduino- ja Make 7 Segment- ja Servo -GUI -ohjaimen yhdistäminen: 4 vaihetta

Video: Prosessoinnin ja Arduino- ja Make 7 Segment- ja Servo -GUI -ohjaimen yhdistäminen: 4 vaihetta
Video: Paranemisenmatka ja jatkuva prosessoinnin tarpeen harha💥Oma totuus vai yksi totuus💥Läsnäolo💥 2024, Marraskuu
Anonim
Prosessoinnin ja Arduinon yhdistäminen ja Tee 7 -segmenttinen ja Servo -GUI -ohjain
Prosessoinnin ja Arduinon yhdistäminen ja Tee 7 -segmenttinen ja Servo -GUI -ohjain

Joissakin tekemissäsi projekteissa sinun on käytettävä Arduinoa, koska se tarjoaa helpon prototyyppialustan, mutta grafiikan näyttäminen Arduinon sarjamonitorissa voi kestää melko kauan ja on jopa vaikeaa tehdä. Voit näyttää kaavioita Arduino -sarjamonitorissa, mutta kaaviot eivät ole ainoa, mitä saatat joutua näyttämään. Kaikki interaktiiviset objektit, kuten liukusäätimet, painikkeet, ohjelmat, joissa on 2D-, 3D-, PDF- tai SVG -ulostulo, ja voit myös luoda animaatioita helposti. Käsittelyn oletusohjelmointitila on Java, mutta voit vaihtaa sen Android, p5.js, REPL, CoffeeScript ja JavaScript. Tässä ohjeessa käytämme kuitenkin Java -ohjelmointitilaa.

Kaikki sisältö ja koodi ovat myös saatavilla githubissani täällä.

Vaihe 1: Processing.serialin käyttö

Käsittelykoodi

Kaksi ensimmäistä koodiriviä ovat

tuonti käsittely. sarja.*; Sarja myPort;

Tässä ensimmäisellä rivillä tuomme kirjaston käsittelyä ja toisella rivillä luomme sarjan sarjan objektin nimeltä myPort, voit nimetä sen haluamallasi tavalla tunnisteen nimeämissääntöjen mukaisesti.

Käsittelyn aikana meillä on void setup () ja void draw (), jossa void on funktion palautustyyppi, jonka voit muuttaa myös int setup (): ksi ja int draw (): ksi tai muuksi haluamaasi tietotyypiksi, mutta sinun on palautettava arvo, jolla on sama tietotyyppi kuin ennen toimintoja käyttämäsi tietotyyppi.

asennuksessa () kirjoitamme lausekkeet, jotka meidän on suoritettava kerran, kun taas piirtämisessä () kirjoitamme lausekkeet, jotka meidän on suoritettava useita kertoja. Edellä mainitut kaksi koodiriviä on kirjoitettava void setup (): n yläpuolelle, koska niillä on oltava yleinen käyttöoikeus.

Void setupissa () alustamme myPort -objektin.

void setup () {

koko (800, 800);

myPort = uusi sarja (tämä, "COM18", 9600);

}

Viivan koko (800, 800); määrittää näytön koon, joka on 800 x 800 pikseliä.

Toisella rivillä olevaa avainsanaa new käytetään varaamaan tilaa muistille, argumentti tämä on viitemuuttuja, joka viittaa nykyiseen objektiin. Argumentti COM18 on liitetty Arduinon portti, tarvitsemme tätä, koska kuljetamme tietoja sarjaliitännän kautta. Numero 18 voi olla erilainen tapauksessasi, löydät sen Arduino IDE: n Työkalut> Portti -kohdasta ja 9600 on baudinopeus, jota voit muuttaa sekä Arduinossa että Processingissa.

Vaihe 2: Ymmärrä sarjaluokka

Sarjan rakentaja

Sarja (vanhempi, portin nimi, baudinopeus, pariteetti, dataBitti, stopBitti)

Argumentit:

vanhempi: käytä yleensä "tätä"

baudRate (int): 9600 on oletus

portName (String): portin nimi (COM1 on oletus)

pariteetti (merkki): 'N' ei mitään, 'E' parillinen, 'O' pariton, 'M' merkki, 'S' välilyönti ('N' on oletusarvo)

dataBits (int): 8 on oletus

stopBits (float): 1,0, 1,5 tai 2,0 (1,0 on oletus)

Tärkeitä menetelmiä:

  1. myPort.available () - palauttaa käytettävissä olevien tavujen määrän.
  2. myPort.clear () - tyhjentää puskurin ja poistaa kaikki siihen tallennetut tiedot.
  3. myPort.read () - Palauttaa luvun väliltä 0–255 seuraavalle tavulle, joka odottaa puskurissa.
  4. myPort.readString () - Palauttaa kaikki puskurin tiedot merkkijonoina tai nollana, jos mitään ei ole saatavilla.
  5. myPort.write ("testi") - Kirjoittaa tavuja, merkkejä, intejä, tavuja , merkkijonoja sarjaporttiin.
  6. myPort.stop () - Käynnistää datan rajaamisen portissa.

Vaihe 3: Arduino -sarjaluokka

Sinun ei tarvitse tuoda sarjaluokkaa Arduinossa ennen sen käyttöä.

Arduinossa on kaksi toimintoa nimeltä setup () ja silmukka () asennus suoritetaan vain kerran, mutta silmukka suoritetaan useita kertoja. Setup (): ssa meidän on kirjoitettava käyttämällä aloitus () -menetelmää sarjaliikenteen aloittamiseksi. Arduinossa, toisin kuin käsittelyssä, meidän ei tarvitse mainita porttia aloitus () -metodin argumentteina, koska määritämme portin jo ladatessasi luonnosta Arduinossa.

Joten asennus () näyttää tältä:

void setup () {

Sarja.alku (9600); // aloittaa sarjaliikenteen

}

9600 tässä määrittelee baudinopeuden, jonka olimme maininneet myös käsittelytiedostossa. Oikean kommunikaation takaamiseksi molempien siirtonopeuksien tulisi olla yhtä suuret, tai saatat nähdä sarjaliitännän hölynpölynä.

Katsotaan nyt silmukan () osaa. Tämä koodin osa suoritetaan useita kertoja. Jos haluamme lukea joitain tietoja portin kautta, käytämme Serial.read () -menetelmää. Tämä funktio palauttaa nullin, jos tietoja ei ole saatavilla, joten kutsumme tätä menetelmää vain, kun meillä on joitain tietoja sarjavirrassa.

Tarkistaaksemme, onko tietoja saatavilla, käytämme Serial.available () -menetelmää. Jos se palauttaa arvon, joka on suurempi kuin 0 - joitakin tietoja on saatavilla.

Joten silmukka () -osa näyttää tältä:

void loop () {

if (Serial.available ()> 0) {// jos tietoja on saatavana sarjaportista

char -tila = Serial.read (); // lue arvo

// jos lausunnot tai vaihda kirjainta

}

}

Nyt voimme käyttää, jos tikkaat tai jos on monia mahdollisia tuloksia, voimme käyttää vaihtokoteloa myös muuttuvassa tilassa.

Vaihe 4: Luo GUI 7 -segmentin ohjain

Rakenna GUI 7 -segmentin ohjain
Rakenna GUI 7 -segmentin ohjain
Rakenna GUI 7 -segmentin ohjain
Rakenna GUI 7 -segmentin ohjain
Rakenna GUI 7 -segmentin ohjain
Rakenna GUI 7 -segmentin ohjain

Tiedostot on liitetty tähän. Huomautus: Käsittelyä varten sinun on asennettava myös ohjaus p5 -kirjasto, jota olen käyttänyt interaktiivisten GUI -painikkeiden luomiseen.

Pin -numerot

7 -segmentti (aakkosjärjestyksessä) viittaa kuvaan

a - digitaalinen nasta 2

b - digitaalinen nasta 3

c - digitaalinen nasta 4

d - digitaalinen nasta 5

e - digitaalinen nasta 6

f - digitaalinen nasta 7

g - digitaalinen nasta 8

dp - digitaalinen nasta 9

Kaikki sisältö ja koodi ovat myös saatavilla githubissani täällä

Suositeltava: