Intelligent oral medicine checking system based on weight perception

By using a weight-sensing-based intelligent inventory system, drug inventory can be conducted without opening the boxes, solving the problems of low efficiency, contamination risk, and limited applicability in existing technologies. This improves inventory efficiency and accuracy and ensures drug safety.

CN121191684APending Publication Date: 2025-12-23山东省立第三医院
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511326920.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-17
Publication Date
2025-12-23

AI Technical Summary

Technical Problem

Existing methods for inventorying oral medications are inefficient, pose a risk of drug contamination, have limited applicability and accuracy, and do not achieve contactless inventory.

Method used

The system employs a weight-sensing-based intelligent inventory system, which includes a data processing unit, a weighing sensor unit, an input unit, a display unit, and a storage unit. It directly acquires the weight of medicine boxes or bags through weighing sensors and calculates the number of pills by combining it with pre-stored data, thus achieving inventory without opening the boxes.

Benefits of technology

It significantly improves inventory efficiency, reduces human error, avoids drug contamination, has wide applicability, lowers the operational threshold, and ensures drug stability and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121191684A_ABST
    Figure CN121191684A_ABST
Patent Text Reader

Abstract

The invention discloses an intelligent oral medicine checking system based on weight sensing, and mainly relates to the technical field of medical equipment automation and intelligent weighing. Comprising a data processing unit, a weighing sensing unit, an input unit, a display unit and a storage unit, the data processing unit is used for executing medicine checking logic, and the medicine checking logic comprises a basic data maintenance mode, a basic weighing mode and a checking mode; the weighing sensing unit is used for collecting weight data of a medicine box or a medicine bag; the input unit is used for receiving a user instruction and inputting a medicine number; the display unit is used for outputting a system state, an operation prompt and a checking result; the storage unit is used for storing medicine box weight, single-piece medicine weight and medicine number information. The beneficial effects of the invention are that the device can achieve the quick and accurate checking of medicines without opening the box, avoids the secondary pollution, remarkably improves the efficiency, and reduces the manual error.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of medical equipment automation and intelligent weighing technology, in particular to an oral medicine intelligent inventory system based on weight perception. BACKGROUND

[0002] The oral dispensing machine has become the core equipment of modern inpatient pharmacy single-dose dispensing, which greatly improves the dispensing efficiency and accuracy. At present, the periodic inventory of hundreds of naked tablets in the dispensing machine mainly relies on two methods: one is to use a precision electronic balance to weigh all the medicines, and then calculate the number of tablets by manual calculation, which is extremely time-consuming; the second is to directly count the number of tablets by manual counting, which is prone to fatigue errors.

[0003] The development status of the prior art shows that in order to improve the above problems, some auxiliary tools have appeared, such as a right triangle inventory sieve, which uses the geometric law formed after the flat laying of circular tablets for counting; or a camera recognition APP of a smart phone for image recognition counting.

[0004] However, these existing technologies have obvious shortcomings: 1. Low inventory efficiency: whether it is a balance weighing or manual counting, it is necessary to open the medicine box one by one to take out the medicine, which is tedious and time-consuming; 2. There is a risk of contamination and deterioration of the medicine: the medicine needs to be exposed to the air during the inventory process, which can cause moisture absorption, oxidation or secondary pollution, affecting the stability of the medicine and the safety of the medicine; 3. Limited applicability and accuracy: the right triangle sieve is only suitable for specific shaped medicines; the camera recognition method has large counting errors for irregular tablets and capsules, and is difficult to operate when the number of medicines is large.

[0005] The reasons for these shortcomings are: 1. Limited technical path: the existing methods have not deviated from the traditional mode of "opening the box - touching - counting", and have not realized non-contact inventory; 2. Not deeply integrated with original data: it fails to fully utilize and associate inherent data such as the weight of the medicine box and the weight of a single tablet to build an efficient algorithm model; 3. Low hardware integration and intelligence: there is a lack of dedicated hardware systems that integrate weighing, data storage, calculation and display, which cannot realize process automation.

