[खुला स्रोत] बहुकार्यात्मक वजन उपकरण

——DWIN डेवलपर फोरम से

इस अंक में, हम DWIN डेवलपर फ़ोरम - मल्टी-फ़ंक्शन वेइगर के पुरस्कार विजेता ओपन-सोर्स केस को आगे बढ़ा रहे हैं। इंजीनियर 4-इंच COF स्मार्ट स्क्रीन को अपनाता है, और T5L OS कोर और HX711 मॉड्यूल और 5kg प्रेशर सेंसर सेट के बीच डेटा इंटरेक्शन के माध्यम से, उपयोगकर्ता आसानी से वजन, इकाई मूल्य, कुल मूल्य, तारे आदि जैसे गिनती प्रदर्शन कार्यों का एहसास कर सकते हैं। ., साथ ही गिनती के कार्य, वजन परिवर्तन घटता की ट्रैकिंग, और वजन सटीकता को सही करना आदि, ताकि सुविधाजनक और कुशल वजन अनुभव का आनंद लेने के लिए विभिन्न एप्लिकेशन परिदृश्यों के बीच स्विच करना आसान हो।

1. यूआई विकास

f26af533d43728cd210e0f7af5e7acc

2.C51 डिज़ाइन

मूल्य निर्धारण फ़ंक्शन को कार्यान्वित करने के लिए तौलकर्ता के लिए संदर्भ कोड का भाग इस प्रकार है:

// मूल्य निर्धारण पृष्ठ===================

#मूल्यांकन_यूनिट_मूल्य_ADDR 0x1010 परिभाषित करें

#मूल्यांकन_GRAM_ADDR 0x1000 परिभाषित करें

#मूल्य निर्धारण_TOTAL_PRICES_ADDR 0x1020 परिभाषित करें

uint32_t वैल्यूएशन_डेकोर्टिकेट = 0; // मूल्य निर्धारण तारे का वजन

uint32_t वैल्यूएशन_यूनिट_प्राइस = 0; //यूनिट मूल्य

// इकाई मूल्य ताज़ा करें

शून्य पेज_वैल्यूएशन_यूनिट_प्राइस_रीफ्रेश()

