STWI056WT-01 Seri ekran geliştirme lazer güzellik HM etkileşim işlevi

Cilt ikinci lazeri, pigment etkisini gidermek için cilt altındaki pigmenti ayrıştırabilir, çok işlevli lazer güzellik aleti kaş yıkama, dövme yıkama, çil giderme (çiller, kahve lekeleri, yaşlılık lekeleri, pigmentasyon), göz kalemi, Ota nevus ve diğer güzellik işlevleri. Bu proje, düşük maliyetli, istikrarlı performans ve basit kullanım ile basit ve taşınabilir bir güzellik aleti planlamaktadır.
5.6 inç kullanan lazer güzellik enstrümanı ekran arayüzü STONE seri ekran, arka ışık, zengin renk, seri bağlantı noktası uygundur ve ana kontrol panosu iletişimi, dokunmatik giriş de klavyeyi atlar, tüm güzellik enstrümanının görünümü daha basit ve cömerttir.
Ana arayüz

Şekil (1) Güzellik aracının arayüzü
Şekil (1) Güzellik aracının arayüzü

Elde edilen iki işlev (kaş yıkama ve dövme yıkama), tarafından tasarlanan kullanışlı parça kaydırıcı görünümüyle değiştirilebilir. STONE TASARIMCI, geliştirme aracının yeni bir sürümü. Enerji, frekans ayarı ve seçimi, buton kontrolü, durum göstergesi, sıcaklık, sayım vb. ile koordineli olan metin seçici kısmı ile gerçekleştirilebilir. Aynı arayüz sunumu, sezgisel ve kullanışlı. Yukarıdaki Şekil (1) ve Şekil (2)'ye bakın. Anahtarın etkileri için ekteki videoyu izleyin.

Şekil (2) İki işlevli SİMGELER
Şekil (2) İki işlevli SİMGELER

STONE Seri port ekranının özellikleri

Eski sürümünü kullanmaktan STONE şimdi yeni sürümünü kullanarak seri ekran STONE seri ekran, yeni sürümün olduğunu hissediyorum STONE ekran daha kullanışlı ve kullanımı daha iyi. yeni versiyonu STONE tasarımcı aracı hala işlev yükseltme sürecindedir ve kullanıcı deneyimini zenginleştirmek için birçok gelişmiş görünüm denetimi vardır. STONE ekran arayüzü. Ancak, bu gelişmiş kontrollerin bazıları henüz geliştirilmedi ve yeni sürüm içgüdüsünün bize daha fazla sürpriz sunmasını dört gözle bekliyoruz! Geçen sefer, bir monitör projesi yapmak için eğri işlevinin yeni sürümünü kullandım, eğrilerin gerçek zamanlı tasviri çok düzgün, ekranın yeni sürümünün 6 kanalın gerçek zamanlı eğrilerini çizebilmesi gerektiğini düşünüyorum. ana hızın daha yüksek uygulama gereksinimlerini karşılamak için yeterince yüksek olduğunu gösteren aynı anda veya daha fazla kanal.
Kaydırıcı görünümü, mod değiştirme için kullanılır
Yapısı:
Kaydırıcı görünümü efekti, Kaydırıcı görünümü widget'ının bir özelliğidir. Yapısı Şekil (3)'te gösterilmiştir, burada dövme yıkama bileşen görünümüdür ve indeks 1'dır; Kaş yıkama kısmi görünümdür ve dizin 0'dir. Kaydırma ve değiştirme sırasında, dizin numarası ekranın seri bağlantı noktasından ana kontrol modülüne geri beslenir (ESP2 geliştirme kartı NODEMCU-1, gösteri için kullanılır) bu proje).

Şekil (3) kaydırmalı görünüm yapısı
Şekil (3) kaydırmalı görünüm yapısı

Talimat:
Kaydırma modundan dövme yıkamaya geçtiğinizde, seri bağlantı noktasından gelen komut geri bildirimi şu şekildedir:
ST0x11 0x20 0x00 0x0F slide_view1 0x00 0x00 0x00 0x00> ET
Kaydırma modundan kaş yıkamaya geçerken, seri port geri bildirim talimatı aşağıdaki gibidir:
ST0x11 0x20 0x00 0x0F slide_view1 0x00 0x00 0x00 0x01> ET