[0006] Therefore, an oral medicine intelligent inventory system based on weight perception is needed to solve the above problems. SUMMARY

[0007] The present application aims to provide a weight-sensing-based oral medicine intelligent inventory system, which can quickly and accurately inventory medicines without opening the box, avoid secondary pollution, significantly improve efficiency and reduce human error.

[0008] To achieve the above-mentioned purpose, the present application is implemented by the following technical solutions: The present application provides a weight-sensing-based oral medicine intelligent inventory system, comprising: a data processing unit, a weighing sensor unit, an input unit, a display unit and a storage unit; The data processing unit is used to execute a medicine inventory logic, which comprises a basic data maintenance mode, a basic weighing mode and an inventory mode. The weighing sensor unit is used to collect the weight data of the medicine box or bag. The input unit is used to receive user instructions and medicine number input. The display unit is used to output system status, operation prompts and inventory results. The storage unit is used to store the weight of the medicine box, the weight of a single medicine and the medicine number information. The data processing unit calculates the actual number of medicine pieces by the following method: ; Wherein, represents the number of medicine pieces, represents the current total weight, represents the pre-stored empty medicine box weight, represents the pre-stored single medicine weight.

[0009] Preferably, the data processing unit adopts an Arduino-Uno development board, whose core is an ATmega328P microprocessor, which has a 32KB Flash memory, a 2KB SRAM and a 1KB EEPROM, and provides a clock signal through a 16MHz crystal oscillator.

[0010] Preferably, the weighing sensor unit comprises a HX711 type 24-bit A / D converter chip and a 5kg range weighing sensor, the HX711 chip integrates a voltage regulator and a clock oscillator, receives a clock signal through an SCK pin, and outputs weight data to the data processing unit through a DOUT pin.

[0011] Preferably, the input unit is a 4x4 matrix thin film switch key module, which comprises digital keys 0-9, function keys A, B, C, *, #, and is used for mode selection, number input and operation confirmation.

[0012] The display unit is preferably an LCD 1602 character type liquid crystal display screen, which is used to display the drug number, weight data, tablet number result and operation prompt information.

[0013] The storage unit is preferably an ATmega328P built-in EEPROM, which is used to store the empty box weight corresponding to each drug box number and the total weight of ten drugs , and through the single tablet weight is calculated.

[0014] The preferred embodiment supports three working modes: Basic data maintenance mode: used to input or update the drug box weight and drug weight; Basic weighing mode: used as a common electronic scale; Inventory mode: used to calculate the number of tablets in the drug box or drug bag.

[0015] The basic data maintenance mode preferably includes the following steps: Receiving user input drug number; The system automatically resets to zero and prompts to place the empty drug box; Save the empty drug box weight ; Prompt to place ten drugs, save the total weight of ten drugs ; Calculate and store the single tablet weight .

[0016] The inventory mode preferably includes the following steps: Receiving user input drug number; The system automatically resets to zero; Prompt to place the drug box or drug bag to be inventoried; Read the total weight ; Retrieve and from the storage unit; Calculate and display the tablet number .

[0017] The preferred embodiment also supports drug bag inventory mode, which calculates the number of drugs in the drug bag through the following formula: ; Where, is the total weight of the drug bag, is the single tablet drug weight, and the system outputs the “InBox” and “InBag” mode tablet number results in the display interface respectively.

