Агуулгын хүснэгт:
- Алхам 1: M5Stack
- Алхам 2: M5Stack -ийн боломжит програмууд
- Алхам 3: M5Stack - Зүү
- Алхам 4: DHT номын сан
- Алхам 5: Arduino IDE номын санг удирдах
- Алхам 6: Эх код
- Алхам 7: M5StackDHTGraph.ino
- Алхам 8: M5StackDHTGraph.ino - Тохиргоо
- Алхам 9: M5StackDHTGraph.ino - Loop
- Алхам 10: Файлууд
Видео: ESP32: DHT22 бүхий M5Stack: 10 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
M5Stack хэмээх зүйлсийн интернетэд төгс тохирсон маш онцгой ESP32 -ийн талаар өнөөдөр ярилцъя. Энэ нь дотор ESP32 -ийг агуулдаг бөгөөд дэлгэц, гар, өсгөгч, чанга яригч, батерей дээр нэмдэг. Тиймээс энэ төхөөрөмж нь тоолж баршгүй олон зүйлийг хийж чадна. Би энэ техник хангамжийг хүлээн авахдаа ESP32 програм хангамжтай байсан бөгөөд зөвхөн энэ төсөлд ашигладаг дэлгэц рүү зөөсөн бөгөөд энэ нь өөр юм. Гэсэн хэдий ч бидний ашиглах эх код нь OLED DISPLAY -тай ТЕМПЕРАТУР ба АГУУЛГА видео бичлэгтээ ашигласан кодтой ижил байна.
Өнөөдрийн хэлхээнд бид DHT22 мэдрэгчээр тэжээгддэг эерэг ба сөрөг холболттой M5Stack төхөөрөмжтэй болохыг онцлон хэлмээр байна. Аль аль нь GPIO -ээр холбогдсон байна. Өгөгдлийг диаграммд харуулав.
Энэ нийтлэлд M5Stack -ийг танилцуулж, түүний хэрэглээний талаар ярилцъя. Энэ төхөөрөмж нь микро SD карт, 1W чанга яригч, батерейны залгууртай, харилцан үйлчлэх товчлуур, i2c холбогч, USB төрөл C, ил гарсан IO, хоёр инчийн TFT дэлгэцтэй, бусад шинж чанаруудын дунд. Энэ нь дээрх зураг дээр харагдаж байна. Энэ төхөөрөмж нь Bluetooth болон ESP32 WiFi -тэй хамт ирдэг тул IoT -д бэлэн болсон гэж бид хэлж чадна. Түүнчлэн металл гадаргуу дээр бэхлэх соронзыг багтаасан болно.
M5Stack танд таалагдсан уу? Дарна уу:
Алхам 1: M5Stack
M5Stack -ийн нэг шинэлэг зүйл бол хэрэв та нуруугаа тайлвал GPS модуль, GSM, LoRa гэх мэт өөр өөр функц бүхий өөр өөр модульд багтах боломжтой юм. Үүнийг зураг дээр харуулав.
Надад RS485, DC Motor, Maker, Core, stepper motor control хүртэлх модулиудын илүү олон жишээ бий.
Энэ бол үнэндээ прототипийг нэгтгэх маш хурдан арга юм. Хуучин өдрүүдэд хэд хэдэн транзистор чип худалдаж авах, олон тооны угсралт хийх шаардлагатай байсан бөгөөд энэ нь маш их цаг хугацаа, хөрөнгө оруулалт шаарддаг байв. Зөвхөн дараа нь бүтээгдэхүүний загварчлал гарч ирэв. Яг тэр үед ялтсууд болох Ардуино ба Бөөрөлзгөнө гарч ирэв.
Одоо бидэнд M5Stack байгаа бөгөөд энэ нь ашиглахад бэлэн хаалттай хайрцаг юм. Энэ нь биднийг тоолж баршгүй олон алхам хийхээс чөлөөлдөг.
Бусад M5Stack загваруудыг зураг дээр харуулав. Бид үсэг, тоон болон тоглоомын гартай төхөөрөмжтэй. Эдгээр нь танд нэг төрлийн компьютер шиг ажиллах боломжийг олгодог. Бидэнд програм хангамжийг ажиллуулах жишээ байгаа бөгөөд үүнийг Basic програмаас гадна MicroPython, Arduino, ESP-IDF, NodeJS дээр програмчилж болно.
Алхам 2: M5Stack -ийн боломжит програмууд
M5Stack програмын жишээнүүдийн дунд зурган дээрээс харж байгаа шиг бидэнд осциллограф байна. Бидэнд нэг төрлийн тооцоолуур / хайчлах хэрэгслийн хүснэгт байдаг.
Унадаг дугуйн хурд хэмжигчийг яах вэ?
Энэ нь мөн 3D хэлбэрээр хэвлэгдэж, удирдлагаар алсаас хянадаг алсын өрөм байж болно.
Энэ бүхэн нь эдгээр хэлхээг програмчлах нь илүү хялбар болсонтой адил электроникийн хяналт нь өнөө үед хамаагүй хямд байгааг харуулж байна.
Алхам 3: M5Stack - Зүү
M5Stack -ийн арын хэсэг нь энэ зураг дээр байгаа бөгөөд энэ нь 5 вольтын хүчийг харуулж байна. Зураг нь ESP32 -д байгаа бүх зүйл холболттой болохыг бид харуулж байна.
Алхам 4: DHT номын сан
Видеонд ашигласан SimpleDHT lib -ийг ашиглана уу: OLED DISPLAY -тай ТЕМПЕРАТУР ба АГУУЛГА.
Алхам 5: Arduino IDE номын санг удирдах
"Цэс: Ноорог -> Номын сан нэмэх -> Номын санг удирдах" хэсэгт доорх зурагт үзүүлсэн хоёр номын санг суулгацгаая. Энэ бүхнээс өмнө та ESP32 -ийн Arduino цөмийг суулгах хэрэгтэй гэдгийг санаарай. Энэ видео нь хэрхэн яаж хийхийг танд харуулав. Энэ нь: ESP32 -д ARDUINO IDE -г хэрхэн суулгах вэ.
Алхам 6: Эх код
Эх код нь дээр дурдсанчлан видеон дээр ашигласантай ижил байна: OLED DISPLAY -тай TEMPERATURE GRAPH. Энэ төсөлд хийсэн цорын ганц өөрчлөлт бол дэлгэцийн хэмжээтэй холбоотой юм.
Алхам 7: M5StackDHTGraph.ino
Бид M5Stack.h болон SimpleDHT.h номын сангуудыг багтаах бөгөөд дэлгэц дээр ашигласан өнгө, түүнчлэн DHT өгөгдлийн зүүг тодорхойлох болно. Мөн бид мэдрэгчтэй харилцах объект барьж, уншилтыг хариуцах хувьсагчийг тодорхойлж, X тэнхлэгийн утгыг зааж өгөх болно.
// Libs do M5Stack e DHT #include #include // definição das cores que serão utilizadas #define BLACK 0x0000 #define RED 0xF800 #define CYAN 0x07FF #define YELLOW 0xFFE0 #defineFEFDEFEFFEFFEFEFEFFEFFEFFEFFEFDEFFEFDEFFEFFEFFEFDEFFEFFEFDEFFEFDEFFEFFFEFDEFFEFDEFFFEFDEFFFEFDEFFFEFDEFFFEFDEFFFEFDEFFEFFEFFEFFFEFDEFFFEFDEFFDE // бүтэц зохион бүтээгч нь comunicar com эсвэл sensor SimpleDHT22 dht; // variável responsavel por or contar o número de leituras realizadas e indicador do valor no eixo X int leituraAtual = 1;
Бид X тэнхлэг ба Y тэнхлэгийн байршлын тодорхойлолт, температур, чийгшлийн өгөгдлийг харуулах координат, түүнчлэн уншсан утгыг хадгалах хувьсагчдыг үргэлжлүүлнэ. Бид диаграмыг дэлгэц дээр хэвлэх хувьсагчийг зааж өгсөн хэвээр байна.
// тодорхойлолт хийх posicionamento dos eixos X e Y #POS_X_GRAFICO 30 -ийг тодорхойлох #POS_Y_GRAFICO 3 -ийг тодорхойлох #ALTURA_GRAFICO 180 -ийг тодорхойлох #COMPRIMENTO_GRAFICO 270 // тодорхойлолтыг тодорхойлох. que armazenarão os valores lidos da umidade e temperatura int umidade = 0; int temperatura = 0; // variável que armazenará o valor da coordenada Y para desenharmos uma linha de exemplo // que varia os valores de 1 em 1 int linhaExemplo = 20; int fator = 1; // indará se somaremos ou subtrairemos uma unidade na variável linhaExemplo
Алхам 8: M5StackDHTGraph.ino - Тохиргоо
Тохиргоонд бид M5Stack -ийг эхлүүлдэг. Бид график зурах, фонт, текстийн өнгийг тохируулах, бичих курсорыг байрлуулах командуудыг тодорхойлдог.
void setup (void) {Serial.begin (115200); // Мэдээлэл эсвэл M5Stack M5.begin (); // M5. Lcd.fillScreen (ХАР); // os comandos a seguir irão desenhar as linhas dos eixos cartesianos na cor branca // drawFastVLine (x, y, width, color) linha vertical M5. Lcd.drawFastVLine (POS_X_GRAFICO, POS_Y_GRAFICO, ALTURA_GRAFICO, WHO) // eixo Y // drawFastHLine (x, y, width, color) linha хэвтээ M5. Lcd.drawFastHLine (POS_X_GRAFICO, ALTURA_GRAFICO+1, COMPRIMENTO_GRAFICO, ЦАГААН); // eixo X // тохиргоог хийх нь M5. Lcd.setTextSize (3) текстийг ашиглах боломжтой; // M5. Lcd.setTextColor (WHITE) текстийг тохируулах; M5. Lcd.setCursor (POS_X_DADOS, POS_Y_DADOS) заагч эсвэл курсор; M5. Lcd.print ("T:"); // indicando a temperatura M5. Lcd.setCursor (POS_X_DADOS+105, POS_Y_DADOS); M5. Lcd.print ("U:"); // зааварчилгаа}
Алхам 9: M5StackDHTGraph.ino - Loop
Loop -ийн эхний хэсэгт бид температур, чийгшлийг уншиж, хувьсагчдын утгыг график дээр байрлуулж, мэдрэгчээс уншсан эдгээр утгыг харуулсан цэгийг дэлгэц дээр зурна.
void loop () {// Fazemos a leitura da temperatura e umiade float temp, umid; int status = dht.read2 (DHTPIN, & temp, & umid, NULL); if (status == SimpleDHTErrSuccess) {temperatura = temp; umidade = найдвар; } // mapeando o valor das variáveis para colocar no gráfico // requiredário pois o display tem 240px de altura e separamos apenas 180 para o gráfico // umidade pode ser lida de 0-100 int temperaturaMapeada = map (temperatura, 0, 100, 0, ALTURA_GRAFICO); int umidadeMapeada = газрын зураг (umidade, 0, 100, 0, ALTURA_GRAFICO); // M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-temperaturaMapeada, RED) мэдрэгчийг ашиглах боломжтой. M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-umidadeMapeada, CYAN); M5. Lcd.drawPixel (POS_X_GRAFICO+leituraAtual, ALTURA_GRAFICO-linhaExemplo, ШАР) //
Дараа нь бид графикийг дэлгэц дээр хэвлэх боломжийг тодорхойлдог.
// Aqui controlamos nossa linha de exemplo, quando chega no valor máximo decrementamos o valor // até um valor mínimo determinado (no nosso caso 10), e a partir daí, incrementa novamente if (linhaExemplo == 50) fator = -1; өөр бол (linhaExemplo == 10) fator = 1; // soma o valor de linhaExemplo linhaExemplo += fator; // incrementa o contador de leituras realizadas leituraAtual ++; // 270 (nixo máximo do eixo X) хязгаарлалт хийх шаардлагатай байна. if (leituraAtual == 270) {// limpa a área toda do gráfico M5. Lcd.fillRect (POS_X_GRAFICO+1, POS_Y_GRAFICO-1, COMPRIMENTO_GRAFICO, ALTURA_GRAFICO-1, BLACK); leituraAtual = 1; // volta o contador de leitura para 1 (nova coordenada X)} // limpa a área onde colocamos o valor da temperatura e da umidade M5. Lcd.fillRect (POS_X_DADOS+50, POS_Y_DADOS, 60, 30, BLACK); M5. Lcd.fillRect (POS_X_DADOS+165, POS_Y_DADOS, 90, 30, ХАР);
// M5. Lcd.setCursor (POS_X_DADOS+50, POS_Y_DADOS) температурын горимд шилжих курсор. M5. Lcd.setTextColor (RED); M5. Lcd.хэвлэх (температур); M5. Lcd.хэвлэх ((char) 247); M5. Lcd.setCursor (POS_X_DADOS+165, POS_Y_DADOS); M5. Lcd.setTextColor (CYAN); M5. Lcd.хэвлэх (umidade); M5. Lcd.print ("%"); саатал (1000); }
Алхам 10: Файлууд
M5Stack танд таалагдсан уу? Та нэгийг худалдаж авахыг хүсч байна уу? Https://goo.gl/ruoYVj руу орно уу
Файлуудыг татаж авах:
INO
Зөвлөмж болгож буй:
Цахим бэх бүхий дэлгэц бүхий цахилгаан хэмнэх GPS: 4 алхам
Цахилгаан бэх бүхий GPS хэмнэх GPS: Зун болгон би алслагдсан газруудаар явган аялал хийдэг. Заримдаа, мөр нь бүдэгрэх эсвэл бүр алга болоход би утасныхаа GPS -ийг ашиглан координатаа олж, цаасан газрын зураг дээрх байрлалаа шалгах шаардлагатай болдог (надад ихэвчлэн дохио байдаггүй, тиймээс цаасан газрын зураг заавал байх ёстой
LoRa Arduino, Esp8266 эсвэл Esp32: 15 алхам бүхий бага зардалтай E32 (sx1278/sx1276) төхөөрөмж бүхий 3 км -ээс 8 км хүртэлх утасгүй холбоо: 15 алхам
LoRa Arduino, Esp8266 эсвэл Esp32 -д зориулсан бага өртөгтэй E32 (sx1278/sx1276) төхөөрөмж бүхий 3Km -аас 8Km хүртэлх утасгүй холбоо: Би Semtech цувралын LoRa төхөөрөмж дээр суурилсан EBYTE E32 -ийг удирдах номын сан, маш хүчирхэг, энгийн бөгөөд хямд төхөөрөмжтэй. 3км -ийн хувилбар энд, 8км -ийн хувилбар энд байна Тэд 3000м -ээс 8000м -ийн зайд ажиллах боломжтой бөгөөд тэдгээр нь маш олон онцлог шинж чанартай байдаг
SSD1306 Oled бүхий MicroPython бүхий ESP32 интерфэйс: 5 алхам
ESP32 Interface with SSD1306 Oled with MicroPython: Micropython бол python -ийн оновчтой, жижиг хэмжээтэй ул мөр юм. Санах ойн хязгаарлалттай, эрчим хүчний хэрэглээ багатай суулгагдсан төхөөрөмжид зориулагдсан болно. Micropython нь ESP8266, ESP32, Ardui зэрэг олон хянагч гэр бүлүүдэд зориулагдсан болно
DHT11 бүхий ESP32 дээр суурилсан M5Stack M5stick C цаг агаарын хяналт - M5stick-C дээрх температурын чийгшил ба дулааны индексийг DHT11: 6 алхамаар хянах
DHT11 бүхий ESP32 дээр суурилсан M5Stack M5stick C цаг агаарын хяналт | DHT11-ийн тусламжтайгаар M5stick-C дээрх температурын чийгшил ба дулааны индексийг хянаж үзээрэй: Сайн байна уу залуусаа, энэ зааварт бид DHT11 температур мэдрэгчийг m5stick-C (m5stack-ийн хөгжлийн самбар) -тай хэрхэн холбож, m5stick-C дэлгэц дээр харуулах талаар сурах болно. Тиймээс энэ хичээлээр бид температур, чийгшил & дулаан би
RaspberryPI болон DHT22 ашиглан Apple HomeKit -ийн температур мэдрэгч (DHT22) төхөөрөмжийг бүтээх: 11 алхам
RaspberryPI болон DHT22 ашиглан Apple HomeKit -ийн температур мэдрэгч (DHT22) төхөөрөмж бүтээх: Энэ хавар маш нойтон байгааг олж мэдээд би мөлхөж буй орон зайд юу болж байгааг хянахын тулд ашиглаж болох бага өртөгтэй температур / чийгшлийн мэдрэгч хайж байсан. , мөн маш их чийгтэй байсан. Тиймээс би боломжийн үнэтэй мэдрэгчийг хайж олох боломжтой байсан