Görünümü aşağıdaki gibi ayarlayarak da değiştirebilirsiniz:
set_view: Arayüzü dizin numarasına göre değiştirir
S < {” cmd_code “:” set_view “, “type” : “slide_view”, “widget” : “slide_view1”, “index” : 0} > Dövmeyi yıkamak için ET anahtarı
S < {” cmd_code “:” set_view “, “type” : “slide_view”, “widget” : “slide_view1”, “index” : 1} > Kaşı yıkamak için ET anahtarı

“set_auto_play”: otomatik geçiş arayüzü işlevi
S < {” cmd_code “:” set_auto_play “, “type” : “slide_view”, “widget” : “slide_view1”, “auto_play” : 0} > ET otomatik olarak iptal edildi
ST<{“cmd_code”:”set_auto_play”,”type”:”slide_view”,”widget”:”slide_view1″,”auto_play”:1000}>ET, 1 saniyelik aralıklarla otomatik olarak geçiş yapar
S < {” cmd_code “:” set_auto_play “, “type” : “slide_view”, “widget” : “slide_view1”, “auto_play” : 3000} > ET 3 saniye arasında otomatik geçiş

Geçerli görünüm otomatik oynatmasını ayarlayın (ara yüzü otomatik olarak değiştirin)
get_view: geçerli arayüzün indeks numarasını okur. ST<{“cmd_code”:”get_view”,”type”:”slide_view”,”widget”:”slide_view1″}>VE
Arayüz modu dövme yıkamadayken, seri port geri bildirimi:
ST0x11 0x20 0x00 0x0F slide_view1 0x00 0x00 0x00 0x00> ET
Arayüz modu kaş yıkamadayken, seri port geri bildirimi:
ST0x11 0x20 0x00 0x0F slide_view1 0x00 0x00 0x00 0x01> ET

Not: İndeks numarası 0'dan başlar. İndeks numarası 1 olduğunda aslında view2'dir.

slide_indicator1:
Bu arayüz konum göstergesidir. Arayüzün güzel ve net olması için özellikler penceresinde daha belirgin bir renk ayarlayabilirsiniz. Şekil (4)'te gösterildiği gibi, göstergenin bant genişliğini, yüksekliğini, seçilen rengi, göstergenin boyutunu ve göstergenin X/Y konumunu (anchor_x,nchor_y) ayarlayabilirsiniz.

Şekil (4) Konuma göre belirtilen özellikler
Şekil (4) Konuma göre belirtilen özellikler

png m2.jpg m2.jpg ekran görüntüsü bozulacak!

Bir değeri ayarlamak için metin seçici kullanılır
Güç ve frekans ayarlarının tümü bu metin seçici widget'ının parçasıdır.

Şekil (5) metin seçici özellikleri
Şekil (5) metin seçici özellikleri

Şekil (5)'deki özellikler ayarlanarak, metin seçici kısmı, bg color, fg color ve mask color'un hepsinin şeffaf renk ve görünür num = 1 olarak ayarlandığı arka plan ile entegre edilebilir. Efekt ile kombinasyon halinde görülebilir. Şekil 1).
Burada önemli olan seçeneklerdir. Süreksiz değerler şu şekilde biçimlendirilmelidir:
1:6 00; Bu 50; Sonra 00; Sonra 50; “00; 50 toplar; 00 için; 50 prosedür;
100-900 yazarsanız ve indeks = 600 seçerseniz, bir istisna olacaktır!

Metin seçici parça yönergesi:
0x1081 metin seçici Teslim Edilen Değer (int tipi Etkin teslim: Seçici ayarlandıktan hemen sonra teslim edilir)

Veri formatı:
değer Veri bölümünün son dört baytını gösterir

Örnek: (Frekans seçici kontrol adı = text_s2, seçenekler: 5-50, geçerli 16, tekrar 20 seçin)
Seri Asistan tarafından alınan onaltılık veriler:
53 54 3C 10 81 00 08 74 65 78 74 5F 73 32 00 00 00 14 3E 45 54 ???? Tamam
Ekran tarafından gönderilen komut:
ST0x10 0x81 0x00 0x08 text_s2 0x00 0x00 0x14 >ET text_s2 Geçerli değer :20 = 0x14

