Tại Banggood, chúng tôi sử dụng cookie và các công nghệ tương tự khác để cung cấp cho bạn các chức năng thiết yếu và thống kê tổng hợp.
Chúng tôi cũng sử dụng cookie tùy chọn để có trải nghiệm tốt hơn với:
Bạn có thể chọn không cho phép một số loại cookie thông qua"Cài đặt cookie". Nếu bạn muốn tìm hiểu thêm về nó, bạn có thể vuốt xuống cuối trang để xem Chính sách quyền riêng tư
Khi bạn truy cập bất kỳ trang web nào, nó có thể lưu trữ hoặc truy xuất thông tin trên trình duyệt của bạn, chủ yếu ở dạng cookie. Thông tin này có thể là về bạn, sở thích của bạn hoặc thiết bị của bạn và chủ yếu được sử dụng để làm cho trang web hoạt động như bạn mong đợi. Thông tin thường không trực tiếp nhận dạng bạn, nhưng nó có thể mang lại cho bạn trải nghiệm web được cá nhân hóa hơn.
Bởi vì chúng tôi tôn trọng quyền riêng tư của bạn, bạn có thể chọn không cho phép một số loại cookie. Tuy nhiên, việc chặn một số loại cookie có thể ảnh hưởng đến trải nghiệm của bạn về trang web và các dịch vụ mà chúng tôi có thể cung cấp.
{{$productInfo.reviewAmount.average}} trong số5
Để biết thêm thông tin về sản phẩm, nhấp vào đây https://drive.google.com/file/d/1L8ll-DeAC2SATBZn0-KbSaZsrinbnXkF/view
Nhấp vào các liên kết để có thêm thông tin chi tiết: https://eyun.baidu.com/s/3hsiTNgg
Lưu ý: Sản phẩm này không bao gồm pin.
Gói bao gồm:
2 x ESP32 OLED
2 x Line
4 x pin
2 x 433m ăng-ten Mùa xuân
Ví dụ số một:
(1) LoRaSender
#include
#include
#include
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO của SX1278
// GPIO27 -- SX1278 M0SI
// GPIO18 - CS SX1278
// GPIO14 -- Đặt lại SX1278
// GPIO26 -- IRQ (Yêu cầu Ngắt) của SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
int đếm = 0;
void setup() {
pinMode(25,OUTPUT); //Gửi thành công, đèn LED sẽ sáng trong 1 giây
Serial.begin(115200);
while (!Serial); // Nếu chỉ là chức năng cơ bản, phải kết nối với máy tính
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
//Serial.println("Bộ phát LoRa");
if (!LoRa.begin(BAND)) {
Serial.println("Khởi động LoRa không thành công!");
trong khi (1);
}
Serial.println("LoRa Initial OK!");
}
vòng lặp vô hạn {
Serial.print("Đang gửi gói tin: ");
Serial.println(counter);
// gửi gói tin
LoRa.beginPacket();
LoRa.print("xin chào ");
LoRa.in(counter);
LoRa.endPacket();
counter++;
digitalWrite(25, HIGH); // bật đèn LED (HIGH là mức độ điện áp)
delay(1000); // đợi một giây
digitalWrite(25, THẤP); // tắt đèn LED bằng cách làm cho điện áp thấp
delay(1000); // đợi một giây
trễ(3000);
}
Ví dụ hai
(2)LoRaReceiver
#include
#include
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO của SX1278
// GPIO27 -- SX1278 M0SI
// GPIO18 - CS SX1278
// GPIO14 -- Đặt lại SX1278
// GPIO26 -- IRQ (Yêu cầu Ngắt) của SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
khi (!Serial); //nếu chỉ là chức năng cơ bản, cần kết nối với máy tính
delay(1000);
Serial.println("Bộ nhận LoRa");
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
if (!LoRa.begin(BAND)) {
Serial.println("Khởi động LoRa không thành công!");
trong khi (1);
}
}
vòng lặp vô hạn {
// thử phân tích gói tin
int kíchthướcgói = LoRa.parsePacket();
if (packetSize) {
// nhận một gói hàng
Serial.print("Nhận gói tin '");
// đọc gói dữ liệu
trong khi (LoRa.có_sẵn()) {
Serial.print((char)LoRa.read());
}
// in RSSI của gói tin
Serial.print("' với RSSI ");
Serial.println(LoRa.packetRssi());
}
}
Ví dụ ba
(3) LoRaReceiverCallback
#include
#include
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO của SX1278
// GPIO27 -- SX1278 M0SI
// GPIO18 - CS SX1278
// GPIO14 -- Đặt lại SX1278
// GPIO26 -- IRQ (Yêu cầu Ngắt) của SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
khi (!Serial); //nếu chỉ là chức năng cơ bản, cần kết nối với máy tính
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
Serial.println("Gọi lại Bộ thu LoRa");
if (!LoRa.begin(BAND)) {
Serial.println("Khởi động LoRa không thành công!");
trong khi (1);
}
// đăng ký bộ gọi lại nhận
LoRa.onReceive(onReceive);
// đặt radio vào chế độ nhận
LoRa.nhận();
}
vòng lặp vô hạn {
// không làm gì cả
}
void onReceive(int packetSize) {
// nhận một gói hàng
Serial.print("Nhận gói tin '");
// đọc gói dữ liệu
for (int i = 0; i < packetSize; i++) {
Serial.print((char)LoRa.read());
}
// in RSSI của gói tin
Serial.print("' với RSSI ");
Serial.println(LoRa.packetRssi());
}
?
Ví dụ bốn
#include // Chỉ cần thiết cho phiên bản 1.6.5 và cũ hơn
#include "SSD1306.h" // tên thay thế cho `#include "SSD1306Wire.h"`
#include "images.h
//Các chân OLED cho ESP32 0.96 OLED GPIO thông qua kết nối này:
//OLED_SDA -- GPIO4
//OLED_SCL -- GPIO15
//OLED_RST -- GPIO16
SSD1306 hiển thị(0x3c, 4, 15);
#định nghĩa DEMO_DURATION 3000
typedef void (*Demo)(void);
int demoMode = 0;
int counter = 1;
void setup() {
pinMode(16,ĐẶT CHẾ ĐỘ RA);
digitalWrite(16, THẤP); // đặt GPIO16 về mức thấp để đặt lại OLED
delay(50);
digitalWrite(16, CAO); // trong khi OLED đang chạy, phải đặt GPIO16 ở trạng thái CAO
Serial.begin(115200);
Serial.println();
Serial.println();
// Khởi tạo giao diện người dùng sẽ khởi tạo hiển thị.
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
}
void drawFontFaceDemo() {
// Bảng mẫu Font1
// tạo thêm font tại trang web http://oleddisplay.squix.ch/
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_10);
display.drawString(0, 0, "Hello world");
display.setFont(ArialMT_Plain_16);
display.drawString(0, 10, "Hello world");
display.setFont(ArialMT_Plain_24);
display.drawString(0,26,"Hello world");
}
void drawTextFlowDemo() {
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawStringMaxWidth(0, 0, 128,
Lorem ipsumn dolor ngồi amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );
}
void vẽVíDụVềCănChữ() {
// Bài thực hành căn chỉnh văn bản
display.setFont(ArialMT_Plain_10);
// Các tọa độ xác định điểm bắt đầu bên trái của văn bản
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 10, "Căn trái (0,10)")
// Các tọa độ xác định trung tâm văn bản
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 22, "Canh giữa (64,22)");
// Các tọa độ xác định phía bên phải của văn bản
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 33, "Căn phải (128,33)")
}
void drawRectDemo() {
// Vẽ một điểm ảnh tại vị trí cho trước
for (int i = 0; i < 10; i++) {
display.setPixel(i, i);
display.setPixel(10 - i, i);
}
display.drawRect(12, 12, 20, 20);
// Điền vào hình chữ nhật
display.fillRect(14, 14, 17, 17);
// Vẽ một đường ngang
display.drawHorizontalLine(0, 40, 20);
// Vẽ một đường ngang
display.drawVerticalLine(40, 0, 20);
}
void vẽHìnhTrònDemo() {
với (int i=1; i < 8; i++) {
display.setColor(TRẮNG);
display.drawCircle(32, 32, i*3);
if (i % 2 == 0) {
display.setColor(MÀU ĐEN);
}
display.fillCircle(96, 32, 32 - i* 3);
}
}
void vẽDemoThanhTiếnTrình() {
int tiến độ = (counter / 5) % 100;
// vẽ thanh tiến trình
display.drawProgressBar(0, 32, 120, 10, progress);
// vẽ tỷ lệ dưới dạng chuỗi
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 15, String(progress) + "%");
}
void drawImageDemo() {
// xem http://blog.squix.org/2015/05/esp8266-nodemcu-lam-the-nao-de-tao-xbm.html
// về cách tạo tệp xbm
display.drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
}
Demo demos[] = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof(demos) / sizeof(Demo));
long timeSinceLastModeSwitch = 0;
vòng lặp vô hạn {
// xóa hiển thị
display.clear();
// vẽ phương thức demo hiện tại
demos[demoMode]();
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(10, 128, String(millis()));
// viết bộ đệm lên màn hình
display.display();
nếu (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength;
thờiGianKểTừLầnChuyểnChếĐộCuốiCùng = millis();
}
counter++;
delay(10);
}
Phương thức vận chuyển | Thời gian vận chuyển | Theo dõi thông tin |
---|