Initial commit
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
.pio
|
||||
.vscode/.browse.c_cpp.db*
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/launch.json
|
||||
.vscode/ipch
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||
// for the documentation about the extensions.json format
|
||||
"recommendations": [
|
||||
"platformio.platformio-ide"
|
||||
],
|
||||
"unwantedRecommendations": [
|
||||
"ms-vscode.cpptools-extension-pack"
|
||||
]
|
||||
}
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"[cpp]": {
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[ignore]": {
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[jsonc]": {
|
||||
"editor.formatOnSave": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
[env:nanoatmega328]
|
||||
platform = atmelavr
|
||||
board = nanoatmega328
|
||||
framework = arduino
|
||||
+348
@@ -0,0 +1,348 @@
|
||||
#include <Arduino.h>
|
||||
|
||||
#define PIN_1 9
|
||||
#define PIN_2 10
|
||||
|
||||
// In Wave pattern
|
||||
void patternInWave(uint8_t pin1, uint8_t pin2, int times = 8, int delayMil = 6)
|
||||
{
|
||||
for (int i = 0; i <= times - 1; i++)
|
||||
{
|
||||
for (int j = 0; j <= 80; j++)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 80, 0, ((6 * 1000) / 2)));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 80, ((6 * 1000) / 2), 0));
|
||||
}
|
||||
for (int j = 80; j >= 0; j--)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 80, 0, ((6 * 1000) / 2)));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 80, ((6 * 1000) / 2), 0));
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i <= (times * 2) - 1; i++)
|
||||
{
|
||||
for (int j = 0; j <= 40; j++)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 40, 0, ((6 * 1000) / 2)));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 40, ((6 * 1000) / 2), 0));
|
||||
}
|
||||
for (int j = 40; j >= 0; j--)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 40, 0, ((6 * 1000) / 2)));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 40, ((6 * 1000) / 2), 0));
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Sequential pattern
|
||||
void patternSequential(uint8_t pin1, uint8_t pin2, int times = 4, int delayMil = 1346)
|
||||
{
|
||||
for (int i = 0; i <= times - 1; i++)
|
||||
{
|
||||
delayMil = delayMil / 2;
|
||||
|
||||
for (int j = 0; j <= (times * pow(2, i)) - 1; j++)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(delayMil);
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delay(delayMil);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Slo Glo pattern
|
||||
void patternSloGlo(uint8_t pin1, uint8_t pin2, int times = 3, int delayMil = 6)
|
||||
{
|
||||
int numberLoops = 1350;
|
||||
|
||||
for (int i = 0; i <= times - 1; i++)
|
||||
{
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, LOW);
|
||||
for (int j = 0; j <= numberLoops; j++)
|
||||
{
|
||||
|
||||
digitalWrite(pin1, HIGH);
|
||||
delayMicroseconds(map(j, 0, numberLoops, 0, (delayMil * 1000)));
|
||||
digitalWrite(pin1, LOW);
|
||||
delayMicroseconds(map(j, 0, numberLoops, (delayMil * 1000), 0));
|
||||
}
|
||||
for (int j = numberLoops; j >= 0; j--)
|
||||
{
|
||||
|
||||
digitalWrite(pin1, HIGH);
|
||||
delayMicroseconds(map(j, 0, numberLoops, 0, (delayMil * 1000)));
|
||||
digitalWrite(pin1, LOW);
|
||||
delayMicroseconds(map(j, 0, numberLoops, (delayMil * 1000), 0));
|
||||
}
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, LOW);
|
||||
for (int j = 0; j <= numberLoops; j++)
|
||||
{
|
||||
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, numberLoops, 0, (delayMil * 1000)));
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, numberLoops, (delayMil * 1000), 0));
|
||||
}
|
||||
for (int j = numberLoops; j >= 0; j--)
|
||||
{
|
||||
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, numberLoops, 0, (delayMil * 1000)));
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, numberLoops, (delayMil * 1000), 0));
|
||||
}
|
||||
|
||||
numberLoops = numberLoops / 2;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Chasing / Flash patters
|
||||
void patternChasingFlash(uint8_t pin1, uint8_t pin2, int times = 1, int delayMil = 375)
|
||||
{
|
||||
for (int i = 0; i <= 2; i++)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(delayMil / 4);
|
||||
digitalWrite(pin1, LOW);
|
||||
delay(delayMil / 4);
|
||||
}
|
||||
for (int i = 0; i <= 2; i++)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(delayMil / 2);
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delay(delayMil / 2);
|
||||
}
|
||||
for (int i = 0; i <= 2; i++)
|
||||
{
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delay(delayMil / 4);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(delayMil / 4);
|
||||
}
|
||||
for (int i = 0; i <= 2; i++)
|
||||
{
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delay(delayMil / 2);
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(delayMil / 2);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Slow Fade pattern
|
||||
void patternSlowFade(uint8_t pin1, uint8_t pin2, int times = 1, int delayMil = 10)
|
||||
{
|
||||
int delayMic = delayMil * 1000;
|
||||
|
||||
for (int i = 0; i <= 1; i++)
|
||||
{
|
||||
for (int j = 0; j <= 425; j++)
|
||||
{
|
||||
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 425, 0, delayMic / 2));
|
||||
digitalWrite(pin1, LOW);
|
||||
delayMicroseconds(map(j, 0, 425, delayMic, 0));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 425, 0, delayMic / 2));
|
||||
}
|
||||
for (int j = 425; j >= 0; j--)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 425, 0, delayMic / 2));
|
||||
digitalWrite(pin1, LOW);
|
||||
delayMicroseconds(map(j, 0, 425, delayMic, 0));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 425, 0, delayMic / 2));
|
||||
}
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(375);
|
||||
}
|
||||
|
||||
for (int i = 0; i <= 1; i++)
|
||||
{
|
||||
for (int j = 0; j <= 178; j++)
|
||||
{
|
||||
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 178, 0, delayMic / 2));
|
||||
digitalWrite(pin1, LOW);
|
||||
delayMicroseconds(map(j, 0, 178, delayMic, 0));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 178, 0, delayMic / 2));
|
||||
}
|
||||
for (int j = 178; j >= 0; j--)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 178, 0, delayMic / 2));
|
||||
digitalWrite(pin1, LOW);
|
||||
delayMicroseconds(map(j, 0, 178, delayMic, 0));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 178, 0, delayMic / 2));
|
||||
}
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(375);
|
||||
}
|
||||
|
||||
for (int i = 0; i <= 3; i++)
|
||||
{
|
||||
for (int j = 0; j <= 99; j++)
|
||||
{
|
||||
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 99, 0, delayMic / 2));
|
||||
digitalWrite(pin1, LOW);
|
||||
delayMicroseconds(map(j, 0, 99, delayMic, 0));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 99, 0, delayMic / 2));
|
||||
}
|
||||
for (int j = 99; j >= 0; j--)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(map(j, 0, 99, 0, delayMic / 2));
|
||||
digitalWrite(pin1, LOW);
|
||||
delayMicroseconds(map(j, 0, 99, delayMic, 0));
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(map(j, 0, 99, 0, delayMic / 2));
|
||||
}
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(375);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Twinkle Flash pattern
|
||||
void patternTwinkleFlash(uint8_t pin1, uint8_t pin2, int times = 6, int delayMil = 118)
|
||||
{
|
||||
for (int i = 0; i <= times - 1; i++)
|
||||
{
|
||||
for (int j = 0; j <= 2; j++)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(delayMil / 2);
|
||||
digitalWrite(pin1, LOW);
|
||||
delay(delayMil / 2);
|
||||
}
|
||||
for (int j = 0; j <= 2; j++)
|
||||
{
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delay(delayMil / 2);
|
||||
digitalWrite(pin2, LOW);
|
||||
delay(delayMil / 2);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Steady On pattern
|
||||
void patternSteadyOn(uint8_t pin1, uint8_t pin2, int times = 1600, int delayMil = 1)
|
||||
{
|
||||
int delayMic = delayMil * 1000;
|
||||
|
||||
for (int i = 0; i <= times - 1; i++)
|
||||
{
|
||||
digitalWrite(pin1, HIGH);
|
||||
digitalWrite(pin2, LOW);
|
||||
delayMicroseconds(delayMic / 2);
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, HIGH);
|
||||
delayMicroseconds(delayMic / 2);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Off pattern
|
||||
void patternOff(uint8_t pin1, uint8_t pin2)
|
||||
{
|
||||
digitalWrite(pin1, LOW);
|
||||
digitalWrite(pin2, LOW);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Combination pattern
|
||||
void patternCombination(uint8_t pin1, uint8_t pin2)
|
||||
{
|
||||
// 2. In Wave
|
||||
patternInWave(pin1, pin2);
|
||||
// 3. Sequential
|
||||
patternSequential(pin1, pin2);
|
||||
// 4. Slo Glo
|
||||
patternSloGlo(pin1, pin2);
|
||||
// 5. Chasing / Flash
|
||||
patternChasingFlash(pin1, pin2);
|
||||
// 6. Slow Fade
|
||||
patternSlowFade(pin1, pin2);
|
||||
// 7. Twinkle Flash
|
||||
patternTwinkleFlash(pin1, pin2);
|
||||
// 8. Steady On
|
||||
patternSteadyOn(pin1, pin2);
|
||||
return;
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(PIN_1, OUTPUT);
|
||||
pinMode(PIN_2, OUTPUT);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
patternCombination(PIN_1, PIN_2);
|
||||
}
|
||||
Reference in New Issue
Block a user