SMArt Flower (uni project)

hi guys i am mid way through a project and i have gotten to the point of needing electronics help.

project breif: design an artifact relating time and people.

my solution: an obvious one but a new idea... yes its a clock.

the clock will have 12 petals around the outside representing hours. and 4 more petals closer to the center that represent 0, 15, 30 and 45 mins.

each petal will be made of felt with flexinol sewn into it (0.006"LT) and each petal will have an LED to shine on it.

to tell the time the petals will be electrically heated so the petal curls, and then the current is switched off so it uncurls (7.5sec to curl, 7.5sec to relax). while the petal does that the LED for that petal will stay shining on it.

so thats my idea. Flexinol is essentially an ohmic resistor and needs 0.4A to curl up in 1 second, so i expect i will need around 0.2A running though the flexinol...

i have been told i can use arduino(http://www.oomlout.co.uk/starter-kit-for-arduino-ardx-p-183.html?zenid=8ee7cd8d0037cf7dda4da2d6d410a434) and to add a second 74HC595 plus a DS1307 RTC module.

but i dont know what to do from here...

i have also been told that this is an awesome forum and ill get loads of help XD

thanks
chris

...i am mid way through a project...

What does that mean?

I'd work on one thing at a time.

  1. Get the LEDs working and "simulate" the petal action with other LEDs. You can hard-code the "fake" clock-time data, and make it run fast so that you don't have to run it for 12 hours to test it.

  2. Hook-up and program the real time clock. Get that working with LEDs.

  3. Add the petals and the petal-power. Test the petals manually first by connecting power with no microcontroller control.

I'm not sure what the 74HC595 is for... Maybe to get more outputs? You'll need inputs from the clock ship, and you'll need outputs for the LEDs and the flexinol.

the petals will be electrically heated so the petal curls, and then the current is switched off so it uncurls (7.5sec to curl, 7.5sec to relax). while the petal does that the LED for that petal will stay shining on it.

If the LED is always on when the flexinol is active, they can share output pins. But, they might have to be powered separately.

so thats my idea. Flexinol is essentially an ohmic resistor and needs 0.4A to curl up in 1 second, so i expect i will need around 0.2A running though the flexinol...

The Arduino can't directly put-out that much current, so you'll have to boost it. Probably with one transistor or MOSFET for each petal.

And, what does that mean? 0.4A to curl it and 0.2A to hold it curled???? If you need to reduce/control the output current or voltage, you can use the PWM output pins.

sorry i should have explained in a bit more detail.

i am a product design student and this project is more about the concept rather than how it work. but i want it to work.

the 74HC595 was for more outputs yes.

i dont want the LED's to pulsate like the petals but stay on for an hour whilst the petal pulsates. does this mean i will need 16 outputs for the LED's and 16 outputs for flexinol? (16 for the 12 hour s and 4 petals for minutes.

0.4A will contact the flexinol in 1 second, i want it to take longer so its more natural. im waiting for the flexinol to arrive so i dont know what amperage yet, so i estimated half of 0.4 for now.

good idea with testing it with LED's, thank you
chris

If you would like to control them individually you'll indeed need one output-pin per petal and one per led.

One thing I wonder is how much control you want for the petals, do they only need to curl/uncurl... or would you like them to be half-curled, 1/4th curled, 3/4 curled and stay in that position as well ?

I'm asking this since you may... not need PWM pins as suggested. Curling them slow speed, 7.5secs, with 0.2 amps instead of 0.4 could also be done with an extra resistor or by using a lower voltage. With only 2 choices, curled or uncurled, you may not need PWM.

PWM is ofcourse also possible and gives you more control, but... the Uno you suggested standard only has 6 hardware PWM-pins and it's biggest brother, the Mega2560 only has 14. You could... write a software-routine to pulse other pins as well though, you could even control the 74hc595 output pins to behave as PWM-pins, but that might make the project a little more difficult.

One thing I unfortunately don't know is how individual pieces of flexinol react to the same power, having one curl up in 5 secs, the next in 8 and another one in 3, may... require you to use PWM-pins to have 'm all curl with the same speed, but once more, I have no experience with flexinol.

It would make the project more difficult, creating a flower and using RGB-leds in stead of single colour ones may also be nice, it would require 3 times as much output pins per led. It would look great though to fade the colours between the curling of petals and it could be an extra way to intuitively tell time with a resolution higher as 15 minutes.

thankyou for the reply

i wont need pwm for the petals then as i just need it to curl and uncurl...

the RGB LED's would be awesome but having 16 of them would also be expensive. i was considering using 1 for the middle of the flower to indicate AM/PM but i could say "as a future upgrade/development i could use RGB LED's etc"

it shouldnt matter too much if individual pieces react slightly different (they shouldnt if they are the same length) as only 2 petals will be active at a time, and i just want it to look more natural rather than a 1 second curl...

i think i know what im doing hardware wise now, but i will almost certainly go wrong somewhere and lose a lot of hair so i will be back for advice. also i will need help with the programming side..

my arduino is here !!!

ok i have started to play with it and a deadline is next friday so what i want doing arduino wise is:

12 LED's that are on every hour and then 12 LED's that are turning on for 7.5sec then off 7.5sec every hour.

my understanding is that if i can get 1 to turn on for an hour then off for 12 and then the blinking to go on for an hour then off for 12, then i just make 12 of these and stagger it.

so far i can get 1 LED to blink for 7.5sec, off for 7.5sec, but im stuck on getting a second LED to run alongside it.

i have used the "void loop()" for the 1 LED.

any pointers or example code i can modify?

Please share your code (using the # button), that makes it easier to understand what you're doing.

One thing that comes to mind is that you may be using the delay()-function which more or less stops the arduino completely for a period of time, maybe you could find the answer in the blink-without delay-example, but... I'm not exactly sure what you're trying to do.