[0018] Compared with the prior art, the beneficial effects of the present application are: 1. It fundamentally eliminates the risk of secondary contamination and spoilage of medicines, thus improving medication safety: This invention uses a weighing sensor to directly weigh unopened medicine boxes or bags as a whole. Using pre-stored basic data (box weight, tablet weight) and an algorithm, the number of tablets is calculated, achieving "no-opening, zero-contact" inventory. This completely avoids the medicine being exposed to air and touched by human hands during the inventory process, greatly ensuring the stability and hygiene safety of the medicine. It is especially suitable for medicines that are hygroscopic, light-sensitive, or require special protection. 2. It greatly improves the efficiency of inventory work and saves a lot of manpower and time costs: This invention integrates the complex weighing and calculation process into an automated workflow. Operators only need to place the medicine box and enter the number, and the system can automatically complete zeroing, weighing, data retrieval, calculation, and result output. This avoids the tedious manual calculation and repeated operation of the balance. 3. Significantly improved the accuracy and reliability of inventory results, and reduced human error: First, this invention calculates the weight of a single tablet by pre-storing the total weight of ten tablets, which effectively reduces systematic errors in the weighing process. Second, the entire inventory process is automatically calculated by the system, completely avoiding errors that may occur during manual calculation. At the same time, this solution is based on the principle of weight and is not limited by the shape, color, or size of the medicine. It can accurately count whether the tablets are round, irregularly shaped, or capsules, making it widely applicable. 4. Lowered the operational threshold and improved the system's ease of use and stability: This invention is built on Arduino open-source hardware and common modules, with a clear structure and controllable cost. Through clear process prompts and simple matrix keyboard input, even pharmacists without electronics or programming knowledge can quickly get started after simple training. This highly integrated and automated design reduces the dependence on the operator's experience, making inventory work more standardized and regulated. Attached Figure Description

[0019] Figure 1 This is a schematic diagram of the system structure of the present invention; Figure 2 This is a flowchart of the basic data maintenance mode of the present invention; Figure 3 This is a flowchart of the inventory counting process of the present invention. Detailed Implementation

[0020] The present invention will be further illustrated below with reference to specific embodiments. It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be understood that after reading the teachings of this invention, those skilled in the art can make various alterations or modifications to the invention, and these equivalent forms also fall within the scope defined in this application.

[0021] In this invention, terms such as "upper," "lower," "left," "right," "front," "back," "vertical," "horizontal," "side," and "bottom" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. These terms are used only to facilitate the description of the structural relationships of the various components or elements of this invention and do not specifically refer to any component or element in this invention. They should not be construed as limiting the invention.

[0022] Example 1: like Figure 1 As shown, this embodiment provides an intelligent inventory system for oral medications based on weight sensing, including: a data processing unit, a weighing sensing unit, an input unit, a display unit, and a storage unit; The data processing unit is used to execute the drug inventory logic, which includes: basic data maintenance mode, basic weighing mode and inventory mode. The weighing sensor unit is used to collect weight data of the medicine box or medicine bag; The input unit is used to receive user instructions and drug number input; The display unit is used to output system status, operation prompts, and inventory results; The storage unit is used to store the weight of the medicine box, the weight of a single medicine, and the medicine serial number. The data processing unit calculates the actual number of tablets of the medicine in the following way: ; in, Indicates the number of pills. This indicates the total weight currently being weighed. This indicates the weight of the pre-stored empty medicine box. This indicates the weight of a single pre-stored medicine tablet.

