Skip to main content

Automated Window Blinds

Fully automated blinds that roll up and down through wifi.

info

Author: Naomi Lita in collaboration with Rebeca Chiorean
GitHub Project Link: https://github.com/UPB-FILS-MA/project-nimintz

Description

My project aims to automate a window blinds roller. A stepper motor raises and lowers the blinds. A motor driver that is attached to the pico is coupled with the stepper motor. Rebeca Chiorean's project uses another Pico to operate the roller via wifi. Together, our two projects show how a household item can be remotely operated while keeping individuals with disabilities in mind.

Motivation

This project aims to show how a home appliance can be remotely operated using the raspberry pi picos and rust programming language. In the near future, I wish to automate all of my home's window blinds.

Architecture

architecture

Log

Week 6 - 12 May

I purchased the components for the project. I tried to see if the motor would rotate using thony and micropython, and happily, it worked.

Week 7 - 19 May

I configured the project in rust. This week I fixed errors in the code. On the other hand, I started designing the toothed disks for the 3D printer.

Week 20 - 26 May

I 3D printed the necessary disks for the motor and assembled the scale model. Also, I fixed all the software bugs. Rebeca and I connected our picos through wifi.

Hardware

The pico gets a signal from another pico connected through wifi (Rebeca's project: Pico Wand). This signal is transmitted to the motor driver (ULN2003), which in turn activates the stepper motor (28BYJ-48) that rolls the blinds up or down. After the command to roll up or down is performed, an led will blink twice as a confirmation.

Components

  • 28BYJ-48 stepper motor: this motor is a unipolar stepper motor with 4 phases. It has the torque of about 0.34 kg per cm on its axis. This is enough to raise a lightweight model blind.

I will use this table for the clockwise direction to create a matrix where high is 1 and low is 0: motor_rotation

For counterclockwise rotation, it is the same matrix, only reversed.

  • ULN2003 motor driver: this module connects the motor to the pico. This allows the 4 phases of the motor to be controlled through GP02, GP03, GP04, GP05 on the pico which are set to high or low.

Schematics

kicad_schematic

Photos

picture01 picture02 picture03 picture04

Bill of Materials

DeviceUsagePrice
Rapspberry Pi Pico WHthe microcontroller56,23 RON
Stepper Motor 28BYJ-48 5V and Driver ULN2003the motor to rotate the blinds and the driver to connect it to the microcontroller16,97 RON
Breadboardto place the components24,61 RON
Jumper wiresto conect the components24,61 RON
Power sourceto give the motor 5V and pico 3V324,61 RON
Resistorsregulate the power supply12,29 RON
Red LEDblink0,69 RON
3D printed toothed disksconnect the motor to the blinds
9V adaptorpower supply

Software

I only included those specific for this project.

LibraryDescriptionUsage
uln200328BYJ-48 stepper motor with ULN2003 driverUsed for controlling the motor with rust
cyw43Rust driver for the CYW43439 wifi chipUsed for the WiFi implementation
cyw43-pioDriver for the nonstandard half-duplex SPI used in the PicoWUsed for the WiFi implementation
  1. 3D printed and fully automated Roller Blind Motor
  2. Pico Project: Automated window blinds that open at sunrise and close at sunset
  3. 28BYJ-48 Stepper Motor with Raspberry PI Pico
  4. 28BYJ-48 Stepper Motor Description
  5. 3D printed toothed disks