{

uint8_t test_display[10] = {0};

यदि(मूल्यांकन_यूनिट_कीमत

{

टेस्ट_डिस्प्ले[0] = वैल्यूएशन_यूनिट_प्राइस / 100% 10 + 0x30;

test_display[1] = '.';

test_display[2] = वैल्यूएशन_यूनिट_प्राइस / 10 % 10 + 0x30;

test_display[3] = वैल्यूएशन_यूनिट_प्राइस / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

अन्यथा यदि (वैल्यूएशन_यूनिट_प्राइस

{

test_display[0] = वैल्यूएशन_यूनिट_प्राइस / 1000 % 10 + 0x30;

टेस्ट_डिस्प्ले[1] = वैल्यूएशन_यूनिट_प्राइस / 100% 10 + 0x30;

test_display[2] = '.';

test_display[3] = वैल्यूएशन_यूनिट_प्राइस / 10 % 10 + 0x30;

test_display[4] = वैल्यूएशन_यूनिट_प्राइस / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

अन्यथा यदि (मूल्यांकन_यूनिट_कीमत

{

test_display[0] = वैल्यूएशन_यूनिट_प्राइस / 10000 % 10 + 0x30;

test_display[1] = वैल्यूएशन_यूनिट_प्राइस / 1000 % 10 + 0x30;

टेस्ट_डिस्प्ले[2] = वैल्यूएशन_यूनिट_प्राइस / 100% 10 + 0x30;

test_display[3] = '.';

test_display[4] = वैल्यूएशन_यूनिट_प्राइस / 10 % 10 + 0x30;

test_display[5] = वैल्यूएशन_यूनिट_प्राइस / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

अन्यथा यदि(मूल्यांकन_यूनिट_कीमत

{

test_display[0] = वैल्यूएशन_यूनिट_प्राइस / 100000 % 10 + 0x30;

test_display[1] = वैल्यूएशन_यूनिट_प्राइस / 10000 % 10 + 0x30;

टेस्ट_डिस्प्ले[2] = वैल्यूएशन_यूनिट_प्राइस / 1000 % 10 + 0x30;

टेस्ट_डिस्प्ले[3] = वैल्यूएशन_यूनिट_प्राइस / 100% 10 + 0x30;

test_display[4] = '.';

test_display[5] = वैल्यूएशन_यूनिट_प्राइस / 10 % 10 + 0x30;

टेस्ट_डिस्प्ले[6] = वैल्यूएशन_यूनिट_प्राइस / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

}

 

// वजन ताज़ा करें

शून्य पृष्ठ_मूल्यांकन_वजन_ताज़ा()

{

uint8_t test_display[10] = {0x30};

uint32_t ग्राम_डिस्प्ले = 0;

यदि(ग्राम_वैल्यू >= वैल्यूएशन_डेकोर्टिकेट)

{

gram_display = gram_value - वैल्यूएशन_decorticate;

यदि(ग्राम_डिस्प्ले

{

टेस्ट_डिस्प्ले[0] = ग्राम_डिस्प्ले / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

अन्यथा यदि (ग्राम_डिस्प्ले

{

टेस्ट_डिस्प्ले[0] = ग्राम_डिस्प्ले / 10 % 10 + 0x30;

टेस्ट_डिस्प्ले[1] = ग्राम_डिस्प्ले / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

अन्यथा यदि (ग्राम_डिस्प्ले

{

टेस्ट_डिस्प्ले[0] = ग्राम_डिस्प्ले / 100% 10 + 0x30;

टेस्ट_डिस्प्ले[1] = ग्राम_डिस्प्ले / 10% 10 + 0x30;

टेस्ट_डिस्प्ले[2] = ग्राम_डिस्प्ले / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

अन्यथा यदि (ग्राम_डिस्प्ले

{

टेस्ट_डिस्प्ले[0] = ग्राम_डिस्प्ले / 1000 % 10 + 0x30;

टेस्ट_डिस्प्ले[1] = ग्राम_डिस्प्ले / 100% 10 + 0x30;

टेस्ट_डिस्प्ले[2] = ग्राम_डिस्प्ले / 10% 10 + 0x30;

टेस्ट_डिस्प्ले[3] = ग्राम_डिस्प्ले / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

अन्यथा यदि (ग्राम_डिस्प्ले

{

टेस्ट_डिस्प्ले[0] = ग्राम_डिस्प्ले / 10000 % 10 + 0x30;

टेस्ट_डिस्प्ले[1] = ग्राम_डिस्प्ले / 1000 % 10 + 0x30;

टेस्ट_डिस्प्ले[2] = ग्राम_डिस्प्ले / 100% 10 + 0x30;

टेस्ट_डिस्प्ले[3] = ग्राम_डिस्प्ले / 10% 10 + 0x30;

टेस्ट_डिस्प्ले[4] = ग्राम_डिस्प्ले / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

अन्य

{

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

 

// कुल मूल्य ताज़ा

शून्य पृष्ठ_मूल्यांकन_मूल्य_ताज़ा()

{

uint32_t मूल्य_मूल्य = 0;

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

यदि(ग्राम_वैल्यू >= वैल्यूएशन_डेकोर्टिकेट)

{

मूल्य_मूल्य = (ग्राम_मूल्य - वैल्यूएशन_डेकोर्टिकेट) * वैल्यूएशन_यूनिट_प्राइस * 2/1000;

यदि(कीमत_मूल्य

{

टेस्ट_डिस्प्ले[0] = मूल्य_मान / 100% 10 + 0x30;

test_display[1] = '.';

टेस्ट_डिस्प्ले[2] = मूल्य_मूल्य/10% 10 + 0x30;

टेस्ट_डिस्प्ले[3] = मूल्य_मूल्य / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

अन्यथा यदि (मूल्य_मूल्य

{

टेस्ट_डिस्प्ले[0] = मूल्य_मूल्य / 1000 % 10 + 0x30;

टेस्ट_डिस्प्ले[1] = मूल्य_मूल्य / 100% 10 + 0x30;

test_display[2] = '.';

टेस्ट_डिस्प्ले[3] = मूल्य_मूल्य/10% 10 + 0x30;

टेस्ट_डिस्प्ले[4] = मूल्य_मूल्य / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

अन्यथा यदि (मूल्य_मान

{

टेस्ट_डिस्प्ले[0] = मूल्य_मूल्य / 10000 % 10 + 0x30;

टेस्ट_डिस्प्ले[1] = मूल्य_मूल्य / 1000 % 10 + 0x30;

टेस्ट_डिस्प्ले[2] = मूल्य_मूल्य / 100% 10 + 0x30;

test_display[3] = '.';

टेस्ट_डिस्प्ले[4] = मूल्य_मूल्य/10% 10 + 0x30;

टेस्ट_डिस्प्ले[5] = मूल्य_मूल्य / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

अन्यथा यदि (मूल्य_मान

{

टेस्ट_डिस्प्ले[0] = मूल्य_मूल्य / 100000 % 10 + 0x30;

टेस्ट_डिस्प्ले[1] = मूल्य_मूल्य / 10000 % 10 + 0x30;

टेस्ट_डिस्प्ले[2] = मूल्य_मूल्य / 1000 % 10 + 0x30;

टेस्ट_डिस्प्ले[3] = मूल्य_मान / 100% 10 + 0x30;

test_display[4] = '.';

टेस्ट_डिस्प्ले[5] = मूल्य_मूल्य/10% 10 + 0x30;

टेस्ट_डिस्प्ले[6] = मूल्य_मूल्य / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

अन्य

{

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

शून्य पृष्ठ_मूल्यांकन_सजावट()

{

वैल्यूएशन_डेकोर्टिकेट = ग्राम_वैल्यू;

पेज_वैल्यूएशन_वेट_रिफ्रेश();

}

शून्य पृष्ठ_मूल्यांकन_1()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 1;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_2()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 2;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_3()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 3;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_4()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 4;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_5()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 5;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_6()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 6;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_7()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 7;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_8()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 8;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_9()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 9;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_0()

{

यदि(मूल्यांकन_यूनिट_कीमत

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस * 10 + 0;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

}

शून्य पृष्ठ_मूल्यांकन_वापसी()

{

वैल्यूएशन_यूनिट_प्राइस = वैल्यूएशन_यूनिट_प्राइस / 10;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}

शून्य पृष्ठ_मूल्यांकन_स्पष्ट()

{

वैल्यूएशन_यूनिट_प्राइस = 0;

पेज_वैल्यूएशन_यूनिट_प्राइस_रिफ्रेश();

}


पोस्ट करने का समय: अप्रैल-28-2024