Morning Curtain Opener : Using Dc Motor

Made by Bennett Goeke

This project aims to explore some interactions between an actuator and materials. This curtain opener is part of a larger experiment in finding creative ways in which a motor can create notifications and signals through movement and vibration.

Created: December 3rd, 2023

0

Product

The Morning curtain opener is a simple product that uses a small dc motor to pull open my curtains when I want to wake up in the morning. By connecting it to google calendar, one can set sleep schedules which would in turn call the "openCurtain" function, opening the curtains and letting the sun in to help wake me up gently. I often keep my curtains closed at night because my windows are directly next to my neighbors house which means the curtains have to be closed most of the time to have privacy. Despite this, I really prefer letting in the sun in the morning because it wakes me up naturally without having to blare an alarm in the morning. With this product I can not only open the curtains to allow the light to come in, but I can also set when I want the curtains to open using google calendar, allowing a lot of flexibility for when I want to wake up and not have to just wake up as soon as the sun rises. 

0

Process

I was at first thinking of using a servo motor but ended up realizing I couldn't get enough movement on the curtains to actually open them. Once I switched to the dc motor I had a lot more success and the only thing I had to experiment with was how much I needed to spin the motor in order to get the desired movement in the curtains. After the testing I was able to set the motor up to spin on and off 10 times in order to get the curtains to open and have the motor stop spinning after the desired curtain position was reached.

0

Outcome + Reflection

Below are some videos on how the curtain moves and how the motor is set up to create this movement. I'm ultimately happy with this as a proof of concept but there are some things that could be improved. First off is the amount of torque the motor has beacuse with testing I realized the motor wasn't strong enough to actually slide the curtain along the curtain rod. This could be improved with just a bigger motor or using a more intricate set of gears to get more leverage and be able to pull with more strength. Another improvement would be to make it more of a compacted, unified product that could actually house the motor as well as the wiring for it. This way I wouldn't have to use tape to hold the motor in place and it could be more of a hidden product that works seamlessly with my google calendar sleep schedule. A second motor could also be added to the other side to pull the curtain back closed when I want that privacy again.

0
Morning Curtain Opener: Curtain Opening
Bennett Goeke - https://www.youtube.com/watch?v=Ypn_J56nd_s
0
Morning Curtain Opener: Using dc motor
Bennett Goeke - https://www.youtube.com/watch?v=mOc2wMAif0g
0
int solPin = D3;

bool shouldActivate = false;

void setup() {
    Particle.function( "openCurtain", activateSolenoid );
    pinMode(solPin, OUTPUT);
}

void loop() {
    if( shouldActivate ){
        doSolenoid(  );
        shouldActivate = false;
    }
  delay( 100 );

}

void doSolenoid(  ){
    
    // digitalWrite(solPin, HIGH);
    
    for( int i = 0; i < 10; i++ ) {
        digitalWrite(solPin, HIGH);
        delay( 100 ) ;
        digitalWrite(solPin, LOW);
        delay( 100 );
  }
}


int activateSolenoid( String command ){
    shouldActivate = true;
    return 1;

}
Click to Expand
x
Share this Project

Courses

48-675 Designing for the Internet of Things 24

· 11 members

A hands-on introductory course exploring the Internet of Things and connected product experiences.


About

This project aims to explore some interactions between an actuator and materials. This curtain opener is part of a larger experiment in finding creative ways in which a motor can create notifications and signals through movement and vibration.