[Açıq mənbə] Çoxfunksiyalı Çəki Cihazı

——DWIN Developer Forumundan

Bu buraxılışda biz DWIN Developer Forumunun mükafat qazanmış açıq mənbəli işini - Çoxfunksiyalı Tarazı təqdim edirik. Mühəndis 4 düymlük COF smart ekranını qəbul edir və T5L OS nüvəsi və HX711 modulu və 5 kq təzyiq sensoru dəsti arasında məlumat qarşılıqlı əlaqəsi vasitəsilə istifadəçilər çəki, vahid qiyməti, ümumi qiymət, tara və s. kimi sayma displey funksiyalarını asanlıqla həyata keçirə bilərlər. ., həmçinin sayma, çəki dəyişmə əyrilərinin izlənilməsi və tərəzi dəqiqliyinin korreksiyası və s. funksiyaları, belə ki, rahat və səmərəli çəki təcrübəsindən zövq almaq üçün müxtəlif tətbiq ssenariləri arasında keçid etmək asandır.

1. UI inkişafı

f26af533d43728cd210e0f7af5e7acc

2.C51 Dizayn

Qiymətləndirmə funksiyasını yerinə yetirmək üçün tərəzi üçün istinad kodunun bir hissəsi aşağıdakı kimidir:

// Qiymətləndirmə Səhifəsi===================

#QİYMƏT_VİRİLİ_QİYMƏT_ADDR 0x1010 müəyyən edin

#VALUATION_GRAM_ADDR 0x1000 müəyyən edin

#QİYMƏTİN_CƏMİ_QİYMƏTLƏRİ_ADDR 0x1020 müəyyən edin

uint32_t valuation_decorticate = 0; // Tara çəkisinin qiyməti

uint32_t valuation_unit_price = 0; //Vahid qiymət

// Vahid Qiyməti Yeniləmə

səhifə_qiymətləndirmə_vahidi_price_refresh()

