ESP8266 (ESP-WROOM-02)으로 7 세그먼트 LED 제어
10634 단어 ESP8266이글ArduinoIoTESP-WROOM-02
개요
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 7 세그먼트 4 디지트 LED를 제어합니다.
소개
WROOM02는 Wi-Fi 통신 기능이 내장된 Arduino(로 사용할 수 있는 IC)입니다.
※센서를 사용하려면 아래 참조.
ぃ tp // 이 m / 에우 gs / ms / 9 또는 4093813db71278b39
이번에는 7 세그먼트 4 디지트 (5461AS 캐소드 커먼)의 LED를 제어합니다.
회로도
Eagle 프로젝트 전체는 이 Github에 올라 있습니다.
htps : // 기주 b. 코 m / 에우 gs / 에 g 7 세 g 4 ts
실제의 회로도는 이하.
1 LED당 20mA 정도이므로, 애노드측은 소스 드라이버를 사용하지 않아도 된다고 생각합니다.
그래서, 캐소드측만, 싱크 드라이버(TD62083APG)를 사용하고 있습니다.
[주의]
- WROOM02는 3.3V 구동입니다. 전원 회로는 별도로 사용하십시오.
- USB-시리얼 변환의 인터페이스는 회로도에서 분리되어 있으므로 TXD/RXD, GND에 적절히 접속해 주십시오.
스케치
스케치는 다음과 같습니다.
- 10000부터 카운트다운합니다.
- 1 디지트를 4msec로 다이나믹 점등하고 있습니다. 이보다 길고 깜박입니다.
#include "Ticker.h"
Ticker ticker;
Ticker ticker2;
#define SCK 14 // CLK クロック信号出力ピン
#define RCK 12 // LOAD ラッチ動作出力ピン
#define SI 13 // MOSI - DI データ信号出力ピン
#define CLR 15 // クリア
const int segments[] = {
// HGFEDCBA
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
0b01001111, // 3
0b01100110, // 4
0b01101101, // 5
0b01111101, // 6
0b00100111, // 7
0b01111111, // 8
0b01101111, // 9
};
const int digits[] = {
// HGFEDCBA
0b00000001, // 0
0b00000010, // 1
0b00000100, // 2
0b00001000, // 3
};
void out1(int x, int d) {
digitalWrite(CLR, LOW) ; // Clear
digitalWrite(CLR, HIGH) ;
digitalWrite(RCK, LOW) ;
shiftOut(SI, SCK, MSBFIRST, digits[d]);
shiftOut(SI, SCK, MSBFIRST, segments[x]);
digitalWrite(RCK, HIGH) ; // ラッチ信号を出す
}
void out4(int val) {
static int p = 0;
p = ++p % 4;
int x[4];
for (int i = 0; i < 4; i++) {
x[i] = val % 10;
val = val / 10;
}
out1(x[p], p);
}
void setup() {
Serial.begin(115200);
Serial.print("\n");
pinMode(SCK, OUTPUT) ;
pinMode(RCK, OUTPUT) ;
pinMode(SI, OUTPUT) ;
pinMode(CLR, OUTPUT) ;
delay(3000) ; // 3S後開始
Serial.print("Start\n");
ticker.attach_ms(1000, timer);
ticker2.attach_ms(4, loop2);
}
int cnt = 10000;
void loop() {
}
void loop2() {
out4(cnt);
}
void timer() {
cnt--;
Serial.print(cnt);
Serial.print("\n");
}
Arduino 스케치 전체는 여기 Github에서.
htps : // 기주 b. 코 m / 에우 gs / s tch 7 세g 4 ㎢ ts
제작
실제로 만들어 보면, 이런 느낌입니다.
요약
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 7 세그먼트 4 디지트 LED를 제어했습니다.
다이나믹 점등의 주기를, 깜박이지 않고 길게 하는 것은, 무엇인가 수법이 있습니까?
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 7 세그먼트 LED 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/exabugs/items/d53c5ad1bf7487af5024
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
WROOM02는 Wi-Fi 통신 기능이 내장된 Arduino(로 사용할 수 있는 IC)입니다.
※센서를 사용하려면 아래 참조.
ぃ tp // 이 m / 에우 gs / ms / 9 또는 4093813db71278b39
이번에는 7 세그먼트 4 디지트 (5461AS 캐소드 커먼)의 LED를 제어합니다.
회로도
Eagle 프로젝트 전체는 이 Github에 올라 있습니다.
htps : // 기주 b. 코 m / 에우 gs / 에 g 7 세 g 4 ts
실제의 회로도는 이하.
1 LED당 20mA 정도이므로, 애노드측은 소스 드라이버를 사용하지 않아도 된다고 생각합니다.
그래서, 캐소드측만, 싱크 드라이버(TD62083APG)를 사용하고 있습니다.
[주의]
- WROOM02는 3.3V 구동입니다. 전원 회로는 별도로 사용하십시오.
- USB-시리얼 변환의 인터페이스는 회로도에서 분리되어 있으므로 TXD/RXD, GND에 적절히 접속해 주십시오.
스케치
스케치는 다음과 같습니다.
- 10000부터 카운트다운합니다.
- 1 디지트를 4msec로 다이나믹 점등하고 있습니다. 이보다 길고 깜박입니다.
#include "Ticker.h"
Ticker ticker;
Ticker ticker2;
#define SCK 14 // CLK クロック信号出力ピン
#define RCK 12 // LOAD ラッチ動作出力ピン
#define SI 13 // MOSI - DI データ信号出力ピン
#define CLR 15 // クリア
const int segments[] = {
// HGFEDCBA
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
0b01001111, // 3
0b01100110, // 4
0b01101101, // 5
0b01111101, // 6
0b00100111, // 7
0b01111111, // 8
0b01101111, // 9
};
const int digits[] = {
// HGFEDCBA
0b00000001, // 0
0b00000010, // 1
0b00000100, // 2
0b00001000, // 3
};
void out1(int x, int d) {
digitalWrite(CLR, LOW) ; // Clear
digitalWrite(CLR, HIGH) ;
digitalWrite(RCK, LOW) ;
shiftOut(SI, SCK, MSBFIRST, digits[d]);
shiftOut(SI, SCK, MSBFIRST, segments[x]);
digitalWrite(RCK, HIGH) ; // ラッチ信号を出す
}
void out4(int val) {
static int p = 0;
p = ++p % 4;
int x[4];
for (int i = 0; i < 4; i++) {
x[i] = val % 10;
val = val / 10;
}
out1(x[p], p);
}
void setup() {
Serial.begin(115200);
Serial.print("\n");
pinMode(SCK, OUTPUT) ;
pinMode(RCK, OUTPUT) ;
pinMode(SI, OUTPUT) ;
pinMode(CLR, OUTPUT) ;
delay(3000) ; // 3S後開始
Serial.print("Start\n");
ticker.attach_ms(1000, timer);
ticker2.attach_ms(4, loop2);
}
int cnt = 10000;
void loop() {
}
void loop2() {
out4(cnt);
}
void timer() {
cnt--;
Serial.print(cnt);
Serial.print("\n");
}
Arduino 스케치 전체는 여기 Github에서.
htps : // 기주 b. 코 m / 에우 gs / s tch 7 세g 4 ㎢ ts
제작
실제로 만들어 보면, 이런 느낌입니다.
요약
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 7 세그먼트 4 디지트 LED를 제어했습니다.
다이나믹 점등의 주기를, 깜박이지 않고 길게 하는 것은, 무엇인가 수법이 있습니까?
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 7 세그먼트 LED 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/exabugs/items/d53c5ad1bf7487af5024
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
스케치는 다음과 같습니다.
- 10000부터 카운트다운합니다.
- 1 디지트를 4msec로 다이나믹 점등하고 있습니다. 이보다 길고 깜박입니다.
#include "Ticker.h"
Ticker ticker;
Ticker ticker2;
#define SCK 14 // CLK クロック信号出力ピン
#define RCK 12 // LOAD ラッチ動作出力ピン
#define SI 13 // MOSI - DI データ信号出力ピン
#define CLR 15 // クリア
const int segments[] = {
// HGFEDCBA
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
0b01001111, // 3
0b01100110, // 4
0b01101101, // 5
0b01111101, // 6
0b00100111, // 7
0b01111111, // 8
0b01101111, // 9
};
const int digits[] = {
// HGFEDCBA
0b00000001, // 0
0b00000010, // 1
0b00000100, // 2
0b00001000, // 3
};
void out1(int x, int d) {
digitalWrite(CLR, LOW) ; // Clear
digitalWrite(CLR, HIGH) ;
digitalWrite(RCK, LOW) ;
shiftOut(SI, SCK, MSBFIRST, digits[d]);
shiftOut(SI, SCK, MSBFIRST, segments[x]);
digitalWrite(RCK, HIGH) ; // ラッチ信号を出す
}
void out4(int val) {
static int p = 0;
p = ++p % 4;
int x[4];
for (int i = 0; i < 4; i++) {
x[i] = val % 10;
val = val / 10;
}
out1(x[p], p);
}
void setup() {
Serial.begin(115200);
Serial.print("\n");
pinMode(SCK, OUTPUT) ;
pinMode(RCK, OUTPUT) ;
pinMode(SI, OUTPUT) ;
pinMode(CLR, OUTPUT) ;
delay(3000) ; // 3S後開始
Serial.print("Start\n");
ticker.attach_ms(1000, timer);
ticker2.attach_ms(4, loop2);
}
int cnt = 10000;
void loop() {
}
void loop2() {
out4(cnt);
}
void timer() {
cnt--;
Serial.print(cnt);
Serial.print("\n");
}
Arduino 스케치 전체는 여기 Github에서.
htps : // 기주 b. 코 m / 에우 gs / s tch 7 세g 4 ㎢ ts
제작
실제로 만들어 보면, 이런 느낌입니다.
요약
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 7 세그먼트 4 디지트 LED를 제어했습니다.
다이나믹 점등의 주기를, 깜박이지 않고 길게 하는 것은, 무엇인가 수법이 있습니까?
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 7 세그먼트 LED 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/exabugs/items/d53c5ad1bf7487af5024
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 7 세그먼트 4 디지트 LED를 제어했습니다.
다이나믹 점등의 주기를, 깜박이지 않고 길게 하는 것은, 무엇인가 수법이 있습니까?
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 7 세그먼트 LED 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/exabugs/items/d53c5ad1bf7487af5024텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)