Sadržaj:
- Korak 1: Korištenje Processing.serial
- Korak 2: Shvatite serijsku klasu
- Korak 3: Arduino serijska klasa
- Korak 4: Izgradite GUI 7 segmentni kontroler
Video: Povezivanje Processinga i Arduino -a te 7 -segmentni i servo GUI kontroler: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Za neke projekte koje ste morali koristiti morate koristiti Arduino jer pruža laku platformu za izradu prototipova, ali prikazivanje grafike na serijskom monitoru Arduina može potrajati, pa čak i teško izvesti. Možete prikazati grafikone na Arduino serijskom monitoru, ali grafikoni nisu jedino što ćete možda morati prikazati. Svi interaktivni objekti poput klizača, gumba, programa s 2D, 3D, PDF ili SVG izlazom, a također možete jednostavno stvoriti animacije. Zadani način programiranja za obradu je Java, ali možete je prebaciti na Android, p5.js, REPL, CoffeeScript i JavaScript. U ovom Instructable -u koristit ćemo način programiranja Java.
Sav sadržaj i kôd također su dostupni na mom githubu ovdje.
Korak 1: Korištenje Processing.serial
Kod obrade
Prva dva retka koda bit će
uvoz obrada.serial.*; Serijski myPort;
Ovdje u prvom retku uvozimo biblioteku - obradu, a u drugom retku stvaramo objekt klase Serijski pod imenom myPort, možete ga nazvati kako god želite prema pravilima imenovanja identifikatora.
U obradi imamo void setup () i void draw () gdje je void povratni tip funkcije koju također možete promijeniti u int setup () i int draw () ili drugu vrstu podataka koju želite, ali ćete morati vratiti vrijednost koja ima isti tip podataka kao tip podataka koji koristite prije funkcija.
u setup () zapisujemo izraze koje moramo jednom izvršiti, dok u draw () upisujemo izjave koje trebamo izvršiti više puta. Dva gore navedena retka koda trebaju biti napisana iznad void setup () jer trebaju imati globalni pristup.
U void setup () inicijalizirat ćemo objekt myPort.
void setup () {
veličina (800, 800);
myPort = novi serijski (ovo, "COM18", 9600);
}
Veličina linije (800, 800); definira veličinu zaslona 800 x 800 piksela.
Ključna riječ new u drugom retku koristi se za rezerviranje prostora za objekt u memoriji, argument ovo je referentna varijabla koja se odnosi na trenutni objekt. Argument COM18 je priključena luka Arduino, ovo nam je potrebno jer ćemo prenositi podatke putem serijskog sučelja. Broj 18 može biti različit u vašem slučaju, možete ga pronaći pod Alati> Priključak u Arduino IDE -u, a 9600 je brzina prijenosa koju možete promijeniti u Arduinu i u obradi.
Korak 2: Shvatite serijsku klasu
Konstruktor za Serial
Serijski (nadređeni, portName, baudRate, paritet, dataBits, stopBits)
Argumenti:
roditelj: obično koristite "ovo"
baudRate (int): 9600 je zadana vrijednost
portName (String): naziv porta (COM1 je zadana postavka)
paritet (char): 'N' za ništa, 'E' za parno, 'O' za neparno, 'M' za oznaku, 'S' za razmak ('N' je zadana postavka)
dataBits (int): 8 je zadana vrijednost
stopBits (float): 1.0, 1.5 ili 2.0 (1.0 je zadana postavka)
Važne metode:
- myPort.available () - vraća broj dostupnih bajtova.
- myPort.clear () - prazni međuspremnik i uklanja sve tamo pohranjene podatke.
- myPort.read () - Vraća broj između 0 i 255 za sljedeći bajt koji čeka u međuspremniku.
- myPort.readString () - Vraća sve podatke iz međuspremnika kao niz ili null ako nema ništa dostupno.
- myPort.write ("test") - Zapisuje bajtove, znakove, ints, bajtove , nizove na serijski port.
- myPort.stop () - Uspostavlja komunikaciju podataka na portu.
Korak 3: Arduino serijska klasa
Ne morate uvoziti serijsku klasu u Arduino prije uporabe.
U Arduinu postoje 2 funkcije koje se zovu setup () i loop () postavljanje se pokreće samo jednom, ali petlja se izvodi više puta. U setup () moramo pisati pomoću metode begin () za početak serijske komunikacije. U Arduinu za razliku od obrade, ne moramo spominjati port kao argumente metode begin () jer smo već naveli port prilikom učitavanja skice u Arduinu.
Dakle, setup () će izgledati ovako:
void setup () {
Serial.begin (9600); // započinje serijska komunikacija
}
9600 ovdje navodi brzinu prijenosa koju smo također spomenuli u datoteci za obradu. Za pravilnu komunikaciju, i brzine prijenosa trebale bi biti jednake ili ćete serijski izlaz vidjeti kao nešto blesavo.
Pogledajmo sada dio loop (). Ovaj dio koda radi više puta. Ako želimo čitati neke podatke putem porta, upotrijebit ćemo metodu Serial.read (). Ova funkcija vraća null ako nema dostupnih podataka pa ćemo ovu metodu nazvati samo kada imamo neke podatke na raspolaganju u Serial stream.
Za provjeru ima li dostupnih podataka upotrijebit ćemo metodu Serial.available (). Ako vrati vrijednost veću od 0 - dostupni su neki podaci.
Tako će dio loop () izgledati ovako:
void loop () {{100} {101}
if (Serial.available ()> 0) {// ako su neki podaci dostupni u serijskom portu
stanje char = Serial.read (); // očitavanje vrijednosti
// if izrazi ili prebacivanje velikih slova
}
}
Sada možemo koristiti ako ljestve ili ako postoji mnogo mogućih ishoda možemo koristiti i prekidač za promjenjivo stanje.
Korak 4: Izgradite GUI 7 segmentni kontroler
Datoteke su priložene ovdje. Napomena: Za obradu ćete također morati instalirati kontrolnu knjižnicu p5 koju sam koristio za stvaranje interaktivnih gumba GUI.
PIN brojevi
7 segment (abecednim redom) upućuju na sliku
a - digitalni pin 2
b - digitalni pin 3
c - digitalni pin 4
d - digitalni pin 5
e - digitalni pin 6
f - digitalni pin 7
g - digitalni pin 8
dp - digitalni pin 9
Sav sadržaj i kôd također su dostupni na mom githubu ovdje
Preporučeni:
Arduino kontroler za igre DIY - Arduino PS2 kontroler igre - Igranje Tekkena s DIY Arduino gamepadom: 7 koraka
Arduino kontroler za igre DIY | Arduino PS2 kontroler igre | Igranje Tekkena s DIY Arduino gamepad -om: Zdravo dečki, igranje igara uvijek je zabavno, ali igranje sa vlastitim DIY prilagođenim kontrolorom igara je zabavnije. Zato ćemo u ovim uputama napraviti kontroler igre pomoću arduino pro micro
Arduino LCD 16x2 vodič - Povezivanje 1602 LCD zaslona s Arduino Uno: 5 koraka
Arduino LCD 16x2 vodič | Povezivanje 1602 LCD zaslona s Arduino Uno: Zdravo dečki, budući da je za mnoge projekte potreban zaslon za prikaz podataka, bilo da se radi o nekom dijametru "uradi sam" ili o broju pretplatnika na YouTubeu ili kalkulatoru ili zaključavanju tipkovnice s zaslonom i ako su sve ove vrste projekata napravljene pomoću arduino će definitivno
Povezivanje servo motora s NodeMCU: 6 koraka (sa slikama)
Povezivanje servo motora s NodeMCU -om: Pozdrav svima, Ovo je moj prvi projekt koji se može uputiti. Dakle, želite započeti s NodeMCU -om? Pa, ovdje sam da podijelim s vama. Danas ću vam pokazati kako započeti s NodeMCU -om. Idemo! NodeMCU na ploči ESP8266-12E čini b
YABC - Još jedan kontroler Blynk - IoT kontroler temperature i vlažnosti u oblaku, ESP8266: 4 koraka
YABC - Još jedan kontroler Blynk - IoT kontroler temperature i vlažnosti u oblaku, ESP8266: Zdravo proizvođači, nedavno sam počeo uzgajati gljive kod kuće, gljive kamenice, ali već sam 3 puta imao ove kontrolere kod kuće za kontrolu temperature fermentatora za moju domaću marinu, supruga sada radi i ovu stvar Kombucha, a kao termostat za toplinu
Arduino HVAC servo termostat/kontroler: 5 koraka (sa slikama)
Arduino HVAC servo termostat/kontroler: Dobro došli u moju "zelenu" uputu! Pokazat ću vam kako koristiti Arduino, dva servo motora, senzor temperature i nešto metala (ili drva) za izradu digitalnog termostata za zidnu HVAC jedinicu. Prema CB Richardu Ellisu (veliki pravi