[ઓપન સોર્સ] મલ્ટિફંક્શનલ વેઇંગ ડિવાઇસ

——DWIN ડેવલપર ફોરમ તરફથી

આ અંકમાં, અમે DWIN ડેવલપર ફોરમ - મલ્ટી-ફંક્શન વેઇઝરના એવોર્ડ વિજેતા ઓપન-સોર્સ કેસને આગળ ધપાવીએ છીએ. ઇજનેર 4-ઇંચની COF સ્માર્ટ સ્ક્રીન અપનાવે છે, અને T5L OS કોર અને HX711 મોડ્યુલ અને 5kg પ્રેશર સેન્સર સેટ વચ્ચેની માહિતીની ક્રિયાપ્રતિક્રિયા દ્વારા, વપરાશકર્તાઓ વજન, એકમની કિંમત, કુલ કિંમત, ટાયર વગેરે જેવા ગણતરીના ડિસ્પ્લે કાર્યોને સરળતાથી સમજી શકે છે. ., તેમજ ગણતરીના કાર્યો, વજનમાં ફેરફારના વળાંકોનું ટ્રેકિંગ અને વજનની ચોકસાઈને સુધારવી વગેરે, જેથી અનુકૂળ અને કાર્યક્ષમ વજન અનુભવનો આનંદ માણવા માટે વિવિધ એપ્લિકેશન દૃશ્યો વચ્ચે સ્વિચ કરવાનું સરળ બને.

1. UI વિકાસ

f26af533d43728cd210e0f7af5e7acc

2.C51 ડિઝાઇન

કિંમત નિર્ધારણ કાર્યને અમલમાં મૂકવા માટે તોલનાર માટે સંદર્ભ કોડનો ભાગ નીચે મુજબ છે:

// કિંમત નિર્ધારણ પૃષ્ઠ=====================

#વેલ્યુએશન_UNIT_PRICE_ADDR 0x1010 વ્યાખ્યાયિત કરો

#વેલ્યુએશન_GRAM_ADDR 0x1000 વ્યાખ્યાયિત કરો

#વ્યાખ્યાયિત કરો VALUATION_TOTAL_PRICES_ADDR 0x1020

uint32_t valuation_decorticate = 0; // પ્રાઇસીંગ ટેરે વેઇટ

uint32_t valuation_unit_price = 0; // એકમ કિંમત

// એકમ કિંમત તાજું

void page_valuation_unit_price_refresh()

{

uint8_t test_display[10] = {0};

જો(મૂલ્યાંકન_એકમ_કિંમત

{

ટેસ્ટ_ડિસ્પ્લે[0] = મૂલ્યાંકન_એકમ_કિંમત / 100% 10 + 0x30;

test_display[1] = '.';

ટેસ્ટ_ડિસ્પ્લે[2] = મૂલ્યાંકન_એકમ_કિંમત / 10 % 10 + 0x30;

ટેસ્ટ_ડિસ્પ્લે[3] = મૂલ્યાંકન_એકમ_કિંમત / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_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_UNIT_PRICE_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_UNIT_PRICE_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_UNIT_PRICE_ADDR, test_display, 4);

}

}

 

// વજન તાજું

void page_valuation_weight_refresh()

{

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);

}

}

 

// કુલ કિંમત રીફ્રેશ

void page_valuation_price_refresh()

{

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);

}

}

void page_valuation_decorticate()

{

valuation_decorticate = ગ્રામ_મૂલ્ય;

page_valuation_weight_refresh();

}

void page_valuation_1()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 1;

page_valuation_unit_price_refresh();

}

}

void page_valuation_2()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 2;

page_valuation_unit_price_refresh();

}

}

void page_valuation_3()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 3;

page_valuation_unit_price_refresh();

}

}

void page_valuation_4()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 4;

page_valuation_unit_price_refresh();

}

}

void page_valuation_5()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 5;

page_valuation_unit_price_refresh();

}

}

void page_valuation_6()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 6;

page_valuation_unit_price_refresh();

}

}

void page_valuation_7()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 7;

page_valuation_unit_price_refresh();

}

}

void page_valuation_8()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 8;

page_valuation_unit_price_refresh();

}

}

void page_valuation_9()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 9;

page_valuation_unit_price_refresh();

}

}

void page_valuation_0()

{

જો(મૂલ્યાંકન_એકમ_કિંમત

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત * 10 + 0;

page_valuation_unit_price_refresh();

}

}

void page_valuation_back()

{

valuation_unit_price = મૂલ્યાંકન_એકમ_કિંમત / 10;

page_valuation_unit_price_refresh();

}

void page_valuation_clear()

{

મૂલ્યાંકન_યુનિટ_કિંમત = 0;

page_valuation_unit_price_refresh();

}


પોસ્ટ સમય: એપ્રિલ-28-2024