Obsah:
- Krok 1: Použitie súboru Processing.serial
- Krok 2: Pochopte sériovú triedu
- Krok 3: Sériová trieda Arduino
- Krok 4: Zostavte segmentový radič GUI 7
Video: Pripojenie procesora a Arduina a 7 -segmentového a servo radiča GUI: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Pri niektorých projektoch, ktoré ste urobili, musíte použiť Arduino, pretože poskytuje jednoduchú platformu na prototypovanie, ale zobrazenie grafiky v sériovom monitore Arduina môže trvať dosť dlho a dokonca je ťažké ho vykonať. Grafy môžete zobrazovať na sériovom monitore Arduino, ale grafy nie sú jedinou vecou, ktorú budete musieť zobraziť. Všetky interaktívne objekty, ako sú posuvníky, tlačidlá, programy s výstupom 2D, 3D, PDF alebo SVG, a tiež môžete ľahko vytvárať animácie. Predvolený režim programovania na spracovanie je Java, ale môžete ho prepnúť na Android, p5.js, REPL, CoffeeScript a JavaScript. V tomto návode však použijeme režim programovania Java.
Všetok obsah a kód je tiež k dispozícii na mojom github tu.
Krok 1: Použitie súboru Processing.serial
Spracovateľský kód
Prvé dva riadky kódu budú
spracovanie importu.sériové.*; Sériový myPort;
Tu v prvom riadku importujeme knižnicu - spracovanie a v druhom rade vytvárame objekt triedy Sériové meno myPort, podľa pravidiel pomenovania identifikátora ho môžete pomenovať, ako chcete.
Pri spracovaní máme neplatné nastavenie () a neplatné kreslenie (), kde neplatnosť je návratový typ funkcie, môžete ju tiež zmeniť na int setup () a int draw () alebo iný typ údajov, ktorý sa vám páči, ale budete musieť vrátiť hodnota, ktorá má rovnaký dátový typ ako dátový typ, ktorý používate pred funkciami.
v setup () napíšeme príkazy, ktoré potrebujeme vykonať raz, zatiaľ čo v draw () napíšeme príkazy, ktoré potrebujeme vykonať viackrát. Dva vyššie uvedené riadky kódu by mali byť zapísané nad neplatné nastavenie (), pretože potrebujú globálny prístup.
V neplatnom nastavení () inicializujeme objekt myPort.
neplatné nastavenie () {
veľkosť (800, 800);
myPort = nový sériový port (tento, „COM18“, 9600);
}
Veľkosť čiary (800, 800); definuje veľkosť obrazovky 800 x 800 pixelov.
Kľúčové slovo nové v druhom riadku slúži na rezerváciu miesta pre objekt v pamäti. Argument toto je referenčná premenná, ktorá odkazuje na aktuálny objekt. Argument COM18 je port pripojeného Arduina, potrebujeme to, pretože budeme prenášať údaje cez sériové rozhranie. Číslo 18 sa vo vašom prípade môže líšiť, nájdete ho v časti Nástroje> Port v Arduino IDE a 9600 je prenosová rýchlosť, ktorú môžete zmeniť v Arduine aj v Processingu.
Krok 2: Pochopte sériovú triedu
Konštruktor pre Serial
Sériové (nadradený, názov_portu, prenosová rýchlosť, parita, dátové bity, stopbity)
Argumenty:
rodič: zvyčajne používajte „toto“
baudRate (int): 9600 je predvolená hodnota
portName (String): názov portu (COM1 je predvolený)
parita (char): „N“pre žiadne, „E“pre párne, „O“pre nepárne, „M“pre značku, „S“pre medzeru („N“je predvolené)
dataBits (int): 8 je predvolená hodnota
stopBits (float): 1,0, 1,5 alebo 2,0 (1,0 je predvolené)
Dôležité metódy:
- myPort.available () - vráti počet dostupných bytov.
- myPort.clear () - vyprázdni vyrovnávaciu pamäť a odstráni všetky tam uložené údaje.
- myPort.read () - Vráti číslo od 0 do 255 pre ďalší bajt, ktorý čaká vo vyrovnávacej pamäti.
- myPort.readString () - Vráti všetky údaje z vyrovnávacej pamäte ako String alebo null, ak nie je nič k dispozícii.
- myPort.write ("test") - Zapíše bajty, znaky, inty, bajty , reťazce na sériový port.
- myPort.stop () - Zastaví začatie údajov na porte.
Krok 3: Sériová trieda Arduino
Pred použitím sériovú triedu do Arduina nemusíte importovať.
V Arduine existujú 2 funkcie nazývané setup () a loop (), nastavenie beží iba raz, ale slučka beží viackrát. V setup () musíme na spustenie sériovej komunikácie použiť metódu begin (). V Arduine na rozdiel od spracovania nemusíme uvádzať port ako argumenty metódy begin (), pretože port už zadávame pri odosielaní náčrtu do Arduina.
Takže setup () bude vyzerať takto:
neplatné nastavenie () {
Serial.begin (9600); // spustenie sériovej komunikácie
}
9600 tu určuje prenosovú rýchlosť, ktorú sme uviedli aj v spracovateľskom súbore. Pre správnu komunikáciu by mali byť obidve prenosové rýchlosti rovnaké alebo môže byť sériový výstup považovaný za niečo bláznivé.
Teraz sa pozrime na časť loop (). Táto časť kódu beží viackrát. Ak chceme z portu načítať niektoré údaje, použijeme metódu Serial.read (). Táto funkcia vráti hodnotu null, ak nie sú k dispozícii žiadne údaje, takže túto metódu zavoláme, iba ak budeme mať k dispozícii nejaké údaje v sériovom prúde.
Na kontrolu, či sú k dispozícii nejaké údaje, použijeme metódu Serial.available (). Ak vráti hodnotu väčšiu ako 0 - sú k dispozícii niektoré údaje.
Časť loop () bude teda vyzerať takto:
prázdna slučka () {
if (Serial.available ()> 0) {// ak sú v sériovom porte k dispozícii nejaké údaje
char state = Serial.read (); // prečítaj hodnotu
// if vyhlásenia alebo veľkosť písmen
}
}
Teraz môžeme použiť if ladder alebo ak existuje veľa možných výsledkov, môžeme použiť aj prípad prepínača pre variabilný stav.
Krok 4: Zostavte segmentový radič GUI 7
Súbory sú priložené tu. Poznámka: Na spracovanie budete tiež musieť nainštalovať knižnicu control p5, ktorú som použil na vytvorenie interaktívnych tlačidiel GUI.
Čísla pinov
7 segmentové (v abecednom poradí) odkazujú na obrázok
a - digitálny kolík 2
b - digitálny kolík 3
c - digitálny kolík 4
d - digitálny kolík 5
e - digitálny kolík 6
f - digitálny kolík 7
g - digitálny kolík 8
dp - digitálny pin 9
Všetok obsah a kód je tiež k dispozícii na mojom github tu
Odporúča:
Návrh jednoduchého štvorsmerového radiča asociatívnej vyrovnávacej pamäte vo VHDL: 4 kroky
Návrh jednoduchého štvorsmerového radiča asociatívnej vyrovnávacej pamäte vo VHDL: V mojom predchádzajúcom návode sme videli, ako navrhnúť jednoduchý radič vyrovnávacej pamäte s priamym mapovaním. Tentokrát sa posunieme o krok vpred. Navrhneme jednoduchý štvorsmerový radič asociatívnej vyrovnávacej pamäte. Výhoda? Menšia miera zmeškania, ale za cenu perfo
Návrh jednoduchého radiča vyrovnávacej pamäte vo VHDL: 4 kroky
Návrh jednoduchého ovládača vyrovnávacej pamäte vo VHDL: píšem tento návod, pretože bolo pre mňa trochu ťažké získať nejaký referenčný kód VHDL, aby som sa ho naučil a začal navrhovať radič vyrovnávacej pamäte. A tak som sám navrhol radič vyrovnávacej pamäte od začiatku a úspešne som ho otestoval na FPGA. Mám p
Flash disk radiča NES USB: 6 krokov
Flash disk radiča NES USB: Je to ľahký spôsob, ako premeniť ovládač Nes na praktický flash disk. NIE JE SÚČASŤOU SÚVISIACE S PÁJOM !! (Toto je náš prvý návod, takže obrázky a pokyny môžu byť amatérske!) Tento návod sme znova urobili s lepšími obrázkami, takže dúfam, že
USB flash disk radiča NES: 8 krokov
USB flash disk radiča NES: Čo mám robiť so svojim starým pokazeným ovládačom NES !!!!! ?????? Je to skvelý spôsob, ako vylepšiť svoj tupý flash disk a oklamať svojich priateľov, aby si mysleli, že ste znova zapojili váš ovládač pre úložisko. Poznámka- Ak nemôžete vydržať rozobrať kúsok Nintu
LED Rainbow - Konštrukcia RGB LED PWM radiča - Jednoduché zostavenie: 15 krokov
LED Rainbow - Konštrukcia RGB LED PWM radiča - Jednoduché zostavenie: Podrobné pokyny k stavbe LED Rainbow RGB LED PWM ovládača krok za krokom. Potrebné je len minimálne množstvo dielov spolu s procesorom PIC a môžete skonštruovať jeden z najúžasnejších dostupných ovládačov LED. S