Project Marblight
Our project consisted in creating a luminous parallelepiped made of marble, built using new techniques as well as innovative technologies from the nautical field and the lighting field, in order to lighten the structure, reduce the electrical consumption and minimize the marble thickness so that the light can pass through it.
We wanted our project to be completely sealed, in order to obtain a very high ingress protection rating (IP) against dust and water.
Our system consist in a sealed lead acid battery, recharged with the Wireless Power Kit by Futura Elettronica. We used an adjustable dc-dc converter in order to recharge the battery at the recommended standby use voltage, which is 13,8V.
We then used an hc-05 bluetooth module connected to an Arduino in order to be able to turn on and off the led strip without losing the IP rating of the parallelepiped.
Since we wanted to be able to “program” the light, we added a n-channel logic level mosfet, so that we could drive the led strip with pwm.
In order to avoid an excessive discharge of the battery, we set up a voltmeter made with a simple voltage divider (two resistors) connected to the a0 pin of the Arduino. When the voltage goes below 11V the Arduino turns off the led strip.
At this point we paired the Bluetooth module with a smartphone thanks to the Arduino bluetooth controller app (link: https://play.google.com/store/apps/details?id=com.giumig.apps.bluetoothserialmonitor&hl=it) in order to turn the system on and off.
The app sends an “A” to turn the system on and an “a” to turn the system off.
Further developments will include:
- A more efficient battery recharge cycle
- more lighting routines, and possibly a rgb led strip
- more options for the smartphone control
And finally, a video of the building process and the first tests. Enjoy!
Bottom part of the Marblight casing: https://skfb.ly/66sUT
Top part: https://skfb.ly/66sVA
Hardware components
- 1 FT1235M
- 1 FT1236M
- 1 DC – DC adj converter XL6009
- 1 12V 7Ah sealed acid battery
- 1 1N5400 diode
- 1 10 ohms resistor
- 2 10 Kohms resistors
- 1 100 Kohms resistor
- 1 STP16NF06L n-channel mosfet
- 1 12V led strip
- 1 hc-05 bluetooth module
- 1 Arduino/Genuino Uno R3
- 1 5V, 2A power supply
- 1 panel mounted power female connector 5.5-2.1 mm
Code and Firmware
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000; // insert actual value R1 (100K)
float R2 = 10000; // insert actual value R2 (10K)
int value = 0;
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 12); // set the Serial communication pins
// RX=>12 TX=>11
void setup()
{
pinMode(2, OUTPUT);
pinMode(A0, INPUT);
mySerial.begin(9600);
delay(1000);
}
void loop()
{
value = analogRead(analogInput);
vout = (value * 5.0) / 1024.0;
vin = vout / (R2/(R1+R2));
if (vin<0.09) {
vin=0.0;
}
while (mySerial.available())
{
char data= mySerial.read(); // “data” is the received value
switch(data)
{
case ‘A’: // when arduino receives the letter “A”
{
digitalWrite(2, HIGH); // arduino turns pin2 high (led on)
break;
}
case ‘a’: // when arduino receives the letter “a”
{
digitalWrite(2, LOW); // arduino turns pin2 low (led off)
break;
}
}
}
if (vin<=11){
digitalWrite(2,LOW);
}
}