düğme İşlev düğmesi:
0x1001 düğmesi Anahtar değeri otomatik olarak gönderilir

Anahtar değeri (veri bölümünün son baytı):
0x01 aşağı basın Düğmeye basıldı
0x02 yukarı basma düğmesi serbest bırakıldı (tıklama olayını tetiklemek için düğme tamamlandı)

Örneğin:
Arayüzdeki Başlat düğmesi (ad = bt11):
ST0x10 0x01 0x00 0x04 bt1 0x01> ET
Seri Yardımcısı onaltılık veri döndürür: Doğrula Tamam
53 54 3C 10 01 00 04 62 74 31 01 3E 45 54 ????. 53 54 3C 10 01 00 04 62 74 31 01 3Ç 45 54 ????

Düğmeyi bırakın (düğme tıklama eylemini tamamlayın) aktif olarak talimatı verin — böylece 62 74 31 02 kod çözme mümkün olur!
ST0x10 0x01 0x00 0x04 bt1 0x02> ET
Seri Yardımcısı onaltılık veri döndürür: Doğrula Tamam
53 54 3C 10 01 00 04 62 74 31 02 3E 45 54 ????. 53 54 3C 10 01 00 04 62 74 31 02 3Ç 45 54 ????

Not: bt1 düğmesi (ASCII kodu 0x62 0x74 0x31).

etiket sayma ekranı:
set_text, etiketin görüntülediği metni ayarlar

Örnek ayar metni:
S < {” cmd_code “:” set_text “, “type” : “label”, “widget” : “label6”, “text”, “” 29} > ET doğrulandı Tamam

Programlama kontrol adı:
Şekil (1) arayüzüne bakın:
Başlat düğmesi adı = bt1
Dur butonu adı = bt2
Dönüş butonu adı = bt3
Açık düğme adı = bt5
Düğme adını kapat = bt4
Enerji seçici adı = text_s2 aralık 600-950, aralık 50
Frekans seçici adı = text_s1 aralık 5-50, adım 1
Sıcaklık bölgesi etiket adı = label5
Sayım alanı etiket adı = label6
Lazer işaretçi simge adı = image3

Arayüz indirme

Ana menü altında “debug” ve “indir”e tıklayın, güzellik enstrümanı klasörünü seçin ve proje ile aynı ada sahip bir alt klasör oluşturulacaktır; arkasındaki kadran anahtarını kontrol edin. STONE seri ekranı yukarıdaki "cihaz" konumuna getirin. PC'yi doğrudan USB iletişim kablosunu kullanarak ekrandaki USB bağlantı noktasına bağlayın. PC'de yeni bir disk klasörü açılacaktır. Aynı ada sahip projenin alt klasöründeki /default klasörünü, ekran depolama dizinindeki “default” klasörüne kopyalayın. Açılır pencerede aynı ada sahip dosyanın üzerine yazmayı seçin. Kopyalama tamamlandıktan sonra klasörü kapatın, diski çıkarın, USB indirme kablosunu çıkarın ve ekranı yeniden başlatın.

Donanım bağlantısı ve talimat açıklaması

Şekil (6) NODEMCU-32 seri bağlantı noktasının konumu
Şekil (6) NODEMCU-32 seri bağlantı noktasının konumu

Şekil (6)'da gösterildiği gibi, NodeMCU-0S geliştirme kartının TX0, RX32 ve GND'si STONE HMI bilgi alışverişini tamamlamak için Şekil (7)'de gösterildiği gibi seri arayüz kartı. Arayüzdeki 232 sinyali STONE seri port ekranı, seviyenin eşleştirilebilmesi için V1.2 anahtarlama kartı aracılığıyla MCU arabiriminin gerektirdiği TX ve RX sinyallerine dönüştürülür. Şekil (7)'de soldaki NodeMCU-32S kartıdır. Mavi (TX0) ve kırmızı (RX0) teller, V1.2 adaptör kartının (çıkarılan mavi jumper adaptörünün yanında) jumper konumuna bağlanır ve siyah teller GND'ye bağlanır.

