Giter Club home page Giter Club logo

rbddimmer-fork's Introduction

Librairie updated for correct lot of bug of ISRAM with ESP8266 and compatible with VS

exemple of platformio.ini

[env:d1_mini]

platform = espressif8266

board = d1_mini

framework = arduino

monitor_speed = 115200

lib_deps = https://github.com/xlyric/RBDDimmer


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

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.