[0023] In this embodiment, the core hardware of the system is an embedded system based on the Arduino-Uno development board, and its specific hardware configuration and connection method are as follows: The core controller uses the Arduino-Uno R3 development board, with its main control chip being the Atmel ATmega328P microprocessor. This chip operates at 5V, has a built-in 16MHz crystal oscillator, and features 14 digital input / output ports (6 of which provide PWM output), 6 analog input ports, 32KB of Flash memory (for program storage), 2KB of SRAM (for storing variables during program execution), and 1KB of EEPROM (for storing critical data that needs to be preserved even when power is off, such as the weight of the medicine box and the weight of the medicine). In this embodiment, the EEPROM's storage structure is planned as follows: starting from address 0, every 6 bytes stores the data packet for one medicine box. The first 3 bytes store the medicine box number (e.g., '2', '3', '6'), and the last 3 bytes store the empty weight of the medicine box (float type data compressed storage). The specific compression and decompression algorithms are as follows: 1. Compressed storage (Write) process (storing float data into 3-byte EEPROM): Prerequisites: It is assumed that all weight values ​​to be stored are within the range of 0.0g to 6553.5g, and the accuracy requirement is 0.1g. This range and supported accuracy are more than sufficient for pharmacy applications. step: (1) Multiply the weight value (in g) of type float by 10 and convert it into an integer with 0.1g as the base unit; (e.g.: empty box weighs 123.45g * 10 = 1234.5 -> force type conversion to integer 1234 (in 0.1g)) (2) At this time, the range of this integer is 0~65535, which can be represented by a 16-bit unsigned integer (uint16_t) (2 bytes); (3) However, there are 3 bytes (24 bits) of storage space, which is 8 bits more than 16 bits. The float value is amplified and converted to a 24-bit integer. The float value is multiplied by a precision factor (e.g., 100) and converted to an integer. (For example: 123.45g * 100 = 12345 (unit: 0.01g). This number 12345 is much smaller than 2^24 (16,777,215), so it can be represented by a 24-bit number.) (4) Decompose this 24-bit integer into 3 bytes (B2, B1, B0): byte b0 = scaled_value&0xFF; / / Get the least significant byte (LSB) byte b1 = (scaled_value>>8)&0xFF; / / Get the middle byte byte b2 = (scaled_value>>16)&0xFF; / / Get the most significant byte (MSB) (5) Store b2, b1, and b0 sequentially into three consecutive addresses in the EEPROM; 2. Read and decompression process (restoring float from 3-byte EEPROM): step: 1. Read three bytes (b2, b1, b0) consecutively from the EEPROM; 2. Reassemble these 3 bytes into a 24-bit integer; cpp uint32_t scaled_value = ((uint32_t)b2<<16) | ((uint32_t)b1<<8) |(uint32_t)b0; 3. Divide this integer by 100.0 (the factor that was previously amplified) to restore it to a float type weight value: cpp float weight_value = (float)scaled_value / 100.0; The weighing sensor module, or load cell, uses an aluminum alloy cantilever beam load cell (model: BLR-5KG) with a rated load of 5kg. Its principle is that the metallic elastic body deforms under stress, causing a change in the impedance of the strain gauge bridge attached to its surface, thus outputting a millivolt-level differential voltage signal proportional to the weight. This sensor connects to the HX711 module, a 24-bit A / D converter chip that integrates a regulated power supply and clock oscillator, greatly simplifying the external circuit design. The specific connection method is as follows: The E+ and E- pins of the load cell are connected to the E+ and E- (excitation voltage positive and negative terminals) of the HX711 module. The S+ and S- pins of the load cell are connected to the A+ and A- (positive and negative signal input terminals) of the HX711 module. The VCC pin of the HX711 module is connected to the Arduino's 5V output. The GND pin of the HX711 module is connected to the GND pin of the Arduino. The DT (data output) pin of the HX711 module is connected to the Arduino's digital pin D11. The SCK (clock input) pin of the HX711 module is connected to the Arduino's digital pin D10; Input Unit: A 4×4 matrix membrane keyboard is used, with its 8 pins (4 rows and 4 columns) connected to the Arduino's digital pins D1 to D8 respectively. Key presses are detected using a row-scan method. In this embodiment, the keyboard layout is defined as follows: [1] [2] [3] [A] [4] [5] [6] [B] [7] [8] [9] [C] [ * ] [ 0 ][ # ] [ D ]; The A, B, and C keys are used to enter the "Basic Data Maintenance," "Basic Weighing," and "Inventory" modes, respectively, while the D key directly enters the "Medicine Bag Inventory" mode; the '#' key is the confirmation key; the '*' key is the return / exit key; and the number keys 0-9 are used to enter the serial number. Display unit: Uses an LCD1602 character LCD screen, operating at 5V, capable of displaying 16×2 characters, and employs an I2C communication module to reduce wiring; connection method: The VCC of the LCD1602's I2C module is connected to 5V. The GND of the I2C module is connected to GND. The SDA pin of the I2C module is connected to pin A4 of the Arduino. The SCL of the I2C module is connected to pin A5 of the Arduino; The entire system is powered by a DC 9V / 1A power adapter, which is connected through the DC power socket of the Arduino-Uno. The onboard voltage regulator circuit provides stable 5V and 3.3V voltages to the motherboard and each module.

