Coder Social home page Coder Social logo

karthiksb0307 / rbddimmer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from robotdynofficial/rbddimmer

0.0 1.0 0.0 81 KB

The following library is used for work with dimmer, it gives ability to control large ammoun of dimmer. This lib uses with Leonardo, Mega, UNO, ESP8266, ESP32, Arduino M0, Arduino Zero, Arduino Due, STM32.

C++ 82.23% C 17.77%

rbddimmer's Introduction

Board INPUT Pin
Zero Cross
OUTPUT Pin
Leonardo D7 (NOT CHANGABLE) D0-D6, D8-D13
Mega D2 (NOT CHANGABLE) D0-D1, D3-D70
UNO
NANO
D2 (NOT CHANGABLE) D0-D1, D3-D20
ESP8266
  • D1(IO5)
  • D5(IO14)
  • D7(IO13)
  • D2(IO4)
  • D6(IO12)
  • D8(IO15)
  • D0(IO16)
  • D2(IO4)
  • D6(IO12)
  • D8(IO15)
  • D1(IO5)
  • D5(IO14)
  • D7(IO13)
ESP32
  • 4(GPI36)
  • 5(GPI39)
  • 8(GPO32)
  • 10(GPI025)
  • 12(GPIO27)
  • 14(GPIO12)
  • 21(GPIO7)
  • 24(GPIO2)
  • 26(GPIO4)
  • 28(GPIO17)
  • 30(GPIO18)
  • 33(GPIO21)
  • 36(GPIO22)
  • 6(GPI34)
  • 7(GPI35)
  • 9(GP033)
  • 11(GPIO26)
  • 13(GPIO14)
  • 16(GPIO13)
  • 23(GPIO15)
  • 25(GPIO0)
  • 27(GPIO16)
  • 29(GPIO5)
  • 31(GPIO19)
  • 35(GPIO1)
  • 37(GPIO23)
  • 8(GPO32)
  • 10(GPIO25)
  • 12(GPIO27)
  • 14(GPIO12
  • 23(GPIO15)
  • 25(GPIO0)
  • 27(GPIO16)
  • 29(GPIO5)
  • 31(GPIO19)
  • 34(GPIO3)
  • 36(GPIO22)
  • 9(GP033)
  • 11(GPIO26)
  • 13(GPIO14)
  • 16(GPIO13)
  • 24(GPIO2)
  • 26(GPIO4)
  • 28(GPIO17)
  • 30(GPIO18)
  • 33(GPIO21)
  • 35(GPIO1)
  • 37(GPIO23)
Arduino M0
Arduino Zero
D7 (NOT CHANGABLE) D0-D6, D8-D13
Arduino Due D0-D53 D0-D53
STM32
Black Pill
Blue Pill
Etc...
PA0-PA15, PB0-PB15
PC13-PC15
PA0-PA15, PB0-PB15
PC13-PC15

This library can simplify user code with following functions:

1. Function dimmerLamp - this function initializes the number of operating pin and is defined by the user
Example: 
    a.dimmerLamp dimmer(4);    dimmer output DIM/PSM is initialized on the pin 4 for the bords WITHOUT changable ZERO-CROSS input pin (AVR, Arduino M0/Zero)
    b.dimmerLamp dimmer(4, 2);  dimmer output DIM/PSM is initialized on the pin 4 and zero-cross initialized on pin 2. Only for boards whith changable zero-cross(ESP32, ESP8266, Arduino Due)

2. Function begin port initialization, timer and external interrupt from zero-cross.
Example:
dimmer.begin(NORMAL_MODE, ON/OFF); port initialization, work mode choice, ON/OFF. 
Parameter 1: dimmer working modes consist of two choices - NORMAL_MODE and TOGGLE_MODE 
    a. NORMAL_MODE to make dimmer work in defined value from 0 to 100 (%) (integer)
        Example of this mode located in \RBDdimmer\examples\SimpleDimmer
    b. TOGGLE_MODE smooth change of dimming value up or down in a defined range. This solutions implies change of dimming values by means of hardware timer, without using the cycle code.
        Example of this mode located in \RBDdimmer\examples\SimpleToggleDimmer

Parameter 2: ON/OFF.
    a. ON - turns timer ON, allows to use dimmer.
    b. OFF - turns timer parameters OFF, prevents the use of dimmer.

3. Function setPower sets dimming value from 0 to 100%
    Example: dimmer.setPower(90);

4. Function getPower to display current dimming value
    Example: Serial.print(dimmer.getPower()); Result 0~100 int

5. Function setMode sets and changes the work mode (NORMAL_MODE and TOGGLE_MODE)
            dimmer.setMode(NORMAL_MODE/TOGGLE_MODE)

6. Function getMode displays values of current work mode
    Example: Serial.print(dimmer.getPower());  Result 0 (NORMAL_MODE) or 1 (TOGGLE_MODE)

7. Function setState sets dimming state ON/OFF
    Example: dimmer.setState(ON); delay(100); dimmer.setState(OFF);

8. Function getState displays current state of dimmer
    Serial.print(dimmer.getState()); Result 0 (OFF) or 1 (ON)

9. Function changeState changes dimmer state to the opposite one 
    Пример dimmer.setState(ON); delay(100); dimmer.changeState; delay(100);

10. Function toggleSettings smooth change of dimming value up or down in a defined range
    Example located in \RBDdimmer\examples\SimpleToggleDimmer

rbddimmer's People

Watchers

 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.