innovation through tradition

Kandilo is a Serbian word that origins from Sanskrit word kandukah, which in literal translation means: container in which smelling substance is burning. That substance that is burning is usually frankincense because the kandilo is used in religious rituals. This correlation between the kandilo and religion is a starting point for necessarily change in object design.

The Serbian Orthodox Church forbade any changes in design few centuries ago, including architecture and all the objects related to religion. This norm created a big hiatus between religion, everything related to it and modern man. Although some people burn frankincense for religious purpose, they don't use kandilo for it. Beside the religious people, there are also people who burn it because of its smell. Both kinds of people usually burn frankincense in a small coffee cups. Assuming that people don't use kandilo for its purpose because of its old (may be even said kitschy) design, redesign of this object seems necessarily.

In traditional design, there are two types of kandilo - standing and "waving" one. With new design those two types are combined. The design is composed of two objects; one is a ring shaped stand with a small hook which holds the second object on a chain. Hanging object is two parts sphere with screw connection inside which is a hot plate which provides burning frankincense inside of it. The whole object is made of dark matte metal. The sphere is perforated by simple circular pattern. The sight of movement from the traditional purpose is kept, but in this case that movement combined with the Arduino motion detector is a switch for turning on a plate inside spherical object.

The new design of kandilo seems like a better fit for a modern man and modern man's house. Above all, besides keeping the traditional purpose of it, now it can be used with a new purpose - as a natural air freshener (same as burning aromatic sticks). The smoke that comes out of the kandilo also provides a special atmosphere suitable for relaxing.
arduino_PIR Motion Sensor

#include "CurielMU.h"

boolean blinkState = false;
// state of the LED (hot plate)
unsigned long loopTime = 0;
// get the time since program started
unsigned long interruptsTime = 300 seconds;
// get the time when motion event is detected

void setup() {
   Serial.begin(9600);
// initialize Serial communication
   while(! Serial);
// wait for serial port to connect.

/* Initialise the IMU */
CurielMU.begin();
CurielMU.attachInterrupt(eventCallback);

/* Enable Motion Detection */ 
   CurielMU.setDetectionThreshold(CURIE_IMU_MOTION, 20);
// 20mg
   CurielMU.setDetectionDuration(CURIE_IMU_MOTION, 10);
// trigger times of consecutive slope data points
   CurielMU.interrupts(CURIE_IMU_MOTION);
Serial.printIn("IMU initialisation complete, waiting for events...");
}

void loop() {
   // if motion is detected in 1000ms, LED will be turned up (hot plate)
   loopTime = millis();
   if(abs(loopTime -interruptsTime) < 1000 )
      blinkState = true;
   else
      blinkState = false;
   digitalWrite(13, blinkState);
}


static void eventCallback(void){
   if (CurielMU.getInterruptStatus(CURIE_IMU_MOTION)) {
      if (CurielMU.motionDetected(X_AXIS, POSITIVE))
         Serial.println("Negative motion detected on X-axis");
      if (CurielMU.motionDetected(X_AXIS, NEGATIVE))
         Serial.println("Positive motion detected on X-axis");
      if (CurielMU.motionDetected(Y_AXIS, POSITIVE))
         Serial.println("Negative motion detected on Y-axis");
      if (CurielMU.motionDetected(Y_AXIS, NEGATIVE))
         Serial.println("Positive motion detected on Y-axis");
      if (CurielMU.motionDetected(Z_AXIS, POSITIVE))
         Serial.println("Negative motion detected on Z-axis");
      if (CurielMU.motionDetected(Z_AXIS, NEGATIVE))
         Serial.println("Positive motion detected on Z-axis");
      interruptsTime = millis();
      }
}
Kandilo
Published:

Owner

Kandilo

Published: