Stap 2: Arduino code
Kader maakt gebruik van de Arduino schets van de arduino/involt map. Voor het verzenden van de waarden met de functie involtSend met alle drie potentiometers. De vertraging is toegevoegd om het poortgebruik. Voor tact knop gebruikte ik involtSendString om te laten zien dat u niet alleen numerieke waarden kunt verzenden. Deze functies worden gebruikt om gemeenschappelijke waarde en index van software en hardware kant te hebben.
Waarden worden toegewezen aan de grootte van het scherm en object. Als u wilt wijzigen van het venster omzetten dimensies in de variabelen core/background.js 700 x 700.
Het enige wat toe te voegen binnen schets zijn involtSend, involtSendString, pinMode voor knop en variabele declaraties zodat de void loop en de setup zal uitzien:
//... int previousValue = LOW; void setup() { //Bitrate must remain same as in app. Serial.begin(57600); pinMode(2,INPUT_PULLUP); } String isButton = "click"; void loop() { //receive data from your app, do not remove this line. involtReceive(); int buttonValue = digitalRead(2); //this is reversed because of PULLUP pinmode if(buttonValue == LOW && previousValue == HIGH) { delay(20); involtSendString(3, isButton); }; previousValue = buttonValue; //MAPPED KNOB VALUES to app window minus element dimensions delay(5); involtSend(0, map(analogRead(A0),0,1024,0,620)); delay(5); involtSend(1, map(analogRead(A1),0,1024,0,620)); delay(5); involtSend(2, map(analogRead(A2),0,1024,0,360)); fname = ""; } // ...
Vergeet niet om de dingen niet verwijderen vóór en na deze code. Zoals u waarschijnlijk al gemerkt van de autoPinMode-parameter - niet gebruiken in dit voorbeeld. Dit is voor automatisch toe te voegen pinMode(pin, OUTPUT) bij het gebruik van directMode, dus u hoeft niet te schrijven van elke regel van de code voor fundamentele interacties.