Digital Lecture Assignment 9

Video:

Processing Code:

import processing.serial.*;

Serial teensySerial;
int val=0;
int r = 0;
int g=0;
int b=0;

int shapeX=0;
int shapeY=0;
int shapeSize=0;

void setup()
{
  frameRate(30);
  size(600, 600);
  printArray(Serial.list());
  String portName= Serial.list()[12];
  teensySerial= new Serial(this, portName, 9600);

  while (teensySerial. available() > 0) {
    teensySerial.read();
  }
}
void draw() {
  if (teensySerial.available() > 0) {
    val = teensySerial.read();
    if (val==0) {
      r = 200;
      g=0;
      b=0;
    } else if (val ==1) {
      r=200;
      g=200;
      b=0;
    } else if (val==2) {
      r=0;
      g=200;
      b=0;
    } else if (val==3) {
      r=0;
      g=200;
      b=200;
    }
  }
  noStroke();
  fill(r, g, b);
  rect(0, 0, 600,600);
}

Arduino Code:

int ledPins[4] = {29, 30, 31, 32};
int potPin = A18;
int potVal = 0;
int ledSpeed = 0;

void setup() {
  Serial.begin(9600);
  
  for (int i = 0; i < 4; i++) {
    pinMode (ledPins[i], OUTPUT);
  }
}

void loop() {
  Serial.write(1);

  potVal = analogRead(potPin);
  ledSpeed = map(potVal, 0, 1023, 100, 700);
  
  for (int i = 0; i < 4; i++) {
    digitalWrite(ledPins[i], HIGH);
    Serial.write(i);
    delay(ledSpeed);
    digitalWrite(ledPins[i], LOW);
  }
}

Leave a comment

Design a site like this with WordPress.com
Get started