——Nga Forumi i Zhvilluesve DWIN
Në këtë numër, ne shtyjmë rastin me burim të hapur të vlerësuar me çmime të Forumit të Zhvilluesve DWIN - Peshues me shumë funksione. Inxhinieri miraton një ekran inteligjent 4 inç COF dhe përmes ndërveprimit të të dhënave midis bërthamës OS T5L dhe modulit HX711 dhe grupit të sensorit të presionit 5 kg, përdoruesit mund të realizojnë lehtësisht funksionet e ekranit të numërimit si pesha, çmimi i njësisë, çmimi total, tara, etj. ., si dhe funksionet e numërimit, ndjekja e kthesave të ndryshimit të peshës dhe korrigjimi i saktësisë së peshimit, etj., në mënyrë që të jetë e lehtë të kaloni midis skenarëve të ndryshëm të aplikimit për të shijuar një përvojë peshimi të përshtatshme dhe efikase.
1. Zhvillimi i UI
![f26af533d43728cd210e0f7af5e7acc](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f077223d2b27894.png)
2.C51 Dizajni
Një pjesë e kodit të referencës për peshuesin për të zbatuar funksionin e çmimeve është si më poshtë:
// Faqja e çmimeve====================
#define VALUATION_UNIT_PRICE_ADDR 0x1010
#define VALUATION_GRAM_ADDR 0x1000
#define VALUATION_TOTAL_PRICES_ADDR 0x1020
uint32_t vlerësimi_dekorticate = 0; // Çmimi Pesha Tare
uint32_t vlerësimi_çmimi_njësi = 0; //Çmimi për njësi
// Rifreskimi i çmimit për njësi
pavlefshme page_valuation_unit_price_refresh()
{
uint8_t test_ekrani[10] = {0};
nëse (çmimi_njësi_vlerësimi
{
test_ekrani[0] = çmimi_njësi_vlerësimi / 100 % 10 + 0x30;
test_ekrani[1] = '.';
test_ekrani[2] = çmimi_njësi_vlerësimi / 10 % 10 + 0x30;
test_ekrani[3] = çmimi_njësi_vlerësimi / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_ekran, 4);
}
ndryshe nëse (çmimi_njësi_vlerësimi
{
test_ekrani[0] = çmimi_njësi_vlerësimi / 1000 % 10 + 0x30;
test_ekrani[1] = çmimi_njësi_vlerësimi / 100 % 10 + 0x30;
test_ekrani[2] = '.';
test_ekrani[3] = çmimi_njësi_vlerësimi / 10 % 10 + 0x30;
test_ekrani[4] = çmimi_njësi_vlerësimi / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_ekran, 4);
}
ndryshe nëse (çmimi_njësi_vlerësimi
{
test_ekrani[0] = çmimi_njësi_vlerësimi / 10000 % 10 + 0x30;
test_ekrani[1] = çmimi_njësi_vlerësimi / 1000 % 10 + 0x30;
test_ekrani[2] = çmimi_njësi_vlerësimi / 100 % 10 + 0x30;
test_ekrani[3] = '.';
test_ekrani[4] = çmimi_njësi_vlerësimi / 10 % 10 + 0x30;
test_ekrani[5] = çmimi_njësi_vlerësimi / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_ekran, 4);
}
ndryshe nëse (çmimi_njësi_vlerësimi
{
test_ekrani[0] = çmimi_njësi_vlerësimi / 100000 % 10 + 0x30;
test_ekrani[1] = çmimi_njësi_vlerësimi / 10000 % 10 + 0x30;
test_ekrani[2] = çmimi_njësi_vlerësimi / 1000 % 10 + 0x30;
test_ekrani[3] = çmimi_njësi_vlerësimi / 100 % 10 + 0x30;
test_ekrani[4] = '.';
test_ekrani[5] = çmimi_njësi_vlerësimi / 10 % 10 + 0x30;
test_ekrani[6] = çmimi_njësi_vlerësimi / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_ekran, 4);
}
}
// Rifreskimi i peshës
pavlefshme page_valuation_weight_refresh()
{
uint8_t test_ekrani[10] = {0x30};
uint32_t gram_ekran = 0;
nëse (vlera_grami >= vlerësimi_dekorticate)
{
gram_ekrani = gram_value - vlerësim_dekorticate;
nëse (ekran_gram
{
test_ekrani[0] = gram_ekran / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_ekran, 3);
}
else if (ekran_gram
{
test_ekrani[0] = gram_ekran / 10 % 10 + 0x30;
test_ekrani[1] = gram_ekran / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_display, 3);
}
else if (ekran_gram
{
test_ekrani[0] = gram_ekran / 100 % 10 + 0x30;
test_ekrani[1] = gram_ekran / 10 % 10 + 0x30;
test_ekrani[2] = gram_ekran / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_ekran, 3);
}
else if (ekran_gram
{
test_ekrani[0] = gram_ekran / 1000 % 10 + 0x30;
test_ekrani[1] = gram_ekran / 100 % 10 + 0x30;
test_ekrani[2] = gram_ekran / 10 % 10 + 0x30;
test_ekrani[3] = gram_ekran / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_ekran, 3);
}
else if (ekran_gram
{
test_ekrani[0] = gram_ekran / 10000 % 10 + 0x30;
test_ekrani[1] = gram_ekran / 1000 % 10 + 0x30;
test_ekrani[2] = gram_ekran / 100 % 10 + 0x30;
test_ekrani[3] = gram_ekran / 10 % 10 + 0x30;
test_ekrani[4] = gram_ekran / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_ekran, 3);
}
}
tjetër
{
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_ekran, 3);
}
}
// Rifreskimi total i çmimit
pavlefshme page_valuation_price_refresh()
{
uint32_t çmimi_vlera = 0;
uint8_t test_ekrani[10] = {0x30, '.', 0x30, 0x30};
nëse (vlera_grami >= vlerësimi_dekorticate)
{
çmimi_vlera = (gram_vlera - vlerësimi_dekorticate) * vlerësimi_çmimi_njësi * 2 / 1000;
nëse (çmimi_vlera
{
test_ekrani[0] = çmimi_vlera / 100 % 10 + 0x30;
test_ekrani[1] = '.';
test_ekrani[2] = çmimi_vlera / 10 % 10 + 0x30;
test_ekrani[3] = çmimi_vlera / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_ekran, 4);
}
ndryshe if (çmimi_vlera
{
test_ekrani[0] = çmimi_vlera / 1000 % 10 + 0x30;
test_ekrani[1] = çmimi_vlera / 100 % 10 + 0x30;
test_ekrani[2] = '.';
test_ekrani[3] = çmimi_vlera / 10 % 10 + 0x30;
test_ekrani[4] = çmimi_vlera / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_ekran, 4);
}
ndryshe if (çmimi_vlera
{
test_ekrani[0] = çmimi_vlera / 10000 % 10 + 0x30;
test_ekrani[1] = çmimi_vlera / 1000 % 10 + 0x30;
test_ekrani[2] = çmimi_vlera / 100 % 10 + 0x30;
test_ekrani[3] = '.';
test_ekrani[4] = çmimi_vlera / 10 % 10 + 0x30;
test_ekrani[5] = çmimi_vlera / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_ekran, 4);
}
ndryshe if (çmimi_vlera
{
test_ekrani[0] = çmimi_vlera / 100000 % 10 + 0x30;
test_ekrani[1] = çmimi_vlera / 10000 % 10 + 0x30;
test_ekrani[2] = çmimi_vlera / 1000 % 10 + 0x30;
test_ekrani[3] = çmimi_vlera / 100 % 10 + 0x30;
test_ekrani[4] = '.';
test_ekrani[5] = çmimi_vlera / 10 % 10 + 0x30;
test_ekrani[6] = çmimi_vlera / 1 % 10 + 0x30;
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_ekran, 4);
}
}
tjetër
{
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_ekran, 4);
}
}
void page_valuation_decorticate()
{
vlerësim_dekortikoj = gram_vlerë;
page_vlerësimi_pesha_refresh();
}
page_vlerësimi_1 i pavlefshëm ()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_njësi_vlerësimi * 10 + 1;
page_vlerësimi_njësia_çmimi_refresh();
}
}
page_valuation_2 të pavlefshme ()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_njësi_vlerësimi * 10 + 2;
page_vlerësimi_njësia_çmimi_refresh();
}
}
page_vlerësimi_3 i pavlefshëm ()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_njësi_vlerësimi * 10 + 3;
page_vlerësimi_njësia_çmimi_refresh();
}
}
page_vlerësimi_4 i pavlefshëm ()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_vlerësimi_njësi * 10 + 4;
page_vlerësimi_njësia_çmimi_refresh();
}
}
faqe e pavlefshme_vlerësimi_5()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_vlerësimi_njësi * 10 + 5;
page_vlerësimi_njësia_çmimi_refresh();
}
}
pavlefshme page_vlerësimi_6()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_vlerësimi_njësi * 10 + 6;
page_vlerësimi_njësia_çmimi_refresh();
}
}
e pavlefshme page_vlerësimi_7()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_njësi_vlerësimi * 10 + 7;
page_vlerësimi_njësia_çmimi_refresh();
}
}
e pavlefshme page_vlerësimi_8()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_vlerësimi_njësi * 10 + 8;
page_vlerësimi_njësia_çmimi_refresh();
}
}
pavlefshme page_vlerësimi_9()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_njësi_vlerësimi * 10 + 9;
page_vlerësimi_njësia_çmimi_refresh();
}
}
page_vlerësimi_0 i pavlefshëm ()
{
nëse (çmimi_njësi_vlerësimi
{
vlerësimi_çmimi_njësi = çmimi_njësi_vlerësimi * 10 + 0;
page_vlerësimi_njësia_çmimi_refresh();
}
}
pavlefshme page_valuation_back()
{
vlerësimi_çmimi_njësi = çmimi_njësi_vlerësimi / 10;
page_vlerësimi_njësia_çmimi_refresh();
}
pavlefshme page_valuation_clear()
{
vlerësimi_çmimi_njësi = 0;
page_vlerësimi_njësia_çmimi_refresh();
}
Koha e postimit: Prill-28-2024