Mina microkontroller tokerier

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Mina microkontroller tokerier

Inlägg av 1802 »

Arduino touch switch.

Kod: Markera allt

//  Analog input touch A0 A1 A2 A3 A4 A5,   Digital pin13 output 
int led = 13; 
const int analogInPin0 = A0; // Analog input pin touch
const int analogInPin1 = A1; // Analog input pin touch
const int analogInPin2 = A2; // Analog input pin touch
const int analogInPin3 = A3; // Analog input pin touch
const int analogInPin4 = A4; // Analog input pin touch
const int analogInPin5 = A5; // Analog input pin touch
// variabler
int sensorValue0 = 0; int sensorValue1 = 0; int sensorValue2 = 0; 
int sensorValue3 = 0; int sensorValue4 = 0; int sensorValue5 = 0; 
int blinkSpeed =0;

void setup() {
  // initialize serial communications at 9600 bps:
    pinMode(led, OUTPUT);   
//  Nedan startas vid debug med serialmonitor    
//    Serial.begin(9600); 
}
void loop() 
{ sensorValue5 = analogRead(analogInPin5);   sensorValue4 = analogRead(analogInPin4); 
  sensorValue3 = analogRead(analogInPin3);   sensorValue2 = analogRead(analogInPin2); 
  sensorValue1 = analogRead(analogInPin1);   sensorValue0 = analogRead(analogInPin0); 
  blinkSpeed = 20 ;
   // if the analog value is low enough, change speed of LED:
  if (sensorValue5 < 40) {   blinkSpeed = 40 ;  } 
  if (sensorValue4 < 40) {   blinkSpeed = 80 ;  } 
  if (sensorValue3 < 40) {   blinkSpeed = 160 ;  } 
  if (sensorValue2 < 40) {   blinkSpeed = 320 ;  } 
  if (sensorValue1 < 40) {   blinkSpeed = 640 ;  } 
  if (sensorValue0 < 40) {   blinkSpeed = 1280 ;  } 
 Serial.print(sensorValue5);  Serial.print(" "); 
 Serial.print(sensorValue4);  Serial.print(" "); 
 Serial.print(sensorValue3);  Serial.print(" "); 
 Serial.print(sensorValue2);  Serial.print(" "); 
 Serial.print(sensorValue1);  Serial.print(" "); 
 Serial.print(sensorValue0);  Serial.print(" "); 
 Serial.println(blinkSpeed);  
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(blinkSpeed);               // wait for a 1000=second
  digitalWrite(led, LOW);   // turn the LED off by making the voltage LOW
  delay(blinkSpeed);               // wait for a 1000=second
    
}
Jag tar kritik på alt utom indentering :-) .
Man fingrar på analog in, och LED pin 13 ändrar blinkhastighet. Den är väldigt ostabil. Jag håller ena handen på USB kontakten. Även om jag sätter en tråd i stiftlisten, så påverkas pinnen i jämte.

Fortsättningen skall bli en theremin. Via blinkande pin 13, och ljusmikrofon in i förstärkare.
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Mina microkontroller tokerier.

Inlägg av adent »

*tar fram sin fina röda stämpel och börjar stämpla "INDENTERA!" på skärmen* ;)
nifelheim
Den första
Inlägg: 2489
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Mina microkontroller tokerier.

Inlägg av nifelheim »

Med auto format :-)

//  Analog input touch A0 A1 A2 A3 A4 A5,   Digital pin13 output 
int led = 13;
const int analogInPin0 = A0; // Analog input pin touch
const int analogInPin1 = A1; // Analog input pin touch
const int analogInPin2 = A2; // Analog input pin touch
const int analogInPin3 = A3; // Analog input pin touch
const int analogInPin4 = A4; // Analog input pin touch
const int analogInPin5 = A5; // Analog input pin touch
// variabler
int sensorValue0 = 0;
int sensorValue1 = 0;
int sensorValue2 = 0;
int sensorValue3 = 0;
int sensorValue4 = 0;
int sensorValue5 = 0;
int blinkSpeed =0;