{

uint8_t test_display[10] = {0};

əgər(qiymətləndirmə_vahidi_qiyməti

{

test_displey[0] = qiymətləndirmə_vahidi_qiyməti / 100 % 10 + 0x30;

test_display[1] = '.';

test_displey[2] = qiymətləndirmə_vahidi_qiyməti / 10 % 10 + 0x30;

test_displey[3] = qiymətləndirmə_vahidi_qiyməti / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

başqa əgər (qiymətləndirmə_vahidi_qiyməti

{

test_displey[0] = qiymətləndirmə_vahidi_qiyməti / 1000 % 10 + 0x30;

test_displey[1] = qiymətləndirmə_vahidi_qiyməti / 100 % 10 + 0x30;

test_display[2] = '.';

test_displey[3] = qiymətləndirmə_vahidi_qiyməti / 10 % 10 + 0x30;

test_displey[4] = qiymətləndirmə_vahidi_qiyməti / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

başqa halda (qiymətləndirmə_vahidi_qiyməti

{

test_display[0] = qiymətləndirmə_vahidi_qiyməti / 10000 % 10 + 0x30;

test_displey[1] = qiymətləndirmə_vahidi_qiyməti / 1000 % 10 + 0x30;

test_displey[2] = qiymətləndirmə_vahidi_qiyməti / 100 % 10 + 0x30;

test_display[3] = '.';

test_displey[4] = qiymətləndirmə_vahidi_qiyməti / 10 % 10 + 0x30;

test_display[5] = qiymətləndirmə_vahidi_qiyməti / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

başqa halda (qiymətləndirmə_vahidi_qiyməti

{

test_displey[0] = qiymətləndirmə_vahidi_qiyməti / 100000 % 10 + 0x30;

test_displey[1] = qiymətləndirmə_vahidi_qiyməti / 10000 % 10 + 0x30;

test_displey[2] = qiymətləndirmə_vahidi_qiyməti / 1000 % 10 + 0x30;

test_displey[3] = qiymətləndirmə_vahidi_qiyməti / 100 % 10 + 0x30;

test_display[4] = '.';

test_displey[5] = qiymətləndirmə_vahidi_qiyməti / 10 % 10 + 0x30;

test_displey[6] = qiymətləndirmə_vahidi_qiyməti / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

}

 

// Çəki yeniləməsi

etibarsız səhifə_qiymətləndirmə_çəki_yeniləmə()

{

uint8_t test_display[10] = {0x30};

uint32_t gram_display = 0;

əgər (qram_dəyər >= qiymətləndirmə_dekortikasiya)

{

gram_display = qram_dəyər - qiymətləndirmə_dekortikasiya;

əgər(qram_ekran

{

test_display[0] = qram_ekran / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

başqa əgər (qram_ekran

{

test_display[0] = qram_ekran / 10 % 10 + 0x30;

test_display[1] = qram_ekran / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

başqa əgər (qram_ekran

{

test_display[0] = qram_ekran / 100 % 10 + 0x30;

test_display[1] = qram_ekran / 10 % 10 + 0x30;

test_display[2] = qram_ekran / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

başqa əgər (qram_ekran

{

test_display[0] = qram_ekran / 1000 % 10 + 0x30;

test_display[1] = qram_ekran / 100 % 10 + 0x30;

test_display[2] = qram_ekran / 10 % 10 + 0x30;

test_display[3] = qram_ekran / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

başqa halda (qram_ekran

{

test_display[0] = qram_ekran / 10000 % 10 + 0x30;

test_display[1] = qram_ekran / 1000 % 10 + 0x30;

test_display[2] = qram_ekran / 100 % 10 + 0x30;

test_display[3] = qram_ekran / 10 % 10 + 0x30;

test_display[4] = qram_ekran / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

başqa

{

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

 

// Ümumi Qiymət Yeniləmə

etibarsız səhifə_qiymətləndirmə_qiyməti_yeniləmə()

{

uint32_t qiymət_dəyəri = 0;

uint8_t test_display[10] = {0x30, '.', 0x30, 0x30};

əgər (qram_dəyər >= qiymətləndirmə_dekortikasiya)

{

qiymət_dəyəri = (qram_dəyər - qiymətləndirmə_dekortikasiyası) * qiymətləndirmə_vahidi_qiyməti * 2 / 1000;

əgər (qiymət_dəyəri

{

test_display[0] = qiymət_dəyər / 100 % 10 + 0x30;

test_display[1] = '.';

test_displey[2] = qiymət_dəyər / 10 % 10 + 0x30;

test_displey[3] = qiymət_dəyər / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

başqa əgər (qiymət_dəyəri

{

test_displey[0] = qiymət_dəyər / 1000 % 10 + 0x30;

test_display[1] = qiymət_dəyər / 100 % 10 + 0x30;

test_display[2] = '.';

test_display[3] = qiymət_dəyər / 10 % 10 + 0x30;

test_displey[4] = qiymət_dəyər / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

başqa halda (qiymət_dəyəri

{

test_displey[0] = qiymət_dəyər / 10000 % 10 + 0x30;

test_displey[1] = qiymət_dəyər / 1000 % 10 + 0x30;

test_displey[2] = qiymət_dəyər / 100 % 10 + 0x30;

test_display[3] = '.';

test_displey[4] = qiymət_dəyər / 10 % 10 + 0x30;

test_display[5] = qiymət_dəyər / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

başqa halda (qiymət_dəyəri

{

test_display[0] = qiymət_dəyər / 100000 % 10 + 0x30;

test_display[1] = qiymət_dəyər / 10000 % 10 + 0x30;

test_displey[2] = qiymət_dəyər / 1000 % 10 + 0x30;

test_display[3] = qiymət_dəyər / 100 % 10 + 0x30;

test_display[4] = '.';

test_displey[5] = qiymət_dəyər / 10 % 10 + 0x30;

test_display[6] = qiymət_dəyər / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

başqa

{

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

etibarsız səhifə_qiymətləndirmə_dekorikat()

{

valuation_decorticate = qram_dəyər;

page_valuation_weight_refresh();

}

etibarsız səhifə_qiymətləndirmə_1()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 1;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_2()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 2;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_3()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 3;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_4()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 4;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_5()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 5;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_6()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 6;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_7()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 7;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_8()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 8;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_9()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 9;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_0()

{

əgər (qiymətləndirmə_vahidi_qiyməti

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti * 10 + 0;

page_valuation_unit_price_refresh();

}

}

etibarsız səhifə_qiymətləndirmə_geri()

{

qiymətləndirmə_vahidi_qiyməti = qiymətləndirmə_vahidi_qiyməti / 10;

page_valuation_unit_price_refresh();

}

etibarsız səhifə_qiymətləndirmə_clear()

{

qiymətləndirmə_vahidi_qiyməti = 0;

page_valuation_unit_price_refresh();

}


Göndərmə vaxtı: 28 aprel 2024-cü il