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 i Make 7 Segment i Servo GUI kontrolera: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Za neke projekte koje ste napravili morate koristiti Arduino jer pruža laku platformu za izradu prototipova, ali prikazivanje grafike na serijskom monitoru Arduina može potrajati prilično dugo, 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 ga promijeniti Android, p5.js, REPL, CoffeeScript i JavaScript. U ovom Instructable -u koristit ćemo način programiranja Java.
Sav sadržaj i kôd su takođe dostupni na mom githubu.
Korak 1: Korištenje Processing.serial
Kod obrade
Prva dva reda koda će biti
import processing.serial.*; Serijski myPort;
Ovdje u prvom retku uvozimo biblioteku - obradu, a u drugom retku stvaramo objekt klase Serijski po imenu 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 neki drugi tip podataka koji vam se sviđa, ali ćete morati vratiti vrijednost koja ima isti tip podataka kao tip podataka koji koristite prije funkcija.
u setup () zapisujemo naredbe koje moramo jednom izvršiti, dok u draw () upisujemo izjave koje trebamo izvršiti više puta. Dvije gore navedene linije koda trebale bi biti napisane 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 ekrana 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čeni port Arduino, ovo nam je potrebno jer ćemo prenositi podatke putem serijskog sučelja. Broj 18 može biti drugačiji u vašem slučaju, možete ga pronaći pod Alati> Port 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 nijedno, 'E' za parno, 'O' za neparno, 'M' za oznaku, 'S' za razmak ('N' je zadano)
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 bafer i uklanja sve podatke koji su tamo pohranjeni.
- myPort.read () - Vraća broj između 0 i 255 za sljedeći bajt koji čeka u baferu.
- 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 upotrebe.
U Arduinu postoje 2 funkcije koje se zovu setup () i loop () postavljanje se pokreće samo jednom, ali petlja se pokreće više puta. U setup () moramo pisati koristeći begin () metodu za pokretanje serijske komunikacije. U Arduinu za razliku od obrade, ne moramo spominjati port kao argumente metode begin () jer smo već naveli port prilikom postavljanja skice u Arduino.
Dakle, setup () će izgledati ovako:
void setup () {
Serial.begin (9600); // započinje serijska komunikacija
}
9600 ovdje specificira brzinu prijenosa koju smo također spomenuli u datoteci za obradu. Za ispravnu komunikaciju, i brzine prijenosa bi trebale biti jednake ili ćete serijski izlaz vidjeti kao nešto što je blesavo.
Pogledajmo sada dio loop (). Ovaj dio koda radi više puta. Ako želimo čitati neke podatke preko porta, upotrijebit ćemo metodu Serial.read (). Ova funkcija vraća null ako nema dostupnih podataka, pa ćemo ovu metodu pozvati samo kada imamo neke podatke na raspolaganju u Serial stream -u.
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 na serijskom portu
stanje char = Serial.read (); // očitavanje vrijednosti
// if naredbe ili velika slova
}
}
Sada možemo koristiti ako ljestve ili ako postoji mnogo mogućih ishoda možemo koristiti i prekidač za varijabilno stanje.
Korak 4: Izgradite GUI 7 segmentni kontroler
Datoteke su priložene ovdje. Napomena: Za obradu ćete također morati instalirati kontrolnu p5 biblioteku koju sam koristio za kreiranje interaktivnih gumba GUI.
PIN brojevi
7 segmenata (po abecednom redu) 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 su takođe dostupni na mom githubu
Preporučuje se:
Uklanjanje servo kontrolera: 5 koraka (sa slikama)
Uklonite servo upravljač: Servo motori su velika zabava kada želite jednostavno povezati upravljački motor s mikro kontrolerom. Međutim, ponekad želite lijep motor s malim zupčanikom i ne želite da vas muče upravljačka kola koja ga pokreću. U ovakvim trenucima je
Vodič za povezivanje PLSD -a: Povezivanje na Apple TV putem AirPlay -a [Neslužbeno]: 10 koraka
PLSD Vodič za povezivanje: Povezivanje na Apple TV putem AirPlay -a [Neslužbeno]: Sljedeći vodič pruža ilustraciju procesa povezivanja sa Apple TV -ima u konferencijskoj sali putem AirPlay -a. Ovaj neslužbeni izvor dostupan je iz ljubaznosti administraciji, osoblju i ovlaštenim gostima Perkins lokalne školske oblasti
Adapter za probijanje PS2 kontrolera za povezivanje Arduina: 10 koraka
Adapter za probijanje PS2 kontrolera za Arduino povezivanje: Kontroler PlayStation 2 je zaista koristan gamepad za projekte robotike. Jeftin je, obilno dostupan (rabljen), sadrži hrpu gumba i kompatibilan je s Arduinom! Da biste ga koristili, potreban vam je poseban priključak za spajanje na
Kako pokrenuti Drone Quadcopter motor bez četkica bez četkica pomoću HW30A kontrolera brzine motora bez četkica i servo testera: 3 koraka
Kako pokrenuti Drone Quadcopter motor bez četkica bez četkica pomoću kontrolera brzine motora bez četkica HW30A i servo testera: Opis: Ovaj uređaj se zove Servo motor tester koji se može koristiti za pokretanje servo motora jednostavnim priključivanjem servo motora i napajanjem na njega. Uređaj se može koristiti i kao generator signala za električni regulator brzine (ESC), tada ne možete
Povezivanje servo motora sa NodeMCU: 6 koraka (sa slikama)
Povezivanje servo motora s NodeMCU: Pozdrav svima, Ovo je moj prvi projekt koji se može uputiti. Dakle, želite li započeti s NodeMCU? 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