PETAL COUTURE – ROSE ROGALA – RODOLFO COSSOVICH
As soon as the midterm project has been announced, me and my forever recitation partner Amina, have started thinking about the concept. We wanted to combine our passions and create something beautiful that would convey our message. As we both are interested in fashion and we both love flowers, the idea came up almost immediately. We have also taken inspiration from the previous project – the kinetic wearable. The project that inspired our first creation, which were the Neck Fans, was called “Monarch V2, Muscle-activated kinetic textile” created by Kate Hartman, Boris Kourtoukov, Izzie Colpitts-Campbell, and Erin Lewis. I think that the Neck Fans were really cool, as they were useful and helpful when it comes to the user. Nevertheless, it was an interaction between the user and the project, and not the user and someone else. That is something that we wanted to improve and work on when it comes to our midterm project. The idea for the title “Petal Couture” is connected to the flowers that were the initial theme of the project. The word “couture” is connected to the world of fashion, as the base and foundation of the project itself was a dress. After the revision of our project proposal our instructor – professor Rodolfo Cossovich, was rightfully concerned, as the proposal itself was a bit “insane”. It sounded dreamy in our heads, however technically it was something quite difficult to do.
Our aim was to create something that helps the user to interact with others, while helping the user at the same time. In our vision, the dress would be embedded with various flowers, which would later be connected to the Servo-motors, so that they would be able to move. The flowers would have a specific meaning, and their movement would be controlled by the user. We made some changes to our original design after a conversation with professor Cossovich, as we wanted the project to be not only interactive, but also actually usable. That is why we decided to “reject” some of the previous ideas, such as the one where each flower does something completely different. We thought that it was going to look a bit messy and distracting. Instead, we decided to settle on one main goal – have four flowers move, which would indicate the user’s reaction to something. I was thinking about an interaction with another person, somewhere outside. I imagined someone wearing our dress, trying to convey their feelings with the flowers. Especially if someone is shy or anxious while meeting other people, just like I am. The act of opening the flowers could represent the act of “opening up” to someone. Sometimes interactions with other people can be a little difficult, and our dress could help somebody actually open up and feel comfortable and confident.
I knew from the beginning that the project was going to be very time consuming, so we started preparing very early. The first step was making around 50 flowers from coloured paper. I remember that I still can do the origami lilies, which actually turned out to look quite pretty.
As we had been working throughout the whole week we encountered different kinds of problems. First, we had to make a different kind of flower, the way it could work properly, and actually open up the way we wanted. Thankfully we found a YouTube tutorial for the exact flower we wanted by “DIY QUEEN” https://www.youtube.com/watch?v=61_Bm20XjMU . After bending lots of wires we were able to position the Servo-motor “hand” the way it was “moving” the flower petals. The servo itself was hot-glued to the wooden “stem” of the flower. Thankfully we did not encounter lots of problems when it comes to working on the actual code. We made one “prototype” that worked out really well. At this point we felt really accomplished and proud of ourselves, even though it was just the beginning. After the prototype we made more similar flowers.
We wanted to connect the flowers to the remote, so they would be easier to control. We had trouble with figuring it out, however thanks to professor Rudi and our Learning Assistant Kevin, it was a successful mission. The flowers were actually controlled by the remote control, which was super cool.
After a week of working on our project and perfecting the angles of the servos, it was time to actually connect them to the dress and that was a struggle. We did not want the stems to “stab” our tester, but we also wanted them to stay stable on the dress, so we were hot-gluing them with all our might, the way they do not move too much.
Finally, during our User-Testing session we got plenty of feedback and advice, so we knew what to work on. After analyzing every piece of advice, we decided to make a couple of changes. Firstly, we decided to make a glove that would “hold” the remote control, to make it even more comfortable for the user. We definitely had to do something about the wires, so we soldered them and connected them with electrical tape. Not only did that look better, but it was also more comfortable for the User. The biggest change was probably changing the colors of the flowers, so each of them had a different meaning. We took our inspiration here from the traffic lights – which is something universally understandable. Green means – YES, or positive feelings in general, yellow and orange symbolize a hesitation, a feeling of being unsure or slightly uncomfortable, and red means – NO, or lack of willingness to interact in general. Then, based on the colors of the flowers we customized the remote control, so it would be easier to read and understand.
I would like to give a big shoutout to our tester Eddy, as I am incredibly grateful for his cooperation and time he devoted to trying out our creation.
We were glad that the code worked out and that the wires were soldered correctly.
After positive feedback, we decided to add the code for LED lights that were controlled by the light sensor. It was another option for the User to show their emotions, or lack of interest in something. After making sure that everything worked out perfectly, we glued down the water lilies to fill up the space to make everything look aesthetically pleasing. We put the soldered and taped wires in the fanny pack, to make the dress actually usable and comfortable.
During the final presentation we received positive feedback from our instructors, learning assistants and our classmates. I felt really proud of us both, as I felt like all that hard work paid off. The interaction between the User wearing the dress and people that were interacting with him turned out the way we planned. Eddy could express his feelings by using the flowers and LED lights, and it brought a positive reaction from the side of the ones who were carrying out a conversation with him. There are a couple of things that could have been done differently, but I am glad that the Petal Couture worked out that well. I am grateful for everyone who has helped us with creating our little masterpiece, especially my project partner Amina, who made that “working” really fun and enjoyable. Our cooperation was amazing. Even taking apart the dress and recycling the elements went smoothly. I appreciate that experience and hope to work on more projects like that in the future.
Here is our code that we called the “MainFlower”. I have to give the credit to Amina as she was the one that worked on it more.
#include /* Sweep by BARRAGAN <http://barraganstudio.com> This example code is in the public domain. modified 8 Nov 2013 by Scott Fitzgerald https://www.arduino.cc/en/Tutorial/LibraryExamples/Sweep */ #include Servo myservo; // create servo object to control a servo // twelve servo objects can be created on most boards Servo myservo2; Servo myservo3; Servo myservo4; // variable to store the servo position int angle = 45; int angle2 = 45; int angle3 = 45; int angle4 = 45; void setup() { Serial.begin(9600); IrReceiver.begin(3); myservo.attach(9); myservo2.attach(10); myservo3.attach(5); myservo4.attach(11); } void loop() { if (IrReceiver.decode()) { IrReceiver.resume(); } Serial.println(IrReceiver.decodedIRData.command); if (IrReceiver.decodedIRData.command==5) { for (angle = 0; angle <= 90; angle++) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo.write(angle); // tell servo to go to position in variable 'pos' delay(5); // waits 15 ms for the servo to reach the position } for (angle = 90; angle >= 0; angle--) { // goes from 180 degrees to 0 degrees myservo.write(angle); // tell servo to go to position in variable 'pos' delay(5); // waits 15 ms for the servo to reach the position } } delay(10); if (IrReceiver.decode()) { IrReceiver.resume(); } Serial.println(IrReceiver.decodedIRData.command); if (IrReceiver.decodedIRData.command==6){ for (angle2 = 0; angle2 <= 90; angle2++) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo2.write(angle2); // tell servo to go to position in variable 'pos' delay(5); // waits 15 ms for the servo to reach the position } for (angle2 = 90; angle2 >= 0; angle2--) { // goes from 180 degrees to 0 degrees myservo2.write(angle2); // tell servo to go to position in variable 'pos' delay(5); // waits 15 ms for the servo to reach the position } } delay(10); //servo3 if (IrReceiver.decode()) { IrReceiver.resume(); } Serial.println(IrReceiver.decodedIRData.command); if (IrReceiver.decodedIRData.command==4){ for (angle3 = 0; angle3 <= 90; angle3++) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo3.write(angle3); // tell servo to go to position in variable 'pos' delay(5); // waits 15 ms for the servo to reach the position } for (angle3 = 90; angle3 >= 0; angle3--) { // goes from 180 degrees to 0 degrees myservo3.write(angle3); // tell servo to go to position in variable 'pos' delay(5); // waits 15 ms for the servo to reach the position } } delay(10); // servo4 if (IrReceiver.decode()) { IrReceiver.resume(); } Serial.println(IrReceiver.decodedIRData.command); if (IrReceiver.decodedIRData.command==9) { for (angle4 = 0; angle4 <= 90; angle4++) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo4.write(angle4); // tell servo to go to position in variable 'pos' delay(5); // waits 15 ms for the servo to reach the position } for (angle4 = 90; angle4 >= 0; angle4--) { // goes from 180 degrees to 0 degrees myservo4.write(angle4); // tell servo to go to position in variable 'pos' delay(5); // waits 15 ms for the servo to reach the position } } delay(10); }