Şekil (7) NODEMCU-32 ile NODEMCU-XNUMX arasındaki bağlantı STONE adaptör kartı
Şekil (7) NODEMCU-32 ile NODEMCU-XNUMX arasındaki bağlantı STONE adaptör kartı

İletişim sırasında not: Adaptör kartı aynı anda 12V ve USB'ye bağlanmalıdır. Aksi takdirde, iletişim anormal olacaktır.

Hata ayıklama kodu:
Aşağıdaki kod derlenir ve NodeMCU-32S V1.3 geliştirme kartına indirilir. Yukarıdaki Şekil (7)'ye göre bağlayın. Test efekti için ekteki videoyu izleyin. Kod, basit başlatma, durdurma, açma, kapatma düğmesi kod çözme işlemini gerçekleştirmek için üç iç içe yerleştirme katmanı kullanır, vb. ESP32, tuş tıklaması ve komutu aracılığıyla ekranı ve çıkışı kontrol eder. Efekt için videoya bakın.

/*

Frank, 2022.08.15'te Çok İşlevli lazer güzellik aleti için

arduino 32'te NodeMCU-32'lerin ESP1.8.13'sini kullanın

kullanım STONE Shenzhen'de HMI

*/

int LED_blue = 2; // IO2, LED'i açın (YÜKSEK voltaj seviyesidir)

int ii = 0;

int iii = 0;

int f1 = 0;

int f2 = 0;

int f_Auto_mode = 1; //

int f_Hz = 1; // 1 = 20Hz, 2 = 50Hz

int Doğrudan Işık = 0; // 0 = kapalı 1 = açık

int outPower = 0; // 0 = kapalı 1 = açık

//——zaman kullanımı———-2022.08.15——

işaretsiz int led1s=0;

işaretsiz int time_1s=0;

işaretsiz int time_1m=0;

işaretsiz int time_1h=0;

geçersiz kurulum () {

Serial.begin (115200);

pinMode(LED_blue, ÇIKIŞ);

}

geçersiz döngü () {

int inChar;

 

// Seri port tarafından gönderilen mesajı okuyun ve kısaca deşifre edin:

eğer (Serial.available() > 0) {inChar = Serial.read();}

if (inChar == 0x62) { // 0x62 0x74 0x31 “bt1”in başlangıç ​​anahtarıdır!

eğer (Serial.available() > 0){inChar = Serial.read();}

eğer (inChar == 0x74) {

f2 = 0;

eğer (Serial.available() > 0){ inChar = Serial.read();}

eğer (inChar == 0x31) { f1 = 1; çıkış Gücü = 1; } // Başlat

başka ise (inChar == 0x32){ f1 = 2; çıkış Gücü = 0; } // Dur

aksi takdirde (inChar == 0x35){ f1 = 3; DirectLight = 1;} // aç

aksi takdirde (inChar == 0x34){ f1 = 4; DirectLight = 0;} // kapat

}

}

//—————-Doğrudan Işık görüntüsü AÇIK/KAPALI—————-

if(DirectLight == 1)

{

Serial.println(F(“ST{\”cmd_code\”:\”set_visible\”,\”type\”:\”widget\”,\”widget\”:\”image3\”,\”visible\”:true}>ET")); //

Else {}

Serial.println(F(“ST{\”cmd_code\”:\”set_visible\”,\”type\”:\”widget\”,\”widget\”:\”image3\”,\”visible\”:false}>ET")); //

}

//——————outPower——————————–

if(outPower == 1)

{

digitalWrite(LED_blue, YÜKSEK); // LED'i açın (YÜKSEK voltaj seviyesidir)

Else {}

digitalWrite(LED_blue, DÜŞÜK); // LED'i açın (YÜKSEK voltaj seviyesidir)

}

//-------------son-------

 

//—zaman ++ ——

ii = ii + 1;

eğer(ii > 29){

if(f1 == 1){time_1s = time_1s + 1;}

başka if(f2 == 1){time_1s = time_1s + 1;}

ben = 0;

}

if(time_1s >= 60){

zaman_1s = 0;

time_1m = time_1m + 1;

if(time_1m >= 60){

zaman_1m = 0;

time_1h = time_1h + 1;

}

}

}

 

En gidin