[0024] The software portion of this embodiment was written using Arduino IDE 2.3.2. The core program flow includes a main loop and three functional mode sub-flows, specifically: 1. After the system is powered on, initialization operations are performed first, including: Initialize the LCD1602 display screen and show the welcome screen: "Smart Counter V1.0"; Initialize the HX711 module and load the preset scale factor and offset. Initialize keyboard scanning and detect key input; The system then enters standby mode and displays the message: "Press A / B / C to Start". At this time, the user can press the A, B, and C keys to enter the three function modes respectively. 2. Basic data maintenance mode (e.g.) Figure 2(as shown) This mode is used to establish a drug database. Taking the medicine box with the number 236 as an example, the software implementation process is as follows: 2.1: Entry prompt: Display operation prompt: "*:Exit #:Confirm"; 2.2: Enter ID: The prompt "Enter ID(3 digits):" indicates that the user can enter '2', '3', or '6' using the number keys. The display will show "ID:236" in real time. Press '#' to confirm. 2.3: Number Verification: The program determines whether 236 is a valid number within the system (e.g., number range 001-300). If valid, it continues; otherwise, it displays "Invalid ID!" and returns to the previous step. 2.4: System zeroing: The system prompts "Please Tare. #:Confirm". At this time, ensure that there are no items on the weighing platform. After pressing '#', the program calls the hx.tare(10) function to perform 10 samplings and take the average value, and sets the current weight value as the zero offset. 2.5: Weighing empty box: The system prompts "Place Empty Box." The user places empty medicine box No. 236 on the weighing platform and presses '#' to confirm. The program calls the hx.get_units(10) function to perform 10 samplings and take the average value to obtain the weight value weight_box. This value is compressed as a float and stored in the address allocated to the medicine box in EEPROM. 2.6: Weighing tablets: The system prompts "Place 10 Tablets." The user takes 10 bare tablets from box 236, places them on the weighing platform, and presses '#' to confirm. The program then samples the tablets again to obtain the weight value weight_10_tablets. 2.7: Calculation and Storage: The program calculates the weight of a single chip: weight_per_tablet = weight_10_tablets / 10.0, and similarly, stores this value in EEPROM; 2.8: Looping data entry: The system prompts "Continue? *:Exit #:Next". If the user presses '#', the process jumps back to step 2.2 and continues to enter the data for the next medicine box. 3. Inventory mode (e.g.) Figure 3 (As shown) This mode is the core application, used for quickly calculating the quantity of medicines: 3.1: Input Number: The prompt "Enter ID to Count:" allows the user to enter the number of the medicine box to be inventoried, such as '2', '3', '6'. 3.2: Data Reading: The program reads the previously stored weight_box and weight_per_tablet values ​​from the specified address in the EEPROM according to number '236'; 3.3: System reset: Same as step 2.4 of the basic data maintenance mode; 3.4: Weighing the total weight: The system will display "Place Box / Bag to Count." The user places the medicine box (No need to open the lid) containing medicine No. 236 on the weighing platform, presses '#' to confirm, and the program will sample and obtain the total weight_total. 3.5: Algorithm Calculation: The program calls the core algorithm for calculation. The algorithm code is as follows: / / Read total weight, box weight, and piece weight float weight_total = hx.get_units(10); float weight_box = readBoxWeightFromEEPROM(236); / / Read the weight of empty box number 236 from EEPROM float weight_per_tablet = readTabletWeightFromEEPROM(236); / / Read the weight of tablet #236 from EEPROM / / Core calculation: Calculating the number of drug tablets long estimated_number = (weight_total - weight_box) / weight_per_tablet; / / Round to the nearest integer long actual_number = round(estimated_number); The calculation formula is: ,in This is a rounding function that ensures the result is a near-integer. 3.6: Result Output: The display screen outputs the result: "ID:236 InBox:305", indicating that there are 305 tablets in the box; 3.7 Subsequent Operations: The system will display "*:Exit0:NextID#:SameID". If the user needs to continue inventorying another medicine box (number 236), they should change the medicine box and press the '#' key to return to step 3.4. If the user needs to inventory medicines with different numbers, they should press the '0' key to return to step 3.1. 4. Basic weighing mode (function: void weighingMode()): This mode enables the functionality of a general-purpose electronic scale, and the process is relatively simple: The system prompts you to zero the weight. Once complete, it displays the current real-time weight (in grams), for example: "Weight: 123.45 g". In this mode, the '*' key is used for manual resetting, and the '#' key has no function.

