top of page

Final Project

We designed the CNC engraving in Rhino in 3 steps.
We entered each step into the command in the Grasshopper and then transferred to the engraving.

Rhino

Step 2

Step 1

Step 3

Grasshopper

After the plate was ready, we wrote a command on the Arduino that would perform the lighting we wanted

Arduino

//Sensor Trig
const int trigpin1 =5;
const int trigpin2 =9;
const int trigpin3 =3;
const int trigpin4 =7;


//Sensor Echo
const int echopin1 =4;
const int echopin2 =8;
const int echopin3 =2;
const int echopin4 =6;

//Led Control
const int ledpin1=10;
const int ledpin2=11;
const int ledpin3=12;
const int ledpin4=13;


long duration1;
int distance1;
int safetyDistance1;

long duration2;
int distance2;
int safetyDistance2;

long duration3;
int distance3;
int safetyDistance3;

long duration4;
int distance4;
int safetyDistance4;

void setup() {
  pinMode(trigpin1, OUTPUT);
  pinMode(echopin1, INPUT);
  pinMode(ledpin1, OUTPUT);

  pinMode(trigpin2, OUTPUT);
  pinMode(echopin2, INPUT);
  pinMode(ledpin2, OUTPUT);

  pinMode(trigpin3, OUTPUT);
  pinMode(echopin3, INPUT);
  pinMode(ledpin3, OUTPUT);

  pinMode(trigpin4, OUTPUT);
  pinMode(echopin4, INPUT);
  pinMode(ledpin4, OUTPUT);

  Serial.begin(9600);
}

void loop(){


   //*****************************

 

//  Serial.print("\ndistance1: ");
//  Serial.print(distance1);
  // Serial.print("\ndistance2: ");
//  Serial.print(distance2);
  // Serial.print("\ndistance3: ");
//  Serial.print(distance3);
long duration, inches, cm;
   Serial.println("START");

//sensor 3
   digitalWrite(trigpin1, LOW);
   delayMicroseconds(2);
   digitalWrite(trigpin1, HIGH);
   delayMicroseconds(10);
   digitalWrite(trigpin1, LOW);
   duration1 = pulseIn(echopin1, HIGH);
   distance1 = duration1*0.034/2;
   Serial.print(distance1);
   Serial.println();
   //sensor 1
   digitalWrite(trigpin2, LOW);
   delayMicroseconds(2);
   digitalWrite(trigpin2, HIGH);
   delayMicroseconds(10);
   digitalWrite(trigpin2, LOW);
   duration2 = pulseIn(echopin2, HIGH);
   distance2 = duration2*0.034/2;
   Serial.print(distance2);
   Serial.println();
   //sensor 4
   digitalWrite(trigpin3, LOW);
   delayMicroseconds(2);
   digitalWrite(trigpin3, HIGH);
   delayMicroseconds(10);
   digitalWrite(trigpin3, LOW);
   duration3 = pulseIn(echopin3, HIGH);
   distance3 = duration3*0.034/2;
   Serial.print(distance3);
   Serial.println();
   //sensor 2
   digitalWrite(trigpin4, LOW);
   delayMicroseconds(2);
   digitalWrite(trigpin4, HIGH);
   delayMicroseconds(10);
   digitalWrite(trigpin4, LOW);
   duration4 = pulseIn(echopin4, HIGH);
   distance4 = duration4*0.034/2;
   Serial.print(distance4);
   Serial.println();


if(distance1>10){
   digitalWrite(ledpin1, HIGH);

}
else{
   digitalWrite(ledpin1, LOW);

}
if(distance2>10){
   digitalWrite(ledpin2, HIGH);

}
else{
   digitalWrite(ledpin2, LOW);

}
if(distance3>10){
   digitalWrite(ledpin3, HIGH);

}
else{
   digitalWrite(ledpin3, LOW);

}if(distance4>10){
   digitalWrite(ledpin4, HIGH);

}
else{
   digitalWrite(ledpin4, LOW);

}

 

//   Serial.print("\duration4: ");
// Serial.print(duration4);
//   Serial.print("\ndistance4: ");
//  Serial.print(distance4);
   delay(50);

//****************



  // delay(1000);
  // digitalWrite(ledpin1, HIGH);
  // digitalWrite(ledpin2, HIGH); 
  // digitalWrite(ledpin3, HIGH); 
  // digitalWrite(ledpin4, HIGH); 
  // delay(1000);
  // digitalWrite(ledpin1, LOW);
  // digitalWrite(ledpin2, LOW); 
  // digitalWrite(ledpin3, LOW); 
  // digitalWrite(ledpin4, LOW); 
  // digitalWrite(trigpin1, LOW);
  // digitalWrite(trigpin2, LOW);
  // digitalWrite(trigpin3, LOW);
  // digitalWrite(trigpin4, LOW);
  //  delayMicroseconds(2);

  // digitalWrite(trigpin1, HIGH);
  // digitalWrite(trigpin2, HIGH);
  // digitalWrite(trigpin3, HIGH);
  // digitalWrite(trigpin4, HIGH);

  // delayMicroseconds(10);

  // digitalWrite(trigpin1, LOW);
  // digitalWrite(trigpin2, LOW);
  // digitalWrite(trigpin3, LOW);
  // digitalWrite(trigpin4, LOW);

 
  // duration1 = pulseIn(echopin1, HIGH);
  // distance1 = duration1*0.034/2;
  // safetyDistance1 = distance1;

  // duration2 = pulseIn(echopin2, HIGH);
  // distance2 = duration2*0.034/2;
  // safetyDistance2 = distance2;

  //  duration3 = pulseIn(echopin3, HIGH);
  //  distance3 = duration3*0.034/2;
  //  safetyDistance3 = distance3;

  //  duration4 = pulseIn(echopin4, HIGH);
  // distance4 = duration4*0.034/2;
  // safetyDistance4 = distance4;


  // if (safetyDistance1<= 5){
  //   digitalWrite(ledpin1, LOW);
  //   Serial.print("distance1: ");
  //   Serial.print(distance1);
  // }

  // else{
  //   digitalWrite(ledpin1, HIGH);
  //   Serial.print("distance1: ");
  //   Serial.print(distance1);
  // }

//  Serial.print("distance1: ");
//  Serial.print(distance1);

//  if (safetyDistance2<= 5){
//     digitalWrite(ledpin2, LOW);
    
//  Serial.print("distance2: ");
//  Serial.print(distance2);
//   }

//   else{
//     digitalWrite(ledpin2, HIGH);
    
//  Serial.print("distance2: ");
//  Serial.print(distance2);
//   }

//  Serial.print("distance2: ");
//  Serial.print(distance2);
 

//  if (safetyDistance3<= 5){
//     digitalWrite(ledpin3, LOW);
    
//  Serial.print("distance3: ");
//  Serial.print(distance3);
//   }

//   else{
//     digitalWrite(ledpin3, HIGH);
    
//  Serial.print("distance3: ");
//  Serial.print(distance3);
//   }

//  Serial.print("distance3: ");
//  Serial.print(distance3);
 

//  if (safetyDistance4<= 5){
//     digitalWrite(ledpin4, LOW);
    
//  Serial.print("distance4: ");
//  Serial.print(distance4);
//   }

//   else{
//     digitalWrite(ledpin4, HIGH);
    
//  Serial.print("distance4: ");
//  Serial.print(distance4);
//   }

//  Serial.print("distance4: ");
//  Serial.print(distance4);
 
}

Final result

bottom of page