void setup() {
    // initialize serial communications at 9600 bps:
    pinMode(led, OUTPUT);
    // Nedan startas vid debug med serialmonitor
    // Serial.begin(9600);
}
void loop()

    sensorValue5 = analogRead(analogInPin5);
    sensorValue4 = analogRead(analogInPin4);
    sensorValue3 = analogRead(analogInPin3);
    sensorValue2 = analogRead(analogInPin2);
    sensorValue1 = analogRead(analogInPin1);
    sensorValue0 = analogRead(analogInPin0);
    blinkSpeed = 20 ;
    // if the analog value is low enough, change speed of LED:
    if (sensorValue5 < 40) {
        blinkSpeed = 40 ;  
    } 
    if (sensorValue4 < 40) {
        blinkSpeed = 80 ;  
    } 
    if (sensorValue3 < 40) {
        blinkSpeed = 160 ;  
    } 
    if (sensorValue2 < 40) {
        blinkSpeed = 320 ;  
    } 
    if (sensorValue1 < 40) {
        blinkSpeed = 640 ;  
    } 
    if (sensorValue0 < 40) {
        blinkSpeed = 1280 ;  
    } 
    Serial.print(sensorValue5);
    Serial.print(" ");
    Serial.print(sensorValue4);
    Serial.print(" ");
    Serial.print(sensorValue3);
    Serial.print(" ");
    Serial.print(sensorValue2);
    Serial.print(" ");
    Serial.print(sensorValue1);
    Serial.print(" ");
    Serial.print(sensorValue0);
    Serial.print(" ");
    Serial.println(blinkSpeed);
    digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
    delay(blinkSpeed); // wait for a 1000=second
    digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
    delay(blinkSpeed); // wait for a 1000=second

}


1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier.

Inlägg av 1802 »

Många rader blev det....
Inga andra fel? När jag skriver flera rader med nästan samma innehåll ringer en varningsklocka...
nifelheim
Den första
Inlägg: 2489
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Mina microkontroller tokerier.

Inlägg av nifelheim »

Att bara läsa störningar på ingången till AD omvandlaren kan nog bli lite väl känsligt,
har du kollat på något liknande
http://playground.arduino.cc/Main/Capac ... n.CapSense

Med reservation för att jag missupfattat helt :humm:

Förstod inte riktigt hur du menade med "Fortsättningen skall bli ..."

Angående iterationen kan du ju använda en indexerad variabel och göra en loop istället :)
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier.

Inlägg av 1802 »

nifelheim: Intressant "bibliotek". Nackdelen är att det inte passar in i mitt minimalistiska tänk. Men helt klart stabilare. Till touch räcker räckvidden, men till theremin tror jag det blir problem. Där vill jag ha nån dm.

Min theremin under uppbyggnad.

Kod: Markera allt

/*
  Analog input A0 A5, Digital pin13 output, 
 */
// These constants won't change.  They're used to give names
// to the pins used:
int led = 13; 
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogInPin5 = A5; // Analog output pin that the LED is attached to
const int analogOutPin1 = 1;
const int analogOutPin4 = 4;
int sensorValue = 0;
int sensorValue5 = 0;        // value read from the pot
int outputValue = 0; 
int outputValue5 = 0; 

void setup() {
  // initialize serial communications at 9600 bps:
 // Serial.begin(9600); 
  pinMode(led, OUTPUT);   
}
void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin); 
  sensorValue5 = analogRead(analogInPin5); 

  // map it to the range of the analog out:
  outputValue = map(sensorValue, 0, 1023, 0, 55);  
  outputValue5 = map(sensorValue5, 0, 1023, 0, 55);
  // change the analog out value:

  analogWrite(analogOutPin1, 255);  
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(outputValue);               // wait for a 1000=second
  digitalWrite(led, LOW);   // turn the LED off by making the voltage LOW
  delay(outputValue5);               // wait for a 1000=second

}
Det räcker att röra USB höljet för att få reaktion. Med andra handens finger på A5 så slocknar P13 helt. Sedan kan man hitta ett läge runt en dm ifrån där den kan tändas och släckas. Men först måste den släckas med beröring. Ostabilt varierande men kul. Blir en theremin med eget liv :-).