[0025] Accuracy is crucial in this embodiment. The following specific measures ensure the reliability of the algorithm: This embodiment requires calibration before first use. The calibration function `void calibrateScale()` is defined in the program: Proportional coefficient calibration: Place a 1000g standard weight and read the original output value read_value of the HX711. The proportional coefficient scale_factor = read_value / 1000.0. Store this value in the EEPROM; Zero-point offset compensation: Under no-load conditions, the original output value offset_value is read and stored in EEPROM as the offset; For each subsequent weighing, the actual weight is calculated as: weight = (raw_read - offset_value) / scale_factor.

[0026] To suppress noise, the software employs a composite filtering algorithm: When sampling with the HX711, it does not perform a single sampling, but instead calls the hx.get_units(10) function to perform 10 samplings and then takes the average. Furthermore, the program uses a first-order lag filtering method to process continuous weighing data. float filtered_weight = old_weight * 0.7 + new_sample * 0.3; / / Filter coefficients are adjustable This method effectively suppresses fluctuations in weighing data, making the readings more stable.

[0027] After the calculation steps in the inventory mode, the program added result verification logic: if (estimated_number < 0) { / / If the calculation result is negative, it means the total weight is less than the box weight, which is obviously unreasonable. display.print("Error: Wt too low!"); } else if (actual_number>1000) { / / If the number of tablets exceeds the maximum capacity of the pillbox (let's say 1000 tablets), an over-limit warning will be displayed. display.print("Error: Over Capacity!"); } else { / / The result is reasonable and displayed correctly. display.print("InBox:"); display.print(actual_number); }; This design prevents absurd output results due to misoperation (such as not placing medicine), sensor malfunction, or data errors.

[0028] Example 2: Scenario: In a hospital inpatient pharmacy, pharmacist Zhang needs to take inventory of 200 medicine boxes in the oral medication dispenser at the end of the month; Traditional method: requires 10 people to work together and takes about 2 hours; each medicine box needs to be opened, the medicine poured into a balance to be weighed, the weight recorded manually, and then the number of tablets is calculated based on the single tablet weight recorded on paper. The process is tedious and prone to errors. Using the system in this embodiment: 1. Preparation: Zhang connects the system power, and the system starts up and completes initialization; 2. Start Inventory: Zhang presses the 'C' key to enter inventory mode; 3. Inventory the first medicine box (number 236): Follow the on-screen prompts, enter the numbers “2”, “3”, and “6”, and press '#' to confirm; The screen will display "Please Tare." After confirming that there is nothing on the scale, press the '#' key and the system will automatically zero. The screen displayed "Place Box / Bag to Count." Zhang placed medicine box number 236 (containing medicine) entirely on the scale and pressed '#' to confirm. Approximately one second later, the screen displayed "ID:236 InBox:305"; Zhang recorded the quantity as 305; 4. Continuous Inventory Check: The screen displays "*:Exit 0:NextID #:SameID". Zhang removes medicine box number 236, places the next medicine box with the same number 236 on top, and presses the '#' key. The system immediately displays the number of new medicine boxes, "312". This process is repeated until all medicine boxes with that number have been counted. 5. Inventory of newly numbered medicine boxes: Ms. Zhang pressed the '0' key, and the screen prompted "Enter ID to Count:" again. She entered the next number "117" and repeated steps 3-4. 6. End: After checking all the medicine boxes, press the '*' key to return to the main interface and shut down the device.

[0029] Results: What used to take 2 hours can now be easily completed by one person in 30 minutes, increasing efficiency by more than 75%, with accurate data and no drug exposure throughout the process.

[0030] The above is a detailed description of the preferred embodiments of the present invention. However, the present invention is not limited to the embodiments described. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.

Claims

1. A weight-sensing-based intelligent inventory system for oral medications, characterized in that, include: The system includes a data processing unit, a weighing sensor unit, an input unit, a display unit, and a storage unit. The data processing unit is used to execute the drug inventory logic, which includes: basic data maintenance mode, basic weighing mode and inventory mode. The weighing sensor unit is used to collect the weight data of the medicine box or medicine bag; The input unit is used to receive user instructions and drug number input; The display unit is used to output system status, operation prompts, and inventory results; The storage unit is used to store the weight of the medicine box, the weight of a single medicine, and the medicine serial number information. The data processing unit calculates the actual number of tablets of the medicine in the following manner: ; in, Indicates the number of pills. This indicates the total weight currently being weighed. This indicates the weight of the pre-stored empty medicine box. This indicates the weight of a single pre-stored medicine tablet.

2. The intelligent inventory system for oral medications based on weight sensing according to claim 1, characterized in that, The data processing unit uses an Arduino-Uno development board, whose core is an ATmega328P microprocessor with 32KB Flash memory, 2KB SRAM and 1KB EEPROM, and is provided with a clock signal via a 16MHz crystal oscillator.

3. The intelligent inventory system for oral medications based on weight sensing according to claim 1, characterized in that, The weighing sensing unit includes an HX711 24-bit A / D converter chip and a 5kg weighing sensor. The HX711 chip integrates a regulated power supply and a clock oscillator, receives clock signals through the SCK pin, and outputs weight data to the data processing unit through the DOUT pin.

4. The intelligent inventory system for oral medications based on weight sensing according to claim 1, characterized in that, The input unit is a 4×4 matrix membrane switch keypad module, including numeric keys 0-9 and function keys A, B, C, *, #, used for mode selection, number input, and operation confirmation.

5. The intelligent inventory system for oral medications based on weight sensing according to claim 1, characterized in that, The display unit is an LCD1602 character liquid crystal display screen, used to display drug number, weight data, tablet count results and operation prompts.

6. The intelligent inventory system for oral medications based on weight sensing according to claim 1, characterized in that, The storage unit is an EEPROM built into the ATmega328P, used to store the weight of the empty box corresponding to each box number. The total weight of ten medicines and through Calculate the weight of a single piece.

7. The intelligent inventory system for oral medications based on weight sensing according to claim 1, characterized in that, Supports three working modes: Basic data maintenance mode: used for entering or updating the weight of medicine boxes and the weight of medicines; Basic weighing mode: Used as a regular electronic scale; Inventory mode: Used to count the number of pills in a medicine box or medicine bag.

8. The intelligent inventory system for oral medications based on weight sensing according to claim 7, characterized in that, The basic data maintenance mode includes the following steps: Receive the drug number input by the user; The system automatically resets to zero and prompts you to place an empty medicine box. Preserve the weight of empty medicine boxes ; The instructions state to place ten pills; the total weight of the ten pills should be [not specified]. ; Calculate and store the weight of a single chip .

9. The intelligent inventory system for oral medications based on weight sensing according to claim 7, characterized in that, The inventory counting method includes the following steps: Receive the drug number input by the user; The system automatically resets to zero; The instructions suggest placing the medicine boxes or bags to be inventoried. Read total weight ; Retrieve from storage unit and ; Calculate and display the number of pieces. .

10. The intelligent inventory system for oral medications based on weight sensing according to claim 1, characterized in that, It also supports a medicine bag inventory mode, which calculates the number of pills in a medicine bag using the following formula: ; in, This is the total weight of the medicine bag. The system displays the number of tablets in both "InBox" and "InBag" modes to indicate the weight of a single tablet.