Dodecahedron TM&LI

by miha_tr in Circuits > Arduino

235 Views, 0 Favorites, 0 Comments

Dodecahedron TM&LI

Dodecaedru TM&LI

Articolul actual reprezintă procesul de prototipare 3D și programare Arduino a circuitului pentru o lampă de masă. Lampa are o formă dodecaedrică.

Proiectul de față a fost realizat în cadrul Taberei de vară GirlsGoIT.

Link către prototipul în Fusion 360





Schița Pe Foaie

IMG_20210811_162814.jpg

Conceptul acestei lămpi de masă presupune proiectarea a 3 componente distincte:

1)Abajurul (Dodecaedru regulat) compus din 12 fețe pentagonale regulate, unghiul dintre fețe=116.6 grade

2)Baza (platforma) - cutie 135*180mm, h=25mm,

3)Capacul pentru bază + pentagon extrudat de h= 5mm, gros = 3mm

Model 3D:

Final project v188.png
Final project v1866.png
Final project v189.png
Final project v184.png
Final project v18.png
Final project v182.png
Final project v16H.png
Final project v186.png

Electronica - Schema

Arduino circuit.png
Descriere:
Partea electronică a lămpii este formată din placa Arduino, Breadboard, 4 led-uri simple si 4 led-uri RGB , fire, rezistoare și touchbutton.
Modul de funcționare:
Pentru declanșarea modulelor de iluminare (5 la număr) se folosește un touchbutton. Primele 4 module reglează activitatea celor 4 led-uri albe - cu fiecare apăsare se aprind pe rând. Al cincilea modul activează led-urile RGB, cu regim "fading" de funcționare.

Codul De Funcționare Arduino

#define pinRosu 6
#define pinAlbastru 5
#define pinVerde 3
#define pinR 11
#define pinA 10 
#define pinV  9
int led1Pin = 7;
int led2Pin = 13;
int led3Pin = 4;
int led4Pin = 2;
int buttonP = 12;
int buttonM = 8;
int buttonMeasure = 0;

void setup(){
  
pinMode(buttonP, INPUT_PULLUP);
  pinMode(buttonM, INPUT_PULLUP);
  
  pinMode(led1Pin, OUTPUT) ;
  pinMode(led2Pin, OUTPUT) ;
  pinMode(led3Pin, OUTPUT) ;
  pinMode(led4Pin, OUTPUT) ;
  pinMode (pinRosu,     OUTPUT);
  pinMode (pinAlbastru ,OUTPUT);
  pinMode (pinVerde,    OUTPUT);
  pinMode (pinR,        OUTPUT);
  pinMode (pinA,        OUTPUT);
  pinMode (pinV,        OUTPUT);
  
 Serial.begin(9600);
  
}
void loop()
 {
  Serial.println(buttonMeasure);
  if(digitalRead(buttonP)==LOW)
  {   
   buttonMeasure++ ;
    delay(500);
  }
  if(digitalRead(buttonM)==LOW)
  {   
   buttonMeasure-- ;
    delay(500);
   if(buttonMeasure < 0)
   {
     buttonMeasure=0;
   }
    delay(10);
  }
  
   if( buttonMeasure==0)
   {
    digitalWrite(led1Pin, LOW);
    digitalWrite(led2Pin, LOW);
    digitalWrite(led3Pin, LOW);
    digitalWrite(led4Pin, LOW);
  }
   if( buttonMeasure==1)
   {
    digitalWrite(led1Pin, HIGH);
    digitalWrite(led2Pin, LOW);
    digitalWrite(led3Pin, LOW);
    digitalWrite(led4Pin, LOW);
  }
   if( buttonMeasure==2)
  {
    digitalWrite(led1Pin, HIGH);
    digitalWrite(led2Pin, HIGH);
    digitalWrite(led3Pin, LOW);
    digitalWrite(led4Pin, LOW);
    
   }
  if( buttonMeasure==3)
 {
    digitalWrite(led1Pin, HIGH);
    digitalWrite(led2Pin, HIGH);
    digitalWrite(led3Pin, HIGH);
    digitalWrite(led4Pin, LOW);
  }
    if( buttonMeasure==4)
 {
    digitalWrite(led1Pin, HIGH);
    digitalWrite(led2Pin, HIGH);
    digitalWrite(led3Pin, HIGH);
    digitalWrite(led4Pin, HIGH);
    }
   if( buttonMeasure==5)
  {
    digitalWrite(led1Pin, HIGH);
    digitalWrite(led2Pin, HIGH);
    digitalWrite(led3Pin, HIGH);
    digitalWrite(led4Pin, HIGH);
     
      for(int i = 0;i<255;i++){
      analogWrite(pinRosu, i);
      delay(10);
    }
    for(int i = 0;i<255;i++){
      analogWrite(pinR, i);
      delay(10);
    }
    for(int i = 0;i<255;i++){
      analogWrite(pinAlbastru, i);
      delay(10);
  
    }
    for(int i = 0;i<255;i++){
      analogWrite(pinA,i);
      delay(10);
    }
  for(int i = 0;i<255;i++){
      analogWrite(pinVerde,i);
      delay(10);
  }
    for(int i = 0;i<255;i++){
      analogWrite(pinV,i);
      delay(20);
    }
    for(int i = 255;i>0; i--){
      analogWrite(pinRosu,i);
      delay(10);
    }
    for(int i = 255;i>0; i--){
      analogWrite(pinR,i);
      delay(10);
    }
    for(int i = 255;i>0; i--){
      analogWrite(pinAlbastru,i);
      delay(10);
    }
    for(int i = 255;i>0; i--){
      analogWrite(pinA,i);
      delay(10);
    }
   }
    
if ( buttonMeasure == 6 )
{  
    analogWrite(pinRosu,      0);
    analogWrite(pinR,         0);
    analogWrite(pinAlbastru , 0);
    analogWrite(pinA,         0);
    analogWrite(pinVerde,     0);
    analogWrite(pinV,         0);
}
  
 if ( buttonMeasure == 7)
  {
    digitalWrite(led1Pin, HIGH);
    digitalWrite(led2Pin, HIGH);
    digitalWrite(led3Pin, HIGH);
    digitalWrite(led4Pin, LOW);
  }
  if ( buttonMeasure == 8 )
  {
    digitalWrite(led1Pin, HIGH);
    digitalWrite(led2Pin, HIGH);
    digitalWrite(led3Pin, LOW);
    digitalWrite(led4Pin, LOW);
  }
  if ( buttonMeasure == 9 )
  {
    digitalWrite(led1Pin, HIGH);
    digitalWrite(led2Pin, LOW);
    digitalWrite(led3Pin, LOW);
    digitalWrite(led4Pin, LOW);

  }
   if ( buttonMeasure == 10 )
  {
    digitalWrite(led1Pin, LOW);
    digitalWrite(led2Pin, LOW);
    digitalWrite(led3Pin, LOW);
    digitalWrite(led4Pin, LOW);
   }

  if (buttonMeasure >10) 
  { 
    buttonMeasure =0;
  }
  delay(10);

} 
 

Final project v16.png
Mulțumim Taberei de vară GirlsGoIT pentru instruirea, suportul și îndrumările acordate.