Olen praegu Arduino projektiraamatu projektis nr 14.
Püüan Arduino abil juhtida oma sülearvuti töötlemise visandit. Selle saavutamiseks kasutatakse potentsiomeetrit pildi tausta juhtimiseks.
Arduino kood:
void setup () {Serial.begin (9600);} void loop () {Serial.write (analogRead (A0) / 4);}
Töötlemine:
// impordib jadakoguimport processing.serial. *; // seab jadaobjektiSerial myPort; // loob objekti imagePImage logole; // muutuja taustavärvi salvestamiseks bgcolor = 0; void setup () {colorMode (HSB, 255); logo = loadImage ("http://arduino.cc/logo.png"); suurus (logo.laius, logo.kõrgus); println ("Saadaval jadapordid"); println (Serial.list ()); myPort = uus jada (see, Serial.list () [0], 9600);} // arduino tsükli funktsiooni ekvivalent väldi joonistamist () {if (myPort.available () > 0) {bgcolor = myPort.read (); println (bgvärv); } Taust (bgcolor, 255,255); pilt (logo, 0,0);}
Kui kood töötab ja taustavärv potentsiomeetri pööramisel muutub, on tohutu viivitus potentsiomeetri pööramise ja tausta värvi muutumise vahel ning Arduino / potentsiomeetri väärtused muutuvad töötlemise seeriamonitoril.
Mida olen proovinud:
- Seeriaside kiiruse muutmine
Olen märganud, et kui vähendan jadaside kiirust, nt umbes 100, väheneb viivitus potentsiomeetri pööramise ja minu sülearvuti muutumise vahel umbes 1 sekundini. Kui ma aga jadaühenduse kiirust veelgi vähendan, nt väärtus 1, viivitus suureneb uuesti.
Tagaküljel on standardkiirusel 9600 viivitus tohutu, umbes 5 sekundit ++, enne kui potentsiomeetri muudatused sülearvutis ilmuvad / töötlemine.
Miks suhtluskiiruse vähendamine (kuni teatud punktini) vähendab viivitust ja selle suurendamine viivitust? Samuti, kas ma üldse suudan selle teha hetkega?