Turinys:
- 1 žingsnis: „Processing.serial“naudojimas
- 2 žingsnis: supraskite serijos klasę
- 3 žingsnis: „Arduino“serijos klasė
- 4 veiksmas: sukurkite GUI 7 segmentų valdiklį
Video: „Processing“ir „Arduino“prijungimas ir 7 segmentų ir servo GUI valdiklio prijungimas: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Kai kuriems projektams reikia naudoti „Arduino“, nes tai yra paprasta prototipų kūrimo platforma, tačiau grafikos rodymas „Arduino“serijos monitoriuje gali užtrukti gana ilgai ir net sunku. Galite rodyti grafikus „Arduino“serijos monitoriuje, tačiau grafikai nėra vienintelis dalykas, kurį gali tekti rodyti. Visi interaktyvūs objektai, pvz., Slankikliai, mygtukai, programos su 2D, 3D, PDF ar SVG išvestimi, taip pat galite lengvai kurti animaciją. Numatytasis programavimo režimas apdorojimui yra „Java“, tačiau galite jį pakeisti „Android“, „p5.js“, „REPL“, „CoffeeScript“ir „JavaScript“. Tačiau šioje instrukcijoje mes naudosime „Java“programavimo režimą.
Visas turinys ir kodas taip pat yra mano „github“čia.
1 žingsnis: „Processing.serial“naudojimas
Apdorojimo kodas
Pirmosios dvi kodo eilutės bus
importo apdorojimas.serijinis.*; Serijinis myPort;
Čia pirmoje eilutėje mes importuojame biblioteką - apdorojame, o antroje eilutėje sukuriame serijos klasės objektą, pavadintą myPort, galite jį pavadinti, kaip jums patinka, laikydamiesi identifikatoriaus pavadinimo taisyklių.
Apdorojant turime void setup () ir void draw (), kur void yra funkcijos grąžinimo tipas, kurį taip pat galite pakeisti į int setup () ir int draw () ar kitą jums patinkantį duomenų tipą, tačiau turėsite grąžinti reikšmė, kurios duomenų tipas yra toks pat, kaip ir duomenų tipo, kurį naudojate prieš funkcijas.
atliekant sąranką () rašome teiginius, kuriuos turime įvykdyti vieną kartą, o piešinyje () rašome teiginius, kuriuos turime vykdyti kelis kartus. Abi aukščiau paminėtos kodo eilutės turėtų būti parašytos virš void setup (), nes joms turi būti suteikta visuotinė prieiga.
Void setup () inicijuosime objektą myPort.
void setup () {
dydis (800, 800);
myPort = nauja serija (tai, "COM18", 9600);
}
Linijos dydis (800, 800); nustato ekrano dydį, kuris yra 800 pikselių 800 pikselių.
Raktinis žodis naujas antroje eilutėje naudojamas rezervuoti vietos objektui atmintyje, argumentas tai yra atskaitos kintamasis, nurodantis esamą objektą. Argumentas COM18 yra prijungtas „Arduino“prievadas, mums to reikia, nes duomenis perduosime per nuosekliąją sąsają. Skaičius 18 jūsų atveju gali būti kitoks, jį rasite „Arduino IDE“skiltyje Įrankiai> Uostas, o 9600 yra duomenų perdavimo sparta, kurią galite pakeisti tiek „Arduino“, tiek „Processing“.
2 žingsnis: supraskite serijos klasę
Serialo konstruktorius
Serijinis (pirminis, prievado pavadinimas, baudos greitis, paritetas, duomenų bitai, sustabdymo bitai)
Argumentai:
tėvai: paprastai naudokite „tai“
baudRate (int): 9600 yra numatytasis
portName (String): prievado pavadinimas (COM1 yra numatytasis)
paritetas (char): „N“- nė vienas, „E“- lyginis, „O“- nelyginis, „M“- ženklas, „S“- tarpas („N“yra numatytasis)
dataBits (int): 8 yra numatytasis
stopBits (plūdė): 1,0, 1,5 arba 2,0 (1,0 yra numatytasis)
Svarbūs metodai:
- myPort.available () - pateikia turimų baitų skaičių.
- myPort.clear () - ištuština buferį ir pašalina visus ten saugomus duomenis.
- myPort.read () - pateikia buferio laukiančio kito baito skaičių nuo 0 iki 255.
- myPort.readString () - grąžina visus buferio duomenis kaip eilutę arba nulį, jei nieko nėra.
- myPort.write ("testas") - Įrašo baitus, simbolius, intrus, baitus , eilutes į nuoseklųjį prievadą.
- myPort.stop () - Stps duomenų susmulkinimo uoste.
3 žingsnis: „Arduino“serijos klasė
Prieš naudojant serijinę klasę, nereikia jos importuoti į „Arduino“.
„Arduino“yra 2 funkcijos, vadinamos sąranka () ir kilpa (), sąranka vykdoma tik vieną kartą, bet ciklas veikia kelis kartus. Norėdami pradėti serijinį ryšį, sąrankoje () turime parašyti naudodamiesi pradžios () metodu. „Arduino“, skirtingai nei apdorojimas, mums nereikia paminėti uosto kaip „start“() metodo argumentų, nes mes jau nurodome prievadą įkeldami eskizą „Arduino“.
Taigi sąranka () atrodys taip:
void setup () {
Serial.begin (9600); // pradėti serijinį ryšį
}
9600 čia nurodo duomenų perdavimo spartą, kurią taip pat minėjome apdorojimo faile. Tinkamam bendravimui abu duomenų perdavimo greičiai turėtų būti vienodi arba galite matyti serijinę išvestį kaip kvailystę.
Dabar pažiūrėkime ciklo () dalį. Ši kodo dalis vykdoma kelis kartus. Jei norime kai kuriuos duomenis perskaityti per prievadą, naudosime metodą Serial.read (). Ši funkcija grąžina nulį, jei nėra duomenų, todėl šį metodą vadinsime tik tada, kai serijiniame sraute bus duomenų.
Norėdami patikrinti, ar yra tam tikrų duomenų, naudosime metodą Serial.available (). Jei pateikiama reikšmė didesnė nei 0 - yra tam tikrų duomenų.
Taigi ciklo () dalis atrodys taip:
void loop () {
if (Serial.available ()> 0) {// jei serijiniame prievade yra tam tikrų duomenų
char būsena = Serial.read (); // skaityti vertę
// jei teiginiai arba perkeliamos raidės
}
}
Dabar galime naudoti, jei kopėčios arba jei yra daug galimų rezultatų, kintamos būsenos jungiklį taip pat galime naudoti.
4 veiksmas: sukurkite GUI 7 segmentų valdiklį
Failai pridedami čia. Pastaba: apdorojimui taip pat turėsite įdiegti valdymo p5 biblioteką, kurią naudoju kurdamas interaktyvius GUI mygtukus.
Smeigtukų skaičiai
7 segmentai (abėcėlės tvarka) nurodo vaizdą
a - skaitmeninis kaištis 2
b - skaitmeninis kaištis 3
c - skaitmeninis kaištis 4
d - skaitmeninis kaištis 5
e - skaitmeninis kaištis 6
f - skaitmeninis kaištis 7
g - skaitmeninis kaištis 8
dp - skaitmeninis kaištis 9
Visas turinys ir kodas taip pat yra mano „github“čia
Rekomenduojamas:
Servo valdiklio pašalinimas: 5 žingsniai (su nuotraukomis)
Pašalinkite servo valdiklį: Servo varikliai yra labai įdomūs, kai norite lengvai sujungti reduktorių su mikrovaldikliu. Tačiau kartais norisi gražaus variklio su pavara ir nenorite, kad jį varytų valdymo grandinės. Tokiais momentais būna
„Arduino“klaviatūros vairasvirtės išplėtimo dėžutė ir garso valdiklio dalykas naudojant „Deej“: 8 žingsniai
„Arduino“klaviatūros kreiptuko prailginimo dėžutė ir garso valdiklis, naudojant „Deej“: Kodėl Kurį laiką aš norėjau prie klaviatūros pridėti mažą vairasvirtę, kad galėčiau valdyti sąsajos elementus, arba atlikti kitas mažesnes žaidimų ir simuliatorių užduotis („MS Flight Sim“, „Elite: Dangerous“, Žvaigždžių karai: eskadrilės ir kt.). Taip pat „Elite: Dangerous“aš buvau
„Arduino MIDI“valdiklio kūrimas: 9 žingsniai (su nuotraukomis)
„Arduino MIDI“valdiklio kūrimas: Šis nurodymas iš pradžių buvo paskelbtas mano tinklaraštyje 2020 m. Birželio 28 d. Man patinka kurti medžiagą, apimančią elektroniką, ir aš visada norėjau ką nors sukurti naudodami „Arduino“. Vienas iš labiausiai paplitusių pradedantiesiems sukurtų kūrinių buvo MIDI valdiklis
„Arduino DIY“„Bluetooth“valdiklio LED RGB juostelė: 4 žingsniai
„Arduino DIY“„Bluetooth“valdiklio LED RGB juostelė: Sveiki visi, tai yra antrasis projektas, kuriuo noriu pasidalinti su jumis! Šiandien aš jums parodysiu, kaip prijungti „Arduino“ir „Bluetooth“modulį, o vėliau naudoti jį LED RGB juostelės valdymui. Šiame vadove mes naudos „Bluetooth“modulį „HC-06“, nes jis yra che
„Arduino 2-in-1“traukinio valdiklio modelis: 4 žingsniai
„Arduino 2-in-1“modelio traukinio valdiklis: Prieš keturiasdešimt metų sukūriau op-amp pagrindu sukurtą traukinio droselio droselį kelioms draugėms, o prieš maždaug ketverius metus jį sukūriau naudodamas PIC mikrovaldiklį. Šis „Arduino“projektas atkuria PIC versiją, tačiau taip pat suteikia galimybę naudoti