Obs inga extra komponenter behövs, vilket jag gillar som start projekt.

Kom i ett läge där bara peta på USB skölden släcker P13. Jag får släppa den och fingra på A5, för att komma tillbaka till ovan.
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier.

Inlägg av 1802 »

Försöker få processing att läsa serialUSB från arduino.

Kod: Markera allt

// Läser vad arduinon sänder
import processing.serial.*;
Serial port;

//init variables
Serial commPort;
float tempC; float tempF; int yDist; PFont font12; PFont font24;
float[] tempHistory = new float[100];

void setup()
{
  //setup fonts for use throughout the application
  //font12 = loadFont("Verdana-12.vlw");
  //font24 = loadFont("Verdana-24.vlw"); 
  
  //set the size of the window
  size(210, 300);
  
  //init serial communication port
  println(Serial.list());
  String portName = Serial.list()[0];
 commPort = new Serial(this, portName, 9600);
  // commPort = new Serial(this, Serial.list()[1], 9600);
 // commPort = new Serial(this, "com10", 9600);
  
  //fill tempHistory with default temps
  for(int index = 0; index<100; index++)
    tempHistory[index] = 0;
}

void draw()
{
  //get the temp from the serial port
 // while (commPort.available() > 0) 
  {
    int inByte = commPort.read();
        delay(12); 
   tempC = inByte / 2 ; 
    println(inByte); 

//  tempC = mouseY / 2; 
  
    //refresh the background to clear old data
    background(123);

    //draw the temp rectangle
    colorMode(RGB, 160);  //use color mode sized for fading
    stroke (0);
    rect (49,19,22,162);
    //fade red and blue within the rectangle
    for (int colorIndex = 0; colorIndex <= 160; colorIndex++) 
    {
      stroke(160 - colorIndex, 0, colorIndex);
      line(50, colorIndex + 20, 70, colorIndex + 20);
    }
    
    //draw graph
    stroke(0);
    fill(255,255,255);
    rect(90,80,100,200); // Vita rutan
    for (int index = 0; index<100; index++)
    {  
      if(index == 99)
        tempHistory[index] = tempC;
      else
        tempHistory[index] = tempHistory[index + 1];
      point(90 + index, 180 - tempHistory[index]); 
    }
  
    //write reference values
    fill(0,0,0);
    //textFont(font12); 
    textAlign(RIGHT);
    text("99 C", 45, 25); 
    text("0 C", 45, 187);
  
    //draw triangle pointer
    yDist = int(160 - (160 * (tempC * 0.01)));
    stroke(0);
    triangle(75, yDist + 20, 85, yDist + 15, 85, yDist + 25);
  
    //write the temp in C and F
    fill(0,0,0);
    //textFont(font24); 
    textAlign(LEFT);
    text(str(int(tempC)) + " C", 115, 37);
    tempF = ((tempC*9)/5) + 32;
    text(str(int(tempF)) + " F", 115, 65);
  }
}
Moddar ett färdigt program. Tack till ursprungs programmeraren :-).

Kod: Markera allt

/*
  Analog input A0 A5, Digital pin13 output, 
 */
// These constants won't change.  They're used to give names
// to the pins used:
int led = 13; 
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogInPin5 = A5; // Analog output pin that the LED is attached to
const int analogOutPin1 = 1;
const int analogOutPin4 = 4;
int sensorValue = 0;int sensorValue5 = 0;   // value read from the pot
int outputValue = 0; int outputValue5 = 0; 

void setup() {
    pinMode(led, OUTPUT);   
 Serial.begin(9600); // initialize serial communications at 9600 bps:
}
void loop() {
  sensorValue = analogRead(analogInPin);   // read the analog in value:
  sensorValue5 = analogRead(analogInPin5); 
   outputValue = map(sensorValue, 0, 1023, 0, 255);    // map it to the range of the analog out:
   outputValue5 = 650-sensorValue;
    if (outputValue5 < 0) { outputValue5 = 2000;}   
Serial.println(  outputValue);
// Serial.print(" ");   
//Serial.print("55");
//  delay(50);  
  
// Serial.println(outputValue5);   
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(100);               // wait for a 1000=second
  digitalWrite(led, LOW);   // turn the LED off by making the voltage LOW
  delay(100);               // wait for a 1000=second
}
Arduino progget funkar skapligt mot Arduino's inbyggda serial monitor. Men på Processing sidan blir det fel. På grafiken går det att spåra lite förändringar, men Processings serial monitor visar mest skräp. Har det nått med buffern att göra?

Igår kväll hade jag en COM3: och en COM10: . Idag har jag bara en COM:10 . Mysko....

Ovan är tänkt för Android platta eller telefon. Datalogger m.m .
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Re: Mina microkontroller tokerier

Inlägg av Walle »

Koden du postar är ju fullkomligt oläsbar! Använder du code-taggen rätt, eller ser det ut så där även i miljön du kodar i?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Mina microkontroller tokerier

Inlägg av blueint »

Läslig för mig iaf. Om än något rörig.
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier

Inlägg av 1802 »

Kod: Markera allt

// Läser vad arduinon sänder
import processing.serial.*;
Serial port;

//init variables
Serial commPort;
float tempC; float tempF; int yDist; PFont font12; PFont font24;
float[] tempHistory = new float[100];

void setup()
{
  //setup fonts for use throughout the application
  //font12 = loadFont("Verdana-12.vlw");
  //font24 = loadFont("Verdana-24.vlw"); 
  
  //set the size of the window
  size(210, 300);
  
  //init serial communication port
  println(Serial.list());
  String portName = Serial.list()[0];
 commPort = new Serial(this, portName, 9600);
  // commPort = new Serial(this, Serial.list()[1], 9600);
 // commPort = new Serial(this, "com10", 9600);
  
  //fill tempHistory with default temps
  for(int index = 0; index<100; index++)
    tempHistory[index] = 0;
}

void draw()
{
  //get the temp from the serial port
 // while (commPort.available() > 0) 
  {
    int inByte = commPort.read();
        delay(12); 
if (inByte < 0) { inByte = 150;}          
   tempC = inByte / 2 ; 
    println(inByte); 

//  tempC = mouseY / 2; 
  
    //refresh the background to clear old data
    background(123);

    //draw the temp rectangle
    colorMode(RGB, 160);  //use color mode sized for fading
    stroke (0);
    rect (49,19,22,162);
    //fade red and blue within the rectangle
    for (int colorIndex = 0; colorIndex <= 160; colorIndex++) 
    {
      stroke(160 - colorIndex, 0, colorIndex);
      line(50, colorIndex + 20, 70, colorIndex + 20);
    }
    
    //draw graph
    stroke(0);
    fill(255,255,255);
    rect(90,80,100,200); // Vita rutan
    for (int index = 0; index<100; index++)
    {  
      if(index == 99)
        tempHistory[index] = tempC;
      else
        tempHistory[index] = tempHistory[index + 1];
      point(90 + index, 180 - tempHistory[index]); 
    }
  
    //write reference values
    fill(0,0,0);
    //textFont(font12); 
    textAlign(RIGHT);
    text("99 C", 45, 25); 
    text("0 C", 45, 187);
  
    //draw triangle pointer
    yDist = int(160 - (160 * (tempC * 0.01)));
    stroke(0);
    triangle(75, yDist + 20, 85, yDist + 15, 85, yDist + 25);
  
    //write the temp in C and F
    fill(0,0,0);
    //textFont(font24); 
    textAlign(LEFT);
    text(str(int(tempC)) + " C", 115, 37);
    tempF = ((tempC*9)/5) + 32;
    text(str(int(tempF)) + " F", 115, 65);
  }
}

Kod: Markera allt

/*
  Analog input A0 A5, Digital pin13 output, 
 */
// These constants won't change.  They're used to give names
// to the pins used:
int led = 13; 
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogInPin5 = A5; // Analog output pin that the LED is attached to
const int analogOutPin1 = 1;
const int analogOutPin4 = 4;
int sensorValue = 0;int sensorValue5 = 0;   // value read from the pot
int outputValue = 0; int outputValue5 = 0; 

void setup() {
    pinMode(led, OUTPUT);   
 Serial.begin(9600); // initialize serial communications at 9600 bps:
}
void loop() {
  sensorValue = analogRead(analogInPin);   // read the analog in value:
  sensorValue5 = analogRead(analogInPin5); 
   outputValue = map(sensorValue, 0, 1023, 0, 255);    // map it to the range of the analog out:
   outputValue5 = 350-sensorValue;
    if (sensorValue5 < 0) { outputValue5 = 2000;}  
     if (outputValue5 < 0) { outputValue5 = 10;}
Serial.println(sensorValue5);
//Serial.write(sensorValue5);
//Serial.print(" "); //Serial.println(outputValue5);   
 delay(30);  
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(outputValue5);               // wait for a 1000=second
  digitalWrite(led, LOW);   // turn the LED off by making the voltage LOW
  delay(outputValue5);               // wait for a 1000=second
}
Nu börjar det ge lite resultat, men funkar inte helt. Alla de värde Arduino sänder blir inte lika i Processing. Dyker upp låga negativa tal Och lite höga typ 32768 och 65535.

Det är ett progg under utveckling. Och jag ber om ursäkt för att jag bara hackar och inte följer alla "regler". Jag proggar bara för eget nöjes skull. Och jag har lånat grunden från andra.

Ett mål med ovan är att styra en "bombrobot" trådlöst. Har en del ide´er om det trådlösa. Trådlöst USB tangentbord, men det verkar svårt att få arduino att läsa. Med Arduino IDE serial monitor verkar det lätt att kommunisera mad USB. Men tydligen svårare att läsa USB tbord. 433Mhz moduller har jag. Ir är ett alt. Likaså BlåTand.

Jag håller på med ett prog där man via serial monitor skall kunna ändra div pins. För att få fram back m.m. Går det att skriva in ett kommando i Arduino IDE, så den startar serial monitor direkt? Och att man slipper trycka "send" varje gång.
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier

Inlägg av 1802 »

Kod: Markera allt

// Variabel3fas  Hastighet (frekvens) (med omproggning)
// P13+P10 P8 P12
int lux = 128+125; int speed = 300;       // wait 1000=1 second
int led = 13; 
const int analogOutPin10 = 10; const int analogOutPin8 = 8; 
const int analogOutPin12 = 12; // 3 faser pin 10+P13,8,12
void setup() {
  pinMode(led, OUTPUT); pinMode(analogOutPin8, OUTPUT); 
  pinMode(analogOutPin10, OUTPUT); pinMode(analogOutPin12, OUTPUT);
}
void loop() {
  analogWrite(analogOutPin8, lux);  delay(speed);              
  analogWrite(analogOutPin8, 0);
  //---------------------------------------------------------
  analogWrite(analogOutPin10, lux); digitalWrite(led, HIGH);
  delay(speed); analogWrite(analogOutPin10, 0);  
  digitalWrite(led, LOW);
  //---------------------------------------------------------
  analogWrite(analogOutPin12, lux);  delay(speed);             
  analogWrite(analogOutPin12, 0);
}
Början på experiment med 3-fasmotorer och BLDC mfl. I nästa version kan tiden för varje puls kortas. Först via "serial monitor" för tester, sedan blir det pottar för körning utan PC.
Udda valet av pins beror på hårdvaran. Har en LED med färdiga 2 delars honor. En resistor bildar dubbelhane. Och med stooor nervositet tog jag jord via ICSP kontakten för 328P'n. Med en bit stiftlist koplade jag in en LED med 3 "stift" hona. Mellan Pin12 och jord. Denna LED har resistorn lödad på sladden. Pin 10 är inte ansluten, utan den representeras av Pin13 på kortet. Ovan funkar, men jag funderar på digitalWrite istället. Bryr sig optokopplare om de får PWM med AnalogWrite?

Om man skall byta rotationsriktning på borstlös RC motor, så byter man plats på 2 sladdar vilka som. Jag har mina 2 av LED på sladd. Byter man plats på dem så ändras rotationsriktningen. Visuell visning av ovan :-) .
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier

Inlägg av 1802 »

En till trådlös styrning. En surfplatta åker med och sänder DTMF, som kodas om och instruerar arduinon. Trådlöst PC t-bord via USB on the go. Jag har hittat ett DTMF progg till plattan, Men man måste peka på skärmen, t.bord stöds ej :-( .
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier

Inlägg av 1802 »

Min första shield klar nästan. Rotade fram ett veroboard. Och började löda. Stiftlist motstånd och LED 3st. Jag började med LED från ena kanten. Men den sista gick förbi jord, Så den är Vref. Pin 8 till pin 13, jord Och Vref. Pin 8,pin 9 och pin 10 har nu LED :-). Testshield för 3-fas tester. LDR på A5 och power 5V ändrar hastighet nu. Kopplade även in en termistor(tog vad jag hade just då) mellan A5 och jord. Funkar bättre med både 5V och jord. Kan nog funka med pro mini på kopplingsdäck. Pro minipin 7,8,9, och jorden utanför.

Har provkört en pro mini kopia :-) . Monterade den vinklade stiftlisten och spänningssatte. Vekar vara nått blink progg original. Hittade en 2pin JST liknande honkontakt med sladd som passade stiftlisten. Jag funderar lite på ATtiny, men priset skiljer så lite mot pro mini. Jag skall ju inte massproducera.
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier

Inlägg av 1802 »

Ännu en variant för trådlöst. A7105 2.4GHz modul, som läser av RC sändare typ Turnigy x9 eller nån från leksaks RC. Kanske ett omständigt sätt att styra RC flygsimulatorer...
1802
Inlägg: 6833
Blev medlem: 6 februari 2009, 13:52:28

Re: Mina microkontroller tokerier

Inlägg av 1802 »

Jag blandade ihop tal och strings, när jag sände från arduinon till processing. Nu funkar det bättre. Förutom att processing tuggar på trots jag resetar Arduinon!? Kan dra ur sladden till Arduinon, men den tuggar på fint ändå. Men det går inte att starta processing progget, om inte Arduinon är igång. Jag har även provat att stänga ner ArduinoIDE, med samma resultat.

Kod: Markera allt

// Ascii send data från Arduino till prosessing mfl
void setup() {
  Serial.begin(9600); 
  pinMode(led, OUTPUT); 
 }
void loop() {
  // use a for loop to initialize each pin as an output:
  for (int output = 1; output < 253; output=output+8)  {
   char outPut = char(output);    Serial.print(outPut);   }  
// delay (5);  
}

Kod: Markera allt

  import processing.serial.*;
  Serial myPort;  // Create object from Serial class
  int tal = 0; String  portar = "portar: ";
void setup()
{ 
size(650,250); background(144,107,12); frameRate(5);
textSize(20); noStroke();
  String portName = Serial.list()[0];
  myPort = new Serial(this, portName, 9600);
  portar = portName;
}
void draw()
{
  background(144,107,12);
  if (myPort.available() > 0) {  // If data is available,
    int inByte = myPort.read();         // read it and store it in val
   delay(50);
   ellipse(325, 125, inByte*2.5, inByte/1.5);
   println(inByte); 
   text(inByte,10,90);
   }
  text(portar,10,50);
 }

Skriv svar