با استفاده از یک برد node mcu و 6 عدد led یک رقص نور زیبا درست می کنیم
# | نوع | تعداد | خرید |
---|---|---|---|
1 | esp8266 / node mcu | 1 | |
2 | سیم جامپر | 2 | |
3 | برد بورد | 1 | |
4 | led | 6 | |
5 | مقاومت 330اهم | 6 |
برای برنامه نویسی این پروژه از نرم افزار اردوینو استفاده میکنیم.
http://arduino.esp HYPERLINK "http://arduino.esp8266.com/stable/package_esp8266com_index.json"8266 HYPERLINK "http://arduino.esp8266.com/stable/package_esp8266com_index.json".com/stable/package_esp HYPERLINK "http://arduino.esp8266.com/stable/package_esp8266com_index.json"8266 HYPERLINK "http://arduino.esp8266.com/stable/package_esp8266com_index.json"com_index.json
tools-> manager Library
تعریف پایه ها led ها
در این بخش با کمک یک حلقه مقدار دهی پایه هارا انجام می دهیم .و همچنین پین های اردوینو که به led ها متصل هستند را نیز به صورت خروجی تعریف می کنیم تا ولتاژ را به LED ها بدهد
در این رقص نور ما برای ساخت رقص نورها ،از حلقه های for استفاده می کنیم تا بتوانیم led هارا به ترتیب روشن و خاموش کنیم و یک افکت زیبا بسازیم و
در حلقه ها با استفاده از تابع digitalWrite(pin[i], LOW); توانستیم وضعیت هر led را عوض کنیم
و برای وقفه نیز از توابع delay استفاده کردیم
به طور کلی در این مثال ما از 10 حلقه برای افکت های مختلف استفاده کردیم
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
char pin[] = {D0, D1, D2, D3, D4, D5};
void setup() {
for (int i = 0; i < 6; i = i + 1) {
pinMode(pin[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i < 6; i = i + 1) {
digitalWrite(pin[i], HIGH);
delay(100);
digitalWrite(pin[i], LOW);
}
for (int i = 4; i >= 0; i = i - 1) {
digitalWrite(pin[i], HIGH);
delay(100);
digitalWrite(pin[i], LOW);
}
for (int i = 0; i < 3; i = i + 1) {
digitalWrite(pin[i], HIGH);
}
delay(250);
for (int i = 0; i < 3; i = i + 1) {
digitalWrite(pin[i], LOW);
}
delay(250);
for (int i = 0; i < 3; i = i + 1) {
digitalWrite(pin[i], HIGH);
}
delay(250);
for (int i = 0; i < 3; i = i + 1) {
digitalWrite(pin[i], LOW);
}
delay(250);
for (int i = 3; i < 6; i = i + 1) {
digitalWrite(pin[i], HIGH);
}
delay(250);
for (int i = 3; i < 6; i = i + 1) {
digitalWrite(pin[i], LOW);
}
delay(250);
for (int i = 3; i < 6; i = i + 1) {
digitalWrite(pin[i], HIGH);
}
delay(250);
for (int i = 3; i < 6; i = i + 1) {
digitalWrite(pin[i], LOW);
}
}
پروژه مشابه
کامنت ها
هر هفته یک اموزش
هر هفته یک پروژه
هر هفته یک ویجت