Giter Club home page Giter Club logo

blindsmanagementsystem's Introduction

Contributors Forks Stargazers Issues MIT License


Logo

BlindsManagementSystem

Window roller blind management system


View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Modules Used
  4. Android Application Support
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

game

BlindManagmentSystem is a project created by two students of the Warsaw University of Technology as part of an additional course - PMIK (Microcontrollers Programming) The system manages such modules as Servo with continuous operation 360°, Photoresistor and Bluetooth. In the future, we also want to add a humidity sensor module. The simplified description of the system operation consists of three modes: schedule, exposure and manual.

In schedule mode, the roller shutter opens or closes at the set times as planned. The schedule is sent to the system with Bluetooth using the Android application. The microcontroller stores data in memory and counts down the time. If the clock shows the time from the schedule, the roller shutter is running.

In exposure mode, the light intensity is periodically measured and compared with limiting intensity. Depending on the result of the comparison, the servo will activate the roller shutter. When the intensity exceeds the limit intensity, the roller shutter will be lowered, otherwise it will be raised. The current limits are set using the Android application and sent to the microcontroller via the Bluetooth module.

In manual mode, the user roll up or roll down the blind using the Android application.

(back to top)

Built With

(back to top)

Getting Started

Prerequisites

Download and install the software below:

Installation

  1. Clone the repo.

    git clone https://github.com/dg1asap/BlindsManagementSystem.git
  2. If you use other MCU than STM32L073RZ, using STM32CubeIDE to change the pins in the file curtain-manage-prototype.ioc to match the MCU you selected. Do not change anything if you use the same equipment as us. A description of the equipment we use can be found in the Modules Used tab.

  3. Upload the software to the microcontroller by connecting MCU to the computer and clicking on the green arrow (Run) on the STM32CubeIDE bar.

  4. Using AndroidStudio upload the application to your phone, follow instruction. Important! Before uploading the software to your phone, remember to enable developer options on your phone. Depending on your phone model, this process will vary. In our case, it was a few times clicking on the build number.

(back to top)

Modules Used

Android Application Support

game game

The Up and Down buttons are used to roll up and roll down the roller blind in manual mode. The chat at the bottom of the application is used to set parameters and stream them via Bluetooth.

Command List:

SERWO MAX UP
SERWO MAX DOWN
SERWO UP
SERWO DOWN
SET MIN LDR READING xxxx
SET MAX LDR READING xxxx
SET UPPER LDR CONTROL LIMIT xxxx
SET LOWER LDR CONTROL LIMIT xxxx
SET SERVO MAX POSITION xxxx
PRINT MIN LDR READING
PRINT MAX LDR READING
PRINT UPPER LDR CONTROL LIMIT
PRINT LOWER LDR CONTROL LIMIT
PRINT SERVO MAX POSITION
TIMER UP xxxx
TIMER DOWN xxxx
LDR TURN ON
LDR TURN OFF
SCHEDULER UP ON
SCHEDULER UP OFF
SCHEDULER DOWN ON
SCHEDULER DOWN OFF
RTC TIME

More information about the system itself and the description of commands can be found in the documentation in doc.

(back to top)

Roadmap

  • Photoresistor module support

    • Lighting of the diode in the event of exceeding the light intensity
  • Servo module support with 360 ° continuous support

    • Rolling or unrolling the blind depending on the reading from the photoresistor
  • Creation of an application on Android and Bluetooth support

    • Rolling or unrolling the blind with the Android application
    • Setting system parameters using the Android application
    • Setting the Bluetooth commands on the microcontroller side
  • Writing and generating documentation

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

(back to top)

License

Distributed under the Apache License 2.0. See LICENSE.txt for more information.

(back to top)

Contact

dg1asap - [email protected]

depegie - [email protected]

Project Link: https://github.com/dg1asap/BlindsManagementSystem

(back to top)

Acknowledgments

  • Very Important 90% of the code on Android apps is from viktorvano. If you use our system, thank him and give him a star.
  • Img Shields

(back to top)

blindsmanagementsystem's People

Contributors

dg1asap avatar depegie avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.