Dodecahedron 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
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:
Electronica - Schema
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.
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); }
Mulțumim Taberei de vară GirlsGoIT pentru instruirea, suportul și îndrumările acordate.