Files
Arduino/libraries/RBDDimmer-master/README.md
Jérôme Delacotte 7b30d6e298 first commit
2025-03-06 11:15:32 +01:00

188 lines
9.6 KiB
Markdown

<table style="border-collapse: separate;
border-spacing: 0;
padding: 5px;">
<tbody>
<tr style="background-color: lightblue">
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;"><b>Board</b></td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2"><b>INPUT Pin <br>Zero Cross</b></td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2"><b> OUTPUT Pin</b> </td>
</tr>
<tr>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">Leonardo</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D7 (NOT CHANGABLE)</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D0-D6, D8-D13</td>
</tr>
<tr>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">Mega</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D2 (NOT CHANGABLE)</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D0-D1, D3-D70</td>
</tr>
<tr>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" >UNO<br>NANO</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D2 (NOT CHANGABLE)</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D0-D1, D3-D20</td>
</tr>
<tr>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">ESP8266</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">
<ul style="list-style-type: none; margin-left: -30px;">
<li >D1(IO5)</li>
<li >D5(IO14)</li>
<li >D7(IO13)</li>
</ul>
</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">
<ul style="list-style-type: none; margin-left: -30px;">
<li >D2(IO4)</li>
<li >D6(IO12)</li>
<li >D8(IO15)</li>
</ul>
</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">
<ul style="list-style-type: none; margin-left: -30px;">
<li >D0(IO16)</li>
<li >D2(IO4)</li>
<li >D6(IO12)</li>
<li >D8(IO15)</li>
</ul>
</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">
<ul style="list-style-type: none; margin-left: -30px;">
<li >D1(IO5)</li>
<li >D5(IO14)</li>
<li >D7(IO13)</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">ESP32</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">
<ul style="list-style-type: none; margin-left: -30px;">
<li >4(GPI36)</li>
<li >5(GPI39)</li>
<li >8(GPO32)</li>
<li >10(GPI025)</li>
<li >12(GPIO27)</li>
<li >14(GPIO12)</li>
<li >21(GPIO7)</li>
<li >24(GPIO2)</li>
<li >26(GPIO4)</li>
<li >28(GPIO17)</li>
<li >30(GPIO18)</li>
<li >33(GPIO21)</li>
<li >36(GPIO22)</li>
</ul>
</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">
<ul style="list-style-type: none; margin-left: -30px;">
<li >6(GPI34)</li>
<li >7(GPI35)</li>
<li >9(GP033)</li>
<li >11(GPIO26)</li>
<li >13(GPIO14)</li>
<li >16(GPIO13)</li>
<li >23(GPIO15)</li>
<li >25(GPIO0)</li>
<li >27(GPIO16)</li>
<li >29(GPIO5)</li>
<li >31(GPIO19)</li>
<li >35(GPIO1)</li>
<li >37(GPIO23)</li>
</ul>
</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">
<ul style="list-style-type: none; margin-left: -30px;">
<li >8(GPO32)</li>
<li >10(GPIO25)</li>
<li >12(GPIO27)</li>
<li >14(GPIO12</li>
<li >23(GPIO15)</li>
<li >25(GPIO0)</li>
<li >27(GPIO16)</li>
<li >29(GPIO5)</li>
<li >31(GPIO19)</li>
<li >34(GPIO3)</li>
<li >36(GPIO22)</li>
</ul>
</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">
<ul style="list-style-type: none; margin-left: -30px;">
<li >9(GP033)</li>
<li >11(GPIO26)</li>
<li >13(GPIO14)</li>
<li >16(GPIO13)</li>
<li >24(GPIO2)</li>
<li >26(GPIO4)</li>
<li >28(GPIO17)</li>
<li >30(GPIO18)</li>
<li >33(GPIO21)</li>
<li >35(GPIO1)</li>
<li >37(GPIO23)</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;">Arduino M0 <br>Arduino Zero</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D7 (NOT CHANGABLE)</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D0-D6, D8-D13</td>
</tr>
<tr>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;"> Arduino Due</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2"> D0-D53</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">D0-D53 </td>
</tr>
<tr>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;"> STM32 <br> Black Pill
<br> Blue Pill <br> Etc...</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2"> PA0-PA15, PB0-PB15
<br> PC13-PC15</td>
<td style="border: 1px solid #bbb; border-bottom: 1px solid #bbb; padding: 10px 15px 10px 15px;" colspan="2">PA0-PA15, PB0-PB15
<br> PC13-PC15</td>
</tr>
</tbody>
</table>
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