Skip to content

Commit 396b2d5

Browse files
committed
initial commit
0 parents  commit 396b2d5

File tree

21 files changed

+772
-0
lines changed

21 files changed

+772
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.vscode/
2+
/libraries/

ESP32OLED/ESP32OLED.ino

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
/*
2+
06/01/2016
3+
Author: Makerbro
4+
Platforms: ESP8266
5+
Language: C++
6+
File: DrawLogo.ino
7+
------------------------------------------------------------------------
8+
Description:
9+
Drawing an image in the OLED display. The image date was generated using a
10+
bitmap generator.
11+
------------------------------------------------------------------------
12+
Please consider buying products from ACROBOTIC to help fund future
13+
Open-Source projects like this! We'll always put our best effort in every
14+
project, and release all our design files and code for you to use.
15+
https://acrobotic.com/
16+
------------------------------------------------------------------------
17+
License:
18+
Released under the MIT license. Please check LICENSE.txt for more
19+
information. All text above must be included in any redistribution.
20+
*/
21+
#include <Wire.h>
22+
#include <ACROBOTIC_SSD1306.h>
23+
24+
static unsigned char const ACROBOT[] PROGMEM ={
25+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
26+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
27+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
29+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
30+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
34+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
35+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
38+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
41+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
42+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
43+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
44+
0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xC8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0xFE,
45+
0xFE, 0xFF, 0xFE, 0xF8, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
46+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
47+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
48+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
49+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
50+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
51+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
52+
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0x03, 0x03, 0x41, 0xE1, 0xE1, 0x41, 0x03, 0x03, 0x07, 0x1F,
53+
0xFF, 0xC1, 0x81, 0x00, 0x00, 0x00, 0x00, 0x81, 0xC3, 0xFF, 0xFF, 0xFC, 0xFC, 0x78, 0x00, 0x00,
54+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
56+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
60+
0x0C, 0x1E, 0x1F, 0x3F, 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0xF0, 0xF0, 0x10, 0x18, 0x18, 0x1C, 0x1F,
61+
0x0F, 0x0F, 0x0F, 0xCF, 0x07, 0x07, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE0, 0x00, 0x00,
62+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
65+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
68+
0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, 0x1F, 0x1F, 0x8F, 0x8F, 0x8E, 0xCE, 0xCE, 0xCE, 0xC7,
69+
0xC6, 0x46, 0x47, 0xE7, 0xE7, 0xE3, 0xE3, 0xE3, 0xE3, 0xC3, 0x03, 0x01, 0x01, 0xC0, 0xC0, 0x80,
70+
0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
71+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
73+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x78, 0xFC, 0xFF, 0xFF, 0xFE, 0xFC,
76+
0x7E, 0x7E, 0x3E, 0x3E, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xE0,
77+
0x40, 0x40, 0x40, 0x60, 0x71, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x3C, 0x00, 0x00, 0x03, 0x07, 0x0F,
78+
0x0F, 0x1F, 0x3F, 0x3F, 0x7E, 0x3E, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
79+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
81+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
82+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
83+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
84+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xE0, 0x60, 0x60, 0x70, 0x7C, 0x7C, 0x7C,
85+
0x7C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x3E, 0x3E, 0x3C, 0x38, 0x38, 0x18, 0x18, 0x00, 0x00, 0x00,
86+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
87+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
88+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
89+
};
90+
91+
void setup()
92+
{
93+
Wire.begin();
94+
oled.init(); // Initialze SSD1306 OLED display
95+
oled.clearDisplay(); // Clear screen
96+
oled.drawBitmap((unsigned char *)ACROBOT, 1024); // 1024 pixels for logo
97+
}
98+
99+
void loop()
100+
{
101+
}

FindI2C/FindI2C.ino

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include <Wire.h>
2+
3+
void setup() {
4+
Serial.begin (9600);
5+
pinMode(LED_BUILTIN, OUTPUT);
6+
} // end of setup
7+
8+
void loop() {
9+
digitalWrite(LED_BUILTIN, HIGH);
10+
delay(500);
11+
Serial.println ();
12+
Serial.println ("I2C scanner. Scanning ...");
13+
byte count = 0;
14+
15+
Wire.begin();
16+
for (byte i = 1; i < 120; i++)
17+
{
18+
Wire.beginTransmission (i);
19+
if (Wire.endTransmission () == 0)
20+
{
21+
Serial.print ("Found address: ");
22+
Serial.print (i, DEC);
23+
Serial.print (" (0x");
24+
Serial.print (i, HEX);
25+
Serial.println (")");
26+
count++;
27+
}
28+
} // end of for loop
29+
30+
Serial.println ("Done.");
31+
Serial.print ("Found ");
32+
Serial.print (count, DEC);
33+
Serial.println (" device(s).");
34+
digitalWrite(LED_BUILTIN, LOW);
35+
}

ServoDrive/ServoDrive.ino

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
class Servo {
2+
static const int kMaxPins = 10;
3+
static const int kMinValue = 500;
4+
static const int kMaxValue = 2500;
5+
static const int kInterval = 20000;
6+
static const int kOutputDelay = 10;
7+
8+
int pins[kMaxPins]{};
9+
int values[kMaxPins]{};
10+
int numPins{};
11+
int updateTime{};
12+
13+
public:
14+
void attachAt(int index, int pin) {
15+
if (numPins <= index) {
16+
numPins = index + 1;
17+
}
18+
pins[index] = pin;
19+
values[index] = 0;
20+
pinMode(pin, OUTPUT);
21+
}
22+
23+
void attach(int pin) {
24+
int index = numPins++;
25+
attachAt(index, pin);
26+
}
27+
28+
int attachCount() const {
29+
return numPins;
30+
}
31+
32+
int indexToPin(int index) const {
33+
return pins[index];
34+
}
35+
36+
int pinToIndex(int pin) const {
37+
for (int i = 0; i < numPins; ++i) {
38+
if (pins[i] == pin) {
39+
return i;
40+
}
41+
}
42+
return -1;
43+
}
44+
45+
void update() {
46+
int now = micros();
47+
int dt = updateTime - now;
48+
if (dt > 0) {
49+
delayMicroseconds(dt);
50+
}
51+
now = micros();
52+
for (int i = 0; i < numPins; ++i) {
53+
if (kMinValue <= values[i] && values[i] <= kMaxValue) {
54+
digitalWrite(pins[i], HIGH);
55+
delayMicroseconds(values[i] - kOutputDelay);
56+
digitalWrite(pins[i], LOW);
57+
delayMicroseconds(kMaxValue - values[i] - kOutputDelay);
58+
} else {
59+
digitalWrite(pins[i], LOW);
60+
delayMicroseconds(kMaxValue - kOutputDelay);
61+
}
62+
}
63+
updateTime = now + kInterval;
64+
}
65+
66+
void setMicroseconds(int index, int value) {
67+
values[index] = value;
68+
}
69+
70+
void setAngle(int index, int angle, int minAngle, int maxAngle) {
71+
values[index] = map(angle, minAngle, maxAngle, kMinValue, kMaxValue);
72+
}
73+
74+
void setAngle(int index, int angle) {
75+
values[index] = map(angle, 0, 180, kMinValue, kMaxValue);
76+
}
77+
78+
void setFree(int index) {
79+
values[index] = 0;
80+
}
81+
};
82+
83+
Servo servo;
84+
85+
void setup() {
86+
Serial.begin(9600);
87+
pinMode(12, INPUT);
88+
servo.attach(8);
89+
servo.attach(9);
90+
servo.attach(11);
91+
pinMode(10, OUTPUT);
92+
}
93+
94+
void loop() {
95+
int value = analogRead(5);
96+
servo.setAngle(0, value, 0, 1023);
97+
servo.setAngle(1, 1023 - value, 0, 1023);
98+
servo.update();
99+
Serial.println(value);
100+
}

breathe/breathe.ino

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
void setup() {
2+
Serial.begin(9600);
3+
}
4+
5+
void loop() {
6+
// 从暗到亮,以每次加5的形式逐渐亮起来
7+
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
8+
// 输出PWM
9+
analogWrite(9, fadeValue);
10+
// 等待30ms,以便观察到渐变效果
11+
delay(30);
12+
}
13+
14+
// 从亮到暗,以每次减5的形式逐渐暗下来
15+
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
16+
// 输出PWM
17+
analogWrite(9, fadeValue);
18+
// 等待30ms,以便观察到渐变效果
19+
delay(30);
20+
}
21+
// 从暗到亮,以每次加5的形式逐渐亮起来
22+
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
23+
// 输出PWM
24+
analogWrite(10, fadeValue);
25+
// 等待30ms,以便观察到渐变效果
26+
delay(30);
27+
}
28+
29+
// 从亮到暗,以每次减5的形式逐渐暗下来
30+
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
31+
// 输出PWM
32+
analogWrite(10, fadeValue);
33+
// 等待30ms,以便观察到渐变效果
34+
delay(30);
35+
}
36+
// 从暗到亮,以每次加5的形式逐渐亮起来
37+
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
38+
// 输出PWM
39+
analogWrite(11, fadeValue);
40+
// 等待30ms,以便观察到渐变效果
41+
delay(30);
42+
}
43+
44+
// 从亮到暗,以每次减5的形式逐渐暗下来
45+
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
46+
// 输出PWM
47+
analogWrite(11, fadeValue);
48+
// 等待30ms,以便观察到渐变效果
49+
delay(30);
50+
}
51+
}

breathingLed/breathingLed.ino

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
void setup() {
2+
Serial.begin(9600);
3+
pinMode(13, OUTPUT);
4+
}
5+
6+
void loop() {
7+
for (int p = 0; p <= 1000; ++p) {
8+
digitalWrite(13, 1);
9+
delayMicroseconds(p);
10+
digitalWrite(13, 0);
11+
delayMicroseconds(1000 - p);
12+
}
13+
for (int p = 1000; p >= 0; --p) {
14+
digitalWrite(13, 1);
15+
delayMicroseconds(p);
16+
digitalWrite(13, 0);
17+
delayMicroseconds(1000 - p);
18+
}
19+
}

carMotors/carMotors.ino

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#include <Arduino.h>
2+
3+
#define VRX 1
4+
#define VRY 0
5+
#define SW 7
6+
#define LED 13
7+
#define IA 10
8+
#define IB 11
9+
10+
11+
void setup() {
12+
Serial.begin(9600);
13+
pinMode(LED, OUTPUT);
14+
pinMode(SW, INPUT);
15+
}
16+
17+
void loop() {
18+
int x = analogRead(VRX);
19+
int y = analogRead(VRY);
20+
x = map(x, 0, 1023, 0, 180);
21+
y = map(y, 0, 1023, -255, 255);
22+
Serial.print(x);
23+
Serial.print(' ');
24+
Serial.print(y);
25+
Serial.print('\n');
26+
27+
if (abs(y) < 20) {
28+
y = 0;
29+
}
30+
analogWrite(IA, max(0, y));
31+
analogWrite(IB, max(0, -y));
32+
}

digitalCopy/digitalCopy.ino

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#include <Arduino.h>
2+
3+
void setup() {
4+
Serial.begin(9600);
5+
pinMode(13, OUTPUT);
6+
}
7+
8+
void loop() {
9+
int value = analogRead(5);
10+
value = map(value, 0, 1023, -255, 255);
11+
Serial.println(value);
12+
if (abs(value) < 20) {
13+
value = 0;
14+
}
15+
analogWrite(10, max(0, -value));
16+
analogWrite(11, max(0, value));
17+
digitalWrite(13, value != 0);
18+
}

dontTouchMe/dontTouchMe.ino

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
void setup() {
2+
// put your setup code here, to run once:
3+
pinMode(8, INPUT);
4+
pinMode(7, OUTPUT);
5+
digitalWrite(7, HIGH);
6+
Serial.begin(9600);
7+
}
8+
9+
void loop() {
10+
int enable = digitalRead(8);
11+
if (enable == 0) {
12+
int hz = 800 + 500 * sin(millis() * 0.0005);
13+
// Serial.println(hz);
14+
int step = 1000000 / hz;
15+
digitalWrite(7, LOW);
16+
delayMicroseconds(step);
17+
digitalWrite(7, HIGH);
18+
delayMicroseconds(step);
19+
} else {
20+
digitalWrite(7, HIGH);
21+
}
22+
}

0 commit comments

Comments
 (0)