Tumgik
audrasoltis-blog · 4 years
Video
My final project: enhancing an easy button to turn on/off LED string lights
0 notes
audrasoltis-blog · 4 years
Photo
Tumblr media Tumblr media
More concept photos from my BPM and Personal Calendar integration! 
0 notes
audrasoltis-blog · 4 years
Video
Final concept for BPM integration with calendar: 
For my next project I will be taking my original concept of a “stress free calendar” by capturing data from the users heart rate and stress tolerances. When the user starts to feel stressed and overwhelmed by the events overpopulating in there daily calendar the heart rate monitor will read a set limit and freeze there digital calendar. Telling and giving the user time to BREATHE, SLOW DOWN, and PRIORITIZE with a clear mind.  
PROCESSING CODE:
import processing.serial.*;
Serial arduinoPort; PImage img; int delayy = 0; int value = 0; int r = 230; int g = 220; int b = 210; boolean hKey = false; int BPM = 0;
void setup() {  size(1230, 950);  String portName = "COM4";  println(Serial.list());  arduinoPort = new Serial(this, portName, 9600);  arduinoPort.bufferUntil('\n');  //noLoop (); }
void serialEvent(Serial port) {  String reading = port.readString();  println("reading=" + reading);  if ( reading == null ) {    // disregard  } else {    reading = trim(reading);    if ( reading.isEmpty() == false) {      //println(reading.length());      try {        JSONObject json = parseJSONObject(reading);        BPM = json.getInt("BPM");      }      catch(Exception ex) {        println(ex);      }    }  } }
void draw() {  println(BPM);  background (0);  PImage img = loadImage("chaos.jpg");  image(img, 0, 0);
 fill(r, g, b);  rect(20, 20, 1190, 200, 7);
 for (int i=0; i<10; i++) { //draw squares    fill (r, g, b);    float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (height/4 + yfactor);    rect(rectx, recty, 100, 100);    textSize(26);    textAlign(LEFT, TOP);    fill (154, 154, 154);    text (i, rectx, recty);    delay (delayy);  } // end draw squares
 for (int i=0; i<10; i++) { //draw squares    fill (r, g, b);
   float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (2*height/4 + yfactor);
   rect(rectx, recty, 100, 100);
   textSize(26);    textAlign(LEFT, TOP);    fill (154, 154, 154);    text (i+10, rectx, recty);  } // end draw squares
 for (int i=0; i<10; i++) { //draw squares    fill (r, g, b);
   float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (3*height/4 + yfactor);
   rect(rectx, recty, 100, 100);
   textSize(26);    textAlign(LEFT, TOP);    fill (154, 154, 154);    text (i+20, rectx, recty);
   fill(66, 63, 70);    textAlign(CENTER);    textSize(60);    text("you can't say yes to everything", width/2, ((height/3)-40)/2);
   if (BPM>70) {
     value = 255;      delayy=delayy+25;      r = 250;      g = 0;      b = 0;    } else {
       r=230;        g=220;        b=210;        delayy=0;      }    } }
   //  if (key == 'h') {    //    hKey = true;    //  value = 255;    //  delayy=delayy+25;    //  r = 250;    //  g = 0;    //  b = 0;    //}    //if (key != 'h') {    // hKey = false;    //  r = 230;    //  g = 220;    //  b = 210;    //}
 //void keyReleased() {  //  if (key=='h') {  //    hKey=false;  //    r=230;  //    g=220;  //    b=210;  //    delayy=0;  //  }  //}
 ////if (value == 255) {  ////  value = 0;  ////  //r = 200;  //// // g = 200;  //// // b = 200;  ////  delayy=0;  ////} else {  ////  value = 0;  ////}  //void keyPressed() {  //  if (key == 'h') {  //    hKey = true;  //    value = 255;  //    delayy=delayy+25;  //    r = 250;  //    g = 0;  //    b = 0;  //  }  //}
 //  ////void keyPressed() {  //  noLoop();  //  int delayy=100;  //  for (int i=0; i<10; i++) { //draw squares  //      fill (200);  //      float xfactor = random(0, 30);  //      float yfactor = random(0, 30);  //      float rectx = (i * width/10 +xfactor);  //      float recty = (height/4 + yfactor);  //      rect(rectx, recty, 100, 100);  //      textSize(26);  //      textAlign(LEFT, TOP);  //      fill (227, 220, 210);  //      text (i, rectx, recty);  //      delay(delayy);  //    }  //  if (key == 'h'){  //    delayy=delayy+100;  //  }  //}
ARDUINO CODE:
/*  Getting_BPM_to_Monitor prints the BPM to the Serial Monitor, using the least lines of code and PulseSensor Library. *  Tutorial Webpage: https://pulsesensor.com/pages/getting-advanced * --------Use This Sketch To------------------------------------------ 1) Displays user's live and changing BPM, Beats Per Minute, in Arduino's native Serial Monitor. 2) Print: "♥  A HeartBeat Happened !" when a beat is detected, live. 2) Learn about using a PulseSensor Library "Object". 4) Blinks LED on PIN 13 with user's Heartbeat. --------------------------------------------------------------------*/
#define USE_ARDUINO_INTERRUPTS true    // Set-up low-level interrupts for most acurate BPM math. #include <PulseSensorPlayground.h>     // Includes the PulseSensorPlayground Library.  
//  Variables const int PulseWire = 0;       // PulseSensor PURPLE WIRE connected to ANALOG PIN 0 const int LED13 = 13;          // The on-board Arduino LED, close to PIN 13. int Threshold = 550;           // Determine which Signal to "count as a beat" and which to ignore.                               // Use the "Gettting Started Project" to fine-tune Threshold Value beyond default setting.                               // Otherwise leave the default "550" value.
PulseSensorPlayground pulseSensor;  // Creates an instance of the PulseSensorPlayground object called "pulseSensor"
void setup() {  
 Serial.begin(9600);          // For Serial Monitor
 // Configure the PulseSensor object, by assigning our variables to it.  pulseSensor.analogInput(PulseWire);    pulseSensor.blinkOnPulse(LED13);       //auto-magically blink Arduino's LED with heartbeat.  pulseSensor.setThreshold(Threshold);  
 // Double-check the "pulseSensor" object was created and "began" seeing a signal.   if (pulseSensor.begin()) {  //  Serial.println("We created a pulseSensor Object !");  //This prints one time at Arduino power-up,  or on Arduino reset.    } }
void loop() {
int myBPM = pulseSensor.getBeatsPerMinute();  // Calls function on our pulseSensor object that returns BPM as an "int".                                               // "myBPM" hold this BPM value now.
//if (pulseSensor.sawStartOfBeat()) {            // Constantly test to see if "a beat happened". //Serial.println("♥  A HeartBeat Happened ! "); // If test is "true", print a message "a heartbeat happened". Serial.print("{BPM: ");                        // Print phrase "BPM: " Serial.print(myBPM);                        // Print the value inside of myBPM. Serial.println("}"); delay (1000); //wait one second between readings
// delay(20);                    // considered best practice in a simple sketch. }
0 notes
audrasoltis-blog · 4 years
Video
Used push buttons and arduino to turn LED’s on and off!
0 notes
audrasoltis-blog · 4 years
Video
Worked with accelerometers and arduino in class!
0 notes
audrasoltis-blog · 4 years
Video
Worked with Accelerometers and arduino! 
0 notes
audrasoltis-blog · 4 years
Video
Learned how to dim LED’s in a sequences using arduino!
0 notes
audrasoltis-blog · 4 years
Video
Played with Servo Motors and Arduino today!
0 notes
audrasoltis-blog · 4 years
Photo
Tumblr media Tumblr media
NEXT PROJECT CONCEPT
For my next project I will be taking my original concept of a “stress free calendar” by capturing data from the users heart rate and stress tolerances. 
When the user starts to feel stressed and overwhelmed by the events overpopulating in there daily calendar the heart rate monitor will read a set limit and freeze there digital calendar. Telling and giving the user time to BREATHE, SLOW DOWN, and PRIORITIZE with a clear mind.  
Code Pathway:
User interacting with their daily calendar (processing) >>> User starts to get stressed (Outside) >>> HR Sensor records above a preset threshold (80 BPM) (arduino) >>> HR senor (arduino) triggers the digital calendar (Processing) to stall and not allow the user to make changes or add to calendar for a certain amount of time (1 min ?) 
Code Research:
https://www.arduino.cc/reference/en/language/functions/advanced-io/pulsein/
Potential Kit: 
https://www.amazon.com/Tragoods-Monitor-Sensor-Arduino-Pulsesensor/dp/B07GGNNLJL/ref=sr_1_1_sspa?crid=1FJ4DVM81SHPG&keywords=arduino+pulse+sensor&qid=1572999057&sprefix=arduino+pulse+s%2Caps%2C145&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEySDEzMzlXRUQ1MFhWJmVuY3J5cHRlZElkPUEwMjQ2MTY3MlEyUDUwRzZIOFdDSyZlbmNyeXB0ZWRBZElkPUEwODg2NjE0MTBRSVBEMFEzRk1BSyZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU= 
0 notes
audrasoltis-blog · 5 years
Photo
Tumblr media Tumblr media
P.R.O.G.R.E.S.S
code:
int pins[] = {13, 12, 11, 10};
void setup() {  for ( int i = 0; i < 4; i++ ) {    pinMode(pins[i], OUTPUT);  } Serial.begin(9600); } void loop() {  int reading = analogRead(A0);  Serial.println(reading);  int brightness = map(reading, 0, 1023, 0, 255);  for ( int i = 0; i <  4; i++ ) {    analogWrite (pins[i], brightness);
 } }
0 notes
audrasoltis-blog · 5 years
Video
Code:
int particle1X = 400; int particle1Y = 400; int particle2X = 200; int particle2Y = 200; boolean hopeDown = false; int particle1Size = 50; int particle2Size = 50; boolean polarity = false;
void setup() {  size(1000, 1000);  noStroke(); }
void draw() {  background(0, 0, 0);  fill(51, 51, 51);  rect(100, 50, 100, 5);  fill(51, 51, 51);  rect(800, 50, 100, 5);  fill(51, 51, 51);  rect(100, 50, 5, 100);  fill(51, 51, 51);  rect(100, 350, 5, 250);  fill(51, 51, 51);  rect(100, 850, 5, 100);  fill(255, 255, 255);  fill(51, 51, 51);  rect(900, 50, 5, 100);  fill(51, 51, 51);  rect(900, 350, 5, 250);  fill(51, 51, 51);  rect(900, 850, 5, 100);  fill(255, 255, 255);
 float proximity =  dist( particle1X, particle1Y, particle2X, particle2Y );  if ( proximity < (particle1Size + particle2Size)/2) {    println("collion detected");  } else {    println("no collion");  }  // move particle based in particle 2 using inverse square law?//
 float deltaX = particle1X - particle2X;  float deltaY = particle1Y - particle2Y;  float accel = 0.00001*sq(proximity);  if ( accel > 1.0 ) {  }  float xsign = Math.signum(particle1X-particle2X);  float ysign = Math.signum(particle1Y-particle2Y);  if( polarity == true ){    xsign *= -1.0;    ysign *= -1.0;  }  particle1X += xsign * (1/accel*deltaX)*.01;  particle1Y += ysign * (1/accel*deltaY)*.01;
 particle1X = constrain(particle1X, 0, width);  particle1Y = constrain(particle1Y, 0, height);  particle2X = constrain(particle2X, 0, width);  particle2Y = constrain(particle2Y, 0, height);  ellipse( particle1X, particle1Y, particle1Size, particle1Size );  ellipse( particle2X, particle2Y, particle2Size, particle2Size ); }
void mouseDragged() { if ( hopeDown == true ) {    particle2X = mouseX;    particle2Y = mouseY;  } }
void mousePressed() {
 if ( hopeDown == true ) {    particle2X = mouseX;    particle2Y = mouseY;  } else {    particle1X = mouseX-100;    particle1Y = mouseY-100;    hopeDown = true;  } }
void keyPressed() { if(key == 'r' ) {   polarity = !polarity; } }
0 notes
audrasoltis-blog · 5 years
Photo
Tumblr media
Patriotic Evie 
Code:
PImage evie = null;
void setup() {  evie = loadImage("evie.JPG");  size(711, 768);  image(evie, 0, 0);  loadPixels();  int pix = 1;  for ( int x=0; x < width; x+=pix ) {    for ( int y=0; y < height; y+=pix) {      int i = y * width + x;      color c = pixels[i];      float g = .21*red(c)+.72*green(c)+.07*blue(c);      if( g < 60 ) {        pixels[i] = color(3, 23, 155); //dark blue      } else if( g < 128 && g > 64 ) {        pixels[i] = color(200, 18, 18 ); //red      }else if( g > 128 && g < 192 ) {        pixels[i] = color(70, 84, 161 ); //light blue      }else if( g > 192 && g <= 255 ) {        pixels[i] = color(250, 236, 191 ); //beige      }    }  }  updatePixels(); }
void draw() { }
0 notes
audrasoltis-blog · 5 years
Video
UPDATE!
My project is a representation of my daily life! Notice the boxes are not linear and all over the place … this is how I feel about my schedule and compartmentalization skills when is comes to everything I seem to say yes to :)
Code: 
PImage img; int delayy = 0; int value = 0; int r = 230; int g = 220; int b = 210; boolean hKey = false;
void setup() {  size(1230, 950);  //noLoop (); }
void draw() {  background (0);  PImage img = loadImage("chaos.jpg");  image(img, 0, 0);
 fill(r, g, b);  rect(20, 20, 1190, 200, 7);
 for (int i=0; i<10; i++) { //draw squares    fill (r, g, b);    float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (height/4 + yfactor);    rect(rectx, recty, 100, 100);    textSize(26);    textAlign(LEFT, TOP);    fill (154, 154, 154);    text (i, rectx, recty);    delay (delayy);  } // end draw squares
 for (int i=0; i<10; i++) { //draw squares    fill (r, g, b);
   float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (2*height/4 + yfactor);
   rect(rectx, recty, 100, 100);
   textSize(26);    textAlign(LEFT, TOP);    fill (154, 154, 154);    text (i+10, rectx, recty);  } // end draw squares
 for (int i=0; i<10; i++) { //draw squares    fill (r, g, b);
   float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (3*height/4 + yfactor);
   rect(rectx, recty, 100, 100);
   textSize(26);    textAlign(LEFT, TOP);    fill (154, 154, 154);    text (i+20, rectx, recty);
   fill(66, 63, 70);    textAlign(CENTER);    textSize(60);    text("you can't say yes to everything", width/2  , ((height/3)-40)/2);  }
 //  if (key == 'h') {  //    hKey = true;  //  value = 255;  //  delayy=delayy+25;  //  r = 250;  //  g = 0;  //  b = 0;  //}  //if (key != 'h') {  // hKey = false;  //  r = 230;  //  g = 220;  //  b = 210;  //} } void keyReleased() {  if (key=='h') {    hKey=false;    r=230;    g=220;    b=210;    delayy=0;  } }
//if (value == 255) { //  value = 0; //  //r = 200; // // g = 200; // // b = 200; //  delayy=0; //} else { //  value = 0; //} void keyPressed() {  if (key == 'h') {    hKey = true;    value = 255;    delayy=delayy+25;    r = 250;    g = 0;    b = 0;  } }
// ////void keyPressed() { //  noLoop(); //  int delayy=100; //  for (int i=0; i<10; i++) { //draw squares //      fill (200); //      float xfactor = random(0, 30); //      float yfactor = random(0, 30); //      float rectx = (i * width/10 +xfactor); //      float recty = (height/4 + yfactor); //      rect(rectx, recty, 100, 100); //      textSize(26); //      textAlign(LEFT, TOP); //      fill (227, 220, 210); //      text (i, rectx, recty); //      delay(delayy); //    } //  if (key == 'h'){ //    delayy=delayy+100; //  } //}
0 notes
audrasoltis-blog · 5 years
Video
Relaxing on this fall evening learning how to process images and finding reasons to look at pictures of my pup EvieLou!
PImage evie;
void setup(){  size(800,800);  evie= loadImage("evie.JPG"); }
void draw(){  background(0);  tint(255,mouseY, mouseX);  image(evie,0,0, mouseX,mouseY); }
0 notes
audrasoltis-blog · 5 years
Photo
Tumblr media Tumblr media Tumblr media
WHAT MY CALENDAR TELLS ME: you can’t say yes to everything
My project is a representation of my daily life! Notice the boxes are not linear and all over the place ... this is how I feel about my schedule and compartmentalization skills when is comes to everything I seem to say yes to (work, school, family, girl scouts, friends, community involvement, friends, etc.)
Next I will add an interaction that will only allow me to add a single icon to a day to help me realize I can not say yes to accomplishing everything in one day! 
Code:
PImage img;
void setup() {  size(1230, 950);  noLoop (); }
void draw() {  background (0);  PImage img = loadImage("chaos.jpg");  image(img, 0, 0);
 fill(227, 220, 210);  rect(20, 20, 1190, 200, 7);
 for (int i=0; i<10; i++) { //draw squares    fill (200);    float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (height/4 + yfactor);    rect(rectx, recty, 100, 100);    textSize(26);    textAlign(LEFT, TOP);    fill (227, 220, 210);    text (i, rectx, recty);  } // end draw squares
 for (int i=0; i<10; i++) { //draw squares    fill (200);
   float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (2*height/4 + yfactor);
   rect(rectx, recty, 100, 100);
   textSize(26);    textAlign(LEFT, TOP);    fill (227, 220, 210);
   text (i+10, rectx, recty);  } // end draw squares
 for (int i=0; i<10; i++) { //draw squares    fill (200);
   float xfactor = random(0, 30);    float yfactor = random(0, 30);    float rectx = (i * width/10 +xfactor);    float recty = (3*height/4 + yfactor);
   rect(rectx, recty, 100, 100);
   textSize(26);    textAlign(LEFT, TOP);    fill (227, 220, 210);    text (i+20, rectx, recty);
   fill(66, 63, 70);    textAlign(CENTER);    textSize(50);    text("you can't say yes to everything", width/3, ((height/3)-40)/2);  } }
0 notes
audrasoltis-blog · 5 years
Photo
Tumblr media
void setup() {  size(1080, 1080);  background(#FFFAF0);  noLoop(); }
void draw() {  for ( int i=0; i<30 ; i++ ) {    color red = color(203, 65, 84);    color brown = color(165, 42, 42);    color blue = color(20, 20, 179);    color fillColor = 0;    int randomNumber = (int)random(1, 4);    if (randomNumber == 1) {      fillColor = red;    } else if ( randomNumber == 2) {      fillColor = brown;    } else if ( randomNumber == 3) {      fillColor = blue;    } else {      println( "Error, bad randomNumber " + randomNumber);    }    float rectHeight = random(25, 100);    float rectWidth = random(25, 100);    float rectX = random(0, width);    float rectY = random(0, height);    fill(fillColor);    rect(rectX, rectY, rectWidth, rectHeight);  }
  for ( int i=0; i<40; i++ ) {     fill(0);     float rectHeight = random(0, 30);     float rectWidth = random(0, 40);     float rectX = random(0, width);     float rectY = random(0, height);     rect(rectX, rectY, rectWidth, rectHeight);   } }
0 notes
audrasoltis-blog · 5 years
Photo
Tumblr media
float y; float r; float g; float b; void setup() {  y=0;  r=0;  g=0;  b=128;  size(1000, 1000); } void draw() {
 background(168, 255, 255);  fill(r,g,b);  y = y+5;  if (y > 1000){    y = -100;}  ellipse(250,y,200,200);  fill(255, 255, 255);  rect(500, 500, 280, 300);  fill(51,51,51);  rect(550, 550, 55, 60);  fill(51,51,51);  rect(670, 550, 55, 60);  fill(45,86,245);  rect(485, 500, 310, 20);  fill(51,171,249);  rect(495, 650, 290, 10);  fill(47,141,255);  rect(670, 700, 55, 100);  fill(51,51,51);  rect(550, 700, 55, 70);  fill(169,255,47);  rect(450, 800, 1000, 400);  fill(169,255,47);  ellipse(250, 1080, 600, 500);  fill(169,255,47);  ellipse(435, 1050, 500, 500);  fill(169,255,47);  ellipse(550, 1080, 350, 500);  fill(169,255,47);  ellipse(420, 1150, 400, 500);  fill(169,255,47);  ellipse(250, 1150, 400, 500);  fill(169,255,47);  ellipse(600, 1150, 400, 500);  fill(169,255,47);  ellipse(800, 1200, 400, 500);  fill(51,51,51);  textAlign(LEFT);  textSize(50);  text("My Future Home", width/2, ((height/2)-100)/2); }
2 notes · View notes