- ఆర్డునో వెయిటింగ్ మెషిన్ వర్కింగ్
- ఆర్డునో బేస్డ్ వెయిటింగ్ మెషిన్ కోసం కాంపోనెంట్స్ అవసరం
- ఆర్డునో బేస్డ్ వెయిటింగ్ మెషిన్ - సర్క్యూట్ రేఖాచిత్రం
- చుక్కల పెర్ఫ్బోర్డ్లో సర్క్యూట్ను తయారు చేయడం
- ఆర్డునో బేస్డ్ వెయిటింగ్ మెషిన్ కోసం ఎన్క్లోజర్ నిర్మించడం
- ఆర్డునో బరువు యంత్రం - కోడ్
డిజిటల్ లోడ్ స్కేల్స్ ఆధునిక ఇంజనీరింగ్ మరియు డిజైన్ యొక్క మరొక అద్భుతం. అవును, మేము చాలా కిరాణా దుకాణాలలో మరియు ఇతర ప్రదేశాలలో తరచుగా చూసే బరువు స్కేల్ గురించి మాట్లాడుతున్నాము, కాని బరువు స్కేల్ ఎలా పనిచేస్తుందో మీరు ఎప్పుడైనా ఆలోచిస్తున్నారా? ఆ ప్రశ్నకు సమాధానం ఇవ్వడానికి, ఈ ప్రాజెక్ట్లో, మేము లోడ్ సెల్ మరియు దాని పనిని పరిశీలించబోతున్నాము. చివరగా, మేము HX711 బరువు సెన్సార్తో పోర్టబుల్ ఆర్డునో-ఆధారిత లోడ్ స్కేల్ను నిర్మిస్తాము, ఇది 10 కిలోల వరకు బరువును కొలవగలదు.
ఈ బరువు యంత్రం స్థానిక దుకాణాలకు ఖచ్చితంగా సరిపోతుంది, ఇక్కడ వారు పెద్ద మొత్తంలో వస్తువులను ప్యాక్ చేస్తారు. వాణిజ్య ఉత్పత్తుల మాదిరిగానే, మా బరువు స్కేల్లో సున్నా బటన్ ఉంటుంది, అది స్కేల్ను సున్నం చేస్తుంది. అలాగే, కొలత కోసం బరువును సెట్ చేయడానికి ఇది ఒక ఎంపికను కలిగి ఉంది, కొలిచే బరువు సెట్ బరువుకు చేరుకున్నప్పుడు, ఒక బజర్ వేగంగా బీప్ అవుతుంది మరియు సెట్ బరువు కొలిచే బరువుకు సమానంగా ఉన్నప్పుడు ఆగిపోతుంది. ఈ విధంగా, వినియోగదారు శబ్దాన్ని వినడం ద్వారా దాన్ని ప్యాక్ చేయవచ్చు మరియు ప్రదర్శనను చూడవలసిన అవసరం లేదు. ఇది చాలా సులభమైన ప్రాజెక్ట్ కాబట్టి, మేము ఆర్డునో మరియు స్ట్రెయిన్ గేజ్ లోడ్ సెల్ వంటి భాగాలను ఉపయోగించి దీన్ని చాలా సులభంగా నిర్మిస్తాము. కాబట్టి, మరింత ఆలస్యం చేయకుండా, దానిలోకి ప్రవేశిద్దాం.
మునుపటి వ్యాసంలో, మేము ప్రముఖ హెచ్ఎక్స్ 711 లోడ్ సెల్ యాంప్లిఫైయర్ మాడ్యూల్ ఉపయోగించి రాస్ప్బెర్రీ పై బేస్డ్ వెయిట్ సెన్సార్ మరియు ఇమెయిల్ అలర్ట్ మరియు వెబ్ మానిటరింగ్ తో ఐయోటి స్మార్ట్ కంటైనర్ వంటి ప్రాజెక్టులను తయారు చేసాము. కాబట్టి, అది మీ అవసరమైతే దాన్ని తనిఖీ చేయండి.
ఆర్డునో వెయిటింగ్ మెషిన్ వర్కింగ్
ఈ ప్రాజెక్ట్ యొక్క ప్రధాన భాగం లోడ్ సెల్ మరియు HX711 లోడ్ సెల్ యాంప్లిఫైయర్ మాడ్యూల్. మీరు గమనిస్తే, ఒక వైపు పది కిలోగ్రాములతో గుర్తించబడింది. అలాగే, లోడ్ కణంపై ఒక విధమైన తెల్లని రక్షణ జిగురును మీరు గమనించవచ్చు మరియు నాలుగు వేర్వేరు రంగుల వైర్లు బయటకు వస్తున్నాయి, తెలుపు రక్షణ జిగురు క్రింద ఉన్న రహస్యాన్ని మరియు ఈ నాలుగు రంగుల వైర్ల పనితీరును తరువాత వ్యాసంలో వెలికితీస్తుంది.
లోడ్ సెల్ అనేది ట్రాన్స్డ్యూసెర్, ఇది శక్తి లేదా ఒత్తిడిని విద్యుత్ ఉత్పత్తిగా మారుస్తుంది. దీనికి రెండు వైపులా ఉంది, కుడి వైపు మరియు ఎడమ వైపు చెప్పండి మరియు ఇది అల్యూమినియం బ్లాకులతో తయారు చేయబడింది. పదార్థం మధ్యలో మీరు చూడగలిగినట్లుగా పెద్ద రంధ్రం పెట్టడం ద్వారా సన్నబడతారు. అందువల్ల మౌంట్ వైపు ఒక లోడ్ ఉంచినప్పుడు వైకల్యానికి గురయ్యే పాయింట్ ఇది. ఇప్పుడు కుడి వైపున ఉన్న సెల్ బేస్కు మౌంట్ చేయబడిందని మరియు ఎడమ వైపు లోడ్ ఉంచబడిందని imagine హించుకోండి, ఈ కాన్ఫిగరేషన్ మధ్యలో ఉన్న పెద్ద రంధ్రం కారణంగా స్ట్రెయిన్ గేజ్ లోడ్ సెల్ ను వైకల్యం చేస్తుంది.
లోడ్ సెల్ యొక్క లోడ్ వైపు ఒక లోడ్ ఉంచినప్పుడు, పై భాగం ఉద్రిక్తతకు గురవుతుంది మరియు దిగువ భాగం కుదింపుకు గురవుతుంది. అందుకే అల్యూమినియం బార్ ఎడమ వైపు కిందికి వంగి ఉంటుంది. మేము ఈ వైకల్యాన్ని కొలిస్తే, అల్యూమినియం బ్లాక్కు వర్తించే శక్తిని మనం కొలవవచ్చు మరియు అదే మేము చేస్తాము.
ఇప్పుడు, ప్రశ్న తెలుపు రక్షణ జిగురు లోపల ఏమి ఉంది? ఈ రక్షిత జిగురు లోపల, స్ట్రెయిన్ గేజ్ అని పిలువబడే చాలా సన్నని సాగే భాగాన్ని మేము కనుగొంటాము. స్ట్రెయిన్ గేజ్ అనేది స్ట్రెయిన్ను కొలవడానికి ఉపయోగించే ఒక భాగం. మేము ఈ భాగాన్ని నిశితంగా పరిశీలిస్తే, మనం రెండు కనెక్షన్ ప్యాడ్లను చూడవచ్చు, ఆపై మనకు పునరావృత విక్షేపణలతో వాహక వైర్ నమూనా ఉంటుంది. ఈ వాహక తీగకు నిర్వచించిన ప్రతిఘటన ఉంది. మేము దానిని వంగినప్పుడు, ప్రతిఘటన విలువ మారుతుందా? కాబట్టి, స్ట్రెయిన్ గేజ్ యొక్క ఒక వైపు మౌంట్ మరియు ఒక ప్రదేశంలో స్థిరంగా ఉంటుంది, మేము అల్యూమినియం బార్ యొక్క మరొక వైపు ఒక బరువును ఉంచితే, ఇది స్ట్రెయిన్ గేజ్ను వంగడానికి బలవంతం చేస్తుంది, ఇది ప్రతిఘటనలో మార్పుకు కారణమవుతుంది. వాస్తవానికి ఇది ఎలా జరుగుతుంది? స్ట్రెయిన్ గేజ్ యొక్క వాహక నమూనా రాగితో తయారు చేయబడింది, ఈ తీగకు ఒక నిర్దిష్ట ప్రాంతం మరియు పొడవు ఉంటుంది, కాబట్టి ఈ రెండు యూనిట్లు వైర్ యొక్క నిరోధకతను ఇస్తాయి. వైర్ యొక్క నిరోధకత ప్రవాహం యొక్క ప్రవాహాన్ని వ్యతిరేకిస్తుంది. ఈ తీగ యొక్క వైశాల్యం చిన్నదైతే,తక్కువ ఎలక్ట్రాన్లు తక్కువ కరెంట్ అని అర్ధం. ఇప్పుడు మేము ప్రాంతాన్ని పెంచుకుంటే, అది కండక్టర్ యొక్క నిరోధకతను పెంచుతుంది. ఈ తీగపై కొంత శక్తి ప్రయోగిస్తే, ఇది ఆ ప్రాంతాన్ని విస్తరించి, అదే సమయంలో చిన్నదిగా ఉంటుంది, ప్రతిఘటన పెరుగుతుంది. కానీ ఈ నిరోధక వైవిధ్యం చాలా తక్కువ. మేము స్ట్రెయిన్ గేజ్ని సాగదీస్తే, నిరోధకత పెరుగుతుంది మరియు మేము దానిని కుదించుకుంటే, ప్రతిఘటన తక్కువగా ఉంటుంది. శక్తిని కొలవడానికి, మేము ప్రతిఘటనను కొలవాలి. ప్రతిఘటనను నేరుగా కొలవడం ఎల్లప్పుడూ ఆచరణాత్మకమైనది కాదు, ఎందుకంటే మార్పు చాలా చిన్నది. కాబట్టి ప్రతిఘటనను కొలిచే బదులు, మనం వోల్టేజ్లను సులభంగా కొలవవచ్చు. కాబట్టి, ఈ సందర్భంలో, మేము గేజ్ అవుట్పుట్ను రెసిస్టెన్స్ విలువల నుండి వోల్టేజ్ విలువలకు మార్చాలి.ఈ తీగపై కొంత శక్తి ప్రయోగిస్తే, ఇది ఆ ప్రాంతాన్ని విస్తరించి, అదే సమయంలో చిన్నదిగా ఉంటుంది, ప్రతిఘటన పెరుగుతుంది. కానీ ఈ నిరోధక వైవిధ్యం చాలా తక్కువ. మేము స్ట్రెయిన్ గేజ్ని సాగదీస్తే, నిరోధకత పెరుగుతుంది మరియు మేము దానిని కుదించుకుంటే, ప్రతిఘటన తక్కువగా ఉంటుంది. శక్తిని కొలవడానికి, మేము ప్రతిఘటనను కొలవాలి. ప్రతిఘటనను నేరుగా కొలవడం ఎల్లప్పుడూ ఆచరణాత్మకమైనది కాదు, ఎందుకంటే మార్పు చాలా చిన్నది. కాబట్టి ప్రతిఘటనను కొలిచే బదులు, మనం వోల్టేజ్లను సులభంగా కొలవవచ్చు. కాబట్టి, ఈ సందర్భంలో, మేము గేజ్ అవుట్పుట్ను రెసిస్టెన్స్ విలువల నుండి వోల్టేజ్ విలువలకు మార్చాలి.ఈ తీగపై కొంత శక్తి ప్రయోగిస్తే, ఇది ఆ ప్రాంతాన్ని విస్తరించి, అదే సమయంలో చిన్నదిగా ఉంటుంది, ప్రతిఘటన పెరుగుతుంది. కానీ ఈ నిరోధక వైవిధ్యం చాలా తక్కువ. మేము స్ట్రెయిన్ గేజ్ని సాగదీస్తే, నిరోధకత పెరుగుతుంది మరియు మేము దానిని కుదించుకుంటే, ప్రతిఘటన తక్కువగా ఉంటుంది. శక్తిని కొలవడానికి, మేము ప్రతిఘటనను కొలవాలి. ప్రతిఘటనను నేరుగా కొలవడం ఎల్లప్పుడూ ఆచరణాత్మకమైనది కాదు, ఎందుకంటే మార్పు చాలా చిన్నది. కాబట్టి ప్రతిఘటనను కొలిచే బదులు, మనం వోల్టేజ్లను సులభంగా కొలవవచ్చు. కాబట్టి, ఈ సందర్భంలో, మేము గేజ్ అవుట్పుట్ను రెసిస్టెన్స్ విలువల నుండి వోల్టేజ్ విలువలకు మార్చాలి.ప్రతిఘటన తక్కువగా ఉంటుంది. శక్తిని కొలవడానికి, మేము ప్రతిఘటనను కొలవాలి. ప్రతిఘటనను నేరుగా కొలవడం ఎల్లప్పుడూ ఆచరణాత్మకమైనది కాదు, ఎందుకంటే మార్పు చాలా చిన్నది. కాబట్టి ప్రతిఘటనను కొలిచే బదులు, మనం వోల్టేజ్లను సులభంగా కొలవవచ్చు. కాబట్టి, ఈ సందర్భంలో, మేము గేజ్ అవుట్పుట్ను రెసిస్టెన్స్ విలువల నుండి వోల్టేజ్ విలువలకు మార్చాలి.ప్రతిఘటన తక్కువగా ఉంటుంది. శక్తిని కొలవడానికి, మేము ప్రతిఘటనను కొలవాలి. ప్రతిఘటనను నేరుగా కొలవడం ఎల్లప్పుడూ ఆచరణాత్మకమైనది కాదు, ఎందుకంటే మార్పు చాలా చిన్నది. కాబట్టి ప్రతిఘటనను కొలిచే బదులు, మనం వోల్టేజ్లను సులభంగా కొలవవచ్చు. కాబట్టి, ఈ సందర్భంలో, మేము గేజ్ అవుట్పుట్ను రెసిస్టెన్స్ విలువల నుండి వోల్టేజ్ విలువలకు మార్చాలి.
వీట్స్టోన్ వంతెన సహాయంతో మేము దీన్ని చేయవచ్చు. వంతెన సమతుల్యతతో ఉంటే మేము స్ట్రెయిన్ గేజ్ను వీట్స్టోన్ వంతెనలో ఉంచుతాము, మధ్య బిందువులోని వోల్టేజ్ సున్నాగా ఉండాలి (ఇంతకుముందు మేము ఒక ప్రాజెక్ట్ను నిర్మించాము, అక్కడ వీట్స్టోన్ వంతెన ఎలా పనిచేస్తుందో వివరించాము, మీరు కావాలనుకుంటే దాన్ని తనిఖీ చేయవచ్చు అంశం గురించి మరింత తెలుసుకోండి). స్ట్రెయిన్ గేజ్ దాని ప్రతిఘటనను మార్చినప్పుడు, అది వంతెనను సమతుల్యం చేస్తుంది మరియు వోల్టేజ్ కూడా మారుతుంది. కాబట్టి, వీట్స్టోన్ వంతెన ప్రతిఘటన వైవిధ్యాలను వోల్టేజ్ విలువలకు మారుస్తుంది.
కానీ ఈ వోల్టేజ్ మార్పు ఇప్పటికీ చాలా చిన్నది, కాబట్టి దానిని పెంచడానికి, మేము HX711 మాడ్యూల్ ఉపయోగించాలి. HX711 అనేది 24-బిట్ డిఫరెన్షియల్ ADC, ఈ విధంగా, మేము చాలా చిన్న వోల్టేజ్ మార్పులను కొలవగలము. ఇది 0 నుండి 2 ఎక్స్పోనెన్షియల్ 24 వరకు విలువలను ఇస్తుంది.
ఆర్డునో బేస్డ్ వెయిటింగ్ మెషిన్ కోసం కాంపోనెంట్స్ అవసరం
ఈ ప్రాజెక్ట్ను సాధ్యమైనంత సరళంగా చేయడానికి, మీరు ఏదైనా స్థానిక అభిరుచి దుకాణంలో కనుగొనగలిగే చాలా సాధారణ భాగాలను ఉపయోగించాము. దిగువ చిత్రం మీకు భాగాల గురించి ఒక ఆలోచన ఇస్తుంది. ఇంకా, మనకు క్రింద జాబితా చేయబడిన మెటీరియల్స్ బిల్లు (BOM) ఉంది.
- సెల్ ని లోడ్ చేయండి (మేము 10 కిలోల లోడ్ సెల్ ఉపయోగిస్తున్నాము)
- HX 711 యాంప్లిఫైయర్ మాడ్యూల్
- ఆర్డునో నానో
- I2C LCD 16X2 - I2C అనుకూలమైనది
- 1 కె రెసిస్టర్ -2 సంఖ్య
- LED లు -2 సంఖ్యలు
- బజర్
- సాధారణ పిసిబి
- 7.4 వి బ్యాటరీ (మీకు పోర్టబుల్ కావాలంటే)
- LM7805 వోల్టేజ్ రెగ్యులేటర్
ఆర్డునో బేస్డ్ వెయిటింగ్ మెషిన్ - సర్క్యూట్ రేఖాచిత్రం
లోడ్ కణంలో ఎరుపు, నలుపు, ఆకుపచ్చ మరియు తెలుపు నాలుగు వైర్లు ఉన్నాయి. తయారీదారుల ప్రకారం ఈ రంగు మారవచ్చు, కాబట్టి డేటాషీట్ను సూచించడం మంచిది. HX711 బోర్డ్ యొక్క E + కు ఎరుపును కనెక్ట్ చేయండి, నలుపును E- కి కనెక్ట్ చేయండి, తెలుపును A + కి కనెక్ట్ చేయండి మరియు ఆకుపచ్చను A-, డౌట్ మరియు బోర్డు యొక్క గడియారం వరుసగా D4 మరియు D5 కి కనెక్ట్ చేయండి. పుష్ బటన్ల యొక్క ఒక చివరను D3, D8, D9 మరియు ఇతర చివరలను భూమికి కనెక్ట్ చేయండి. మాకు I2C LCD ఉంది, కాబట్టి SDA ని A4 కి మరియు SCL ని A5 కి కనెక్ట్ చేయండి. LCD, HX711 మరియు Arduino యొక్క భూమిని భూమికి కనెక్ట్ చేయండి, VCC లను 5Vpin Arduino కి కనెక్ట్ చేయండి. అన్ని గుణకాలు 5V లో పనిచేస్తాయి, కాబట్టి మేము LM7805 వోల్టేజ్ రెగ్యులేటర్ను జోడించాము. మీరు దీన్ని పోర్టబుల్గా కోరుకోకపోతే, మీరు నేరుగా USB కేబుల్ ఉపయోగించి ఆర్డునోకు శక్తినివ్వవచ్చు.
చుక్కల పెర్ఫ్బోర్డ్లో సర్క్యూట్ను తయారు చేయడం
మేము అన్ని భాగాలను సాధారణ చుక్కల పెర్ఫ్బోర్డ్లో కరిగించాము. సర్క్యూట్ బోర్డ్తో ఆర్డునో మరియు ఎడిసిని టంకము వేయడానికి మేము మహిళా శీర్షికలను ఉపయోగించాము, అన్ని పుష్బటన్లు మరియు ఎల్ఇడిలను కనెక్ట్ చేయడానికి వైర్లను కూడా ఉపయోగించాము. అన్ని టంకం ప్రక్రియ పూర్తయిన తర్వాత, LM7805 నుండి సరైన 5V బయటకు వచ్చేలా చూసుకున్నాము. చివరగా, మేము సర్క్యూట్లో / ఆఫ్ శక్తికి మారాము. మనమంతా పూర్తయ్యాక, క్రింద ఉన్న చిత్రం లాగా ఉంది.
ఆర్డునో బేస్డ్ వెయిటింగ్ మెషిన్ కోసం ఎన్క్లోజర్ నిర్మించడం
మీరు గమనిస్తే, లోడ్ సెల్ కొన్ని స్క్రూ థ్రెడ్లను కలిగి ఉంది, కాబట్టి మేము దానిని బేస్ ప్లేట్లో మౌంట్ చేయవచ్చు. మేము మా స్కేల్ యొక్క బేస్ కోసం పివిసి బోర్డ్ను ఉపయోగిస్తాము, దాని కోసం, మేము మొదట పివిసి బోర్డు నుండి 20 * 20 సెం.మీ చదరపు మరియు నాలుగు 20 * 5 దీర్ఘచతురస్రాలను కత్తిరించాము. అప్పుడు హార్డ్ జిగురును ఉపయోగించి, మేము ప్రతి భాగాన్ని అతుక్కొని, ఒక చిన్న ఆవరణను తయారు చేసాము.
గుర్తుంచుకోండి, మేము ఒక వైపు పరిష్కరించలేదు, ఎందుకంటే మేము దానిపై పుష్బటన్లు, LED లు మరియు LCD ని ఉంచాలి. అప్పుడు మేము స్కేల్ పైభాగానికి ప్లాస్టిక్ బోర్డ్ ఉపయోగించాము. ఈ సెటప్ను శాశ్వతంగా చేయడానికి ముందు, మనకు భూమి నుండి లోడ్ సెల్కు తగినంత స్థలం ఉందని నిర్ధారించుకోవాలి, కనుక ఇది వంగగలదు, కాబట్టి మేము లోడ్ సెల్ మరియు బేస్ మధ్య స్క్రూ మరియు గింజలను ఉంచాము, మేము కూడా జోడించాము లోడ్ సెల్ మరియు పై భాగం మధ్య కొన్ని ప్లాస్టిక్ స్పేసర్లు. మేము ఒక రౌండ్ ప్లాస్టిక్ షీట్ను బ్యాలెన్స్ యొక్క అగ్ర స్మార్ట్గా ఉపయోగించాము.
అప్పుడు మేము ముందు ప్యానెల్కు ఎల్సిడి, ఎల్ఇడిలు మరియు పుష్-బటన్లను ఉంచాము మరియు పొడవైన ఇన్సులేట్ వైర్తో అనుసంధానించబడిన ప్రతిదీ. మేము వైరింగ్ ప్రక్రియను పూర్తి చేసిన తరువాత, మేము ముందు ప్యానెల్ను కొంత వంపుతో ప్రధాన స్థావరానికి అంటుకున్నాము, కాబట్టి మేము LCD నుండి విలువలను చాలా సులభంగా చదవగలం. చివరగా, మేము ప్రధాన స్విచ్ను బ్యాలెన్స్ వైపుకు అటాచ్ చేసాము మరియు అంతే. మన బరువు స్కేల్ కోసం శరీరాన్ని ఈ విధంగా తయారు చేసాము .
మీరు మీ ఆలోచనలతో రూపకల్పన చేయవచ్చు కాని చిత్రంలో ఉన్నట్లుగా లోడ్ సెల్ లాంటి వాటిని ఉంచాలని గుర్తుంచుకోండి.
ఆర్డునో బరువు యంత్రం - కోడ్
మేము ఇప్పుడు మా డిజిటల్ స్కేల్ కోసం బిల్డ్ ప్రాసెస్తో పూర్తి చేసినందున, మేము ప్రోగ్రామింగ్ భాగంలోకి వెళ్ళవచ్చు. సులభమైన ప్రోగ్రామింగ్ కోసం, మేము HX711 లైబ్రరీ, EEPROM లైబ్రరీ మరియు లిక్విడ్ క్రిస్టల్ లైబ్రరీని ఉపయోగించబోతున్నాము. మీరు అధికారిక గిట్హబ్ రిపోజిటరీ నుండి హెచ్ఎక్స్ 711 లైబ్రరీని డౌన్లోడ్ చేసుకోవచ్చు, లేదా సాధనాలకు వెళ్లండి > లైబ్రరీని చేర్చండి > లైబ్రరీని నిర్వహించండి , ఆపై లైబ్రరీని డౌన్లోడ్ చేసిన తర్వాత, హెచ్ఎక్స్ 711 కీవర్డ్ ఉపయోగించి లైబ్రరీని శోధించండి , దానిని ఆర్డునో ఐడిలోకి ఇన్స్టాల్ చేయండి.
మొదట, మేము లోడ్ సెల్ ను క్రమాంకనం చేసి, ఆ విలువను EEPROM లో నిల్వ చేయాలి, దాని కోసం, ఫైల్> ఉదాహరణలు> HX 711_ADC కి వెళ్లి, ఆపై అమరిక కోడ్ను ఎంచుకోండి. కోడ్ను అప్లోడ్ చేయడానికి ముందు, బ్యాలెన్స్ను స్థిరమైన విమానం ఉపరితలంపై ఉంచండి. అప్పుడు కోడ్ను ఆర్డునోకు అప్లోడ్ చేసి, సీరియల్ మానిటర్ను తెరవండి. అప్పుడు బాడ్ రేటును 572600 గా మార్చండి. ఇప్పుడు మానిటర్ బరువు తీసుకోవటానికి అడగండి, దాని కోసం మనం t నొక్కండి మరియు ఎంటర్ చేయాలి.
ఇప్పుడు, మనకు తెలిసిన బరువును బ్యాలెన్స్ మీద ఉంచాలి, నా విషయంలో, అది 194 గ్రాములు. తెలిసిన బరువును ఉంచిన తరువాత, సీరియల్ మానిటర్లో బరువును టైప్ చేసి, ఎంటర్ నొక్కండి.
ఇప్పుడు, మీరు EEPROM లో విలువను సేవ్ చేయాలనుకుంటున్నారా లేదా అని సీరియల్ మానిటర్ మిమ్మల్ని అడుగుతుంది, కాబట్టి అవును ఎంచుకోవడానికి Y అని టైప్ చేయండి. ఇప్పుడు మనం సీరియల్ మానిటర్లో బరువును చూడవచ్చు.
ఈ ప్రాజెక్ట్ యొక్క ప్రధాన కోడ్, మేము HX711 లైబ్రరీ యొక్క ఉదాహరణ స్కెచ్ నుండి అభివృద్ధి చేసాము. మీరు ఈ ప్రాజెక్ట్ యొక్క కోడ్ను క్రింద నుండి డౌన్లోడ్ చేసుకోవచ్చు.
కోడింగ్ విభాగంలో, మొదట, మేము మూడు లైబ్రరీలను జోడించాము. HX711 లైబ్రరీ లోడ్ సెల్ విలువలను తీసుకోవడం కోసం. EEPROM అనేది ఆర్డునో ఐడి యొక్క అంతర్నిర్మిత లైబ్రరీ, ఇది EEPROM లో విలువలను నిల్వ చేయడానికి ఉపయోగించబడుతుంది మరియు లిక్విడ్ క్రిస్టల్ లైబ్రరీ l2C LCD మాడ్యూల్ కోసం.
# చేర్చండి
అప్పుడు వేర్వేరు పిన్స్ మరియు కేటాయించిన విలువల కోసం పూర్ణాంకాలను నిర్వచించారు. HX711_ADC లోడ్సెల్ ఫంక్షన్ డౌట్ మరియు క్లాక్ పిన్ని సెట్ చేయడం కోసం.
const int HX711_dout = 4; const int HX711_sck = 5; int tpin = 3; HX711_ADC లోడ్సెల్ (HX711_dout, HX711_sck); const int calVal_eepromAdress = 0; పొడవైన టి; const int Up_buttonPin = 9; const int Down_buttonPin = 8; ఫ్లోట్ బటన్ పుష్కౌంటర్ = 0; ఫ్లోట్ అప్_బటన్ స్టేట్ = 0; ఫ్లోట్ అప్_లాస్ట్బటన్ స్టేట్ = 0; ఫ్లోట్ డౌన్_బటన్ స్టేట్ = 0; ఫ్లోట్ డౌన్_లాస్ట్బటన్ స్టేట్ = 0;
సెటప్ విభాగంలో, మొదట, మేము సీరియల్ మానిటర్ను ప్రారంభించాము, ఇది డీబగ్గింగ్ కోసం మాత్రమే. అప్పుడు మేము పిన్ మోడ్లను నిర్వచించాము, అన్ని పుష్ బటన్లు ఇన్పుట్గా నిర్వచించబడతాయి. Arduino PULL UP ఫంక్షన్ సహాయంతో, మేము పిన్లను సాధారణంగా తార్కిక ఎత్తుకు సెట్ చేస్తాము. కాబట్టి, దాని కోసం బాహ్య రెసిస్టర్లను ఉపయోగించాలనుకోవడం లేదు.
పిన్మోడ్ (టిపిన్, INPUT_PULLUP); పిన్ మోడ్ (6, U ట్పుట్); పిన్ మోడ్ (12, U ట్పుట్); పిన్మోడ్ (అప్_బటన్ పిన్, INPUT_PULLUP); పిన్మోడ్ (డౌన్_బటన్ పిన్, INPUT_PULLUP);
I2C LCD ని సెట్ చేయడానికి ఈ క్రింది కోడ్ పంక్తులు. మొదట, మేము LCD.print () ఫంక్షన్ను ఉపయోగించి స్వాగత వచనాన్ని ప్రదర్శించాము, రెండు సెకన్ల తరువాత, మేము lcd.clear () ఉపయోగించి డిస్ప్లేని క్లియర్ చేసాము . అంటే, ప్రారంభంలో, ప్రదర్శన ARDUINO BALANCE ను స్వాగత వచనంగా చూపిస్తుంది మరియు రెండు సెకన్ల తరువాత, ఇది కొలిచే బరువులను క్లియర్ చేస్తుంది మరియు ప్రదర్శిస్తుంది.
lcd.init (); lcd.backlight (); lcd.setCursor (0, 0); lcd.print ("ARDUINO BALANCE"); lcd.setCursor (0, 1); lcd.print ("కొలుద్దాం"); ఆలస్యం (2000); lcd.clear ();
అప్పుడు లోడ్ సెల్ నుండి విలువలను లోడ్ సెల్.బెగిన్ () ఫంక్షన్ ఉపయోగించి చదవడం ప్రారంభించాము, ఆ తరువాత, క్రమాంకనం చేసిన విలువల కోసం మేము EEPROM ను చదువుతాము, EEPROM.get () ఫంక్షన్ను ఉపయోగించడం ద్వారా మేము దీన్ని చేస్తాము . అంటే, మేము ఇప్పటికే EEPROM చిరునామాలో అమరిక స్కెచ్ ఉపయోగించి విలువను నిల్వ చేసాము, మేము ఆ విలువను తిరిగి తీసుకుంటాము.
లోడ్సెల్.బెగిన్ (); EEPROM.get (calVal_eepromAdress, calibrationValue);
లూప్ విభాగంలో, మొదట, లోడ్ సెల్ నుండి ఏదైనా డేటా LoadCell.update () ను ఉపయోగించి అందుబాటులో ఉందో లేదో తనిఖీ చేస్తాము , అందుబాటులో ఉంటే, మేము ఆ డేటాను చదివి నిల్వ చేస్తాము, దాని కోసం, మేము LoadCell.getData () ను ఉపయోగిస్తున్నాము . తరువాత, మేము నిల్వ చేసిన విలువను LCD లో ప్రదర్శించాలి. అలా చేయడానికి, మేము LCD.print () ఫంక్షన్ను ఉపయోగించాము. కూడా, మేము సెట్ బరువును ప్రింట్ చేస్తాము. సెట్ బరువు పుష్బటన్ కౌంటర్ సహాయంతో అమర్చుతోంది. అది చివరి విభాగంలో వివరించబడింది.
if (LoadCell.update ()) newDataReady = true; if (newDataReady) { if (milis ()> t + serialPrintInterval) { float i = LoadCell.getData (); lcd.setCursor (0, 0); lcd.print ("సెట్ వీ:"); lcd.setCursor (9, 0); lcd.print (buttonPushCounter); lcd.setCursor (14, 0); lcd.print ("GM"); lcd.setCursor (0, 1); lcd.print ("బరువు:"); lcd.setCursor (9, 1); lcd.print (i); lcd.setCursor (14, 1); lcd.print ("GM");
తరువాత, మేము టారే విలువను సెట్ చేసాము, దాని కోసం, మొదట, డిజిటల్ రీడ్ () ఫంక్షన్ను ఉపయోగించి టారే పుష్బటన్ యొక్క స్థితిని చదువుతాము, రాష్ట్రం తక్కువగా ఉంటే, మేము ఆ బరువును సున్నాకి చల్లుతాము . ఈ బరువు స్కేల్ యొక్క టారే ఫంక్షన్ రీడింగులను సున్నాకి తీసుకురావడం. ఉదాహరణకు, మన దగ్గర ఒక గిన్నె ఉంటే, వాటిలో విషయాలు లోడ్ అవుతాయి, అప్పుడు నికర బరువు గిన్నె యొక్క బరువు + వస్తువుల బరువు. వస్తువులను లోడ్ చేసే ముందు లోడ్ సెల్పై గిన్నెతో ఉన్న టారే బటన్ను నొక్కితే, బుట్ట యొక్క బరువు తిరస్కరించబడుతుంది మరియు మనం ఒంటరిగా వస్తువుల బరువును కొలవవచ్చు.
if (DigitalRead (tpin) == LOW) { LoadCell.tareNoDelay ();
ఇప్పుడు, బజర్ యొక్క ఆలస్యం మరియు దారితీసిన స్థితిని సెట్ చేయడం వంటి విభిన్న సూచనల కోసం మేము షరతులను సెట్ చేయాలి. మేము ఉపయోగించి చేసినవి ఉంటే పరిస్థితులు, మేము మూడు పరిస్థితులు మొత్తం కలిగి. మొదట, మేము సెట్ బరువు మరియు కొలిచే బరువు మధ్య వ్యత్యాసాన్ని లెక్కిస్తాము, తరువాత ఆ విలువను వేరియబుల్ k లో నిల్వ చేస్తాము.
ఫ్లోట్ k = buttonPushCounter-i;
1. సెట్ బరువు మరియు కొలిచే బరువు మధ్య వ్యత్యాసం 50 గ్రాముల కంటే ఎక్కువ లేదా సమానంగా ఉంటే, బజర్ 200 మిల్లీసెకన్ల ఆలస్యం (నెమ్మదిగా) తో బీప్ అవుతుంది.
if (k> = 50) { DigitalWrite (6, HIGH); ఆలస్యం (200); డిజిటల్ రైట్ (6, తక్కువ); ఆలస్యం (200); }
2. సెట్ బరువు మరియు కొలిచే బరువు మధ్య వ్యత్యాసం 50 కన్నా తక్కువ మరియు 1 గ్రాము కంటే ఎక్కువ ఉంటే, బజర్ 50 మిల్లీసెకన్ల ఆలస్యం (వేగంగా) తో బీప్ అవుతుంది.
if (k <50 && k> 1) { DigitalWrite (6, HIGH); ఆలస్యం (50); డిజిటల్ రైట్ (6, తక్కువ); ఆలస్యం (50); }
3. కొలిచే బరువు సమానం లేదా సెట్ విలువ కంటే ఎక్కువ అయినప్పుడు, ఇది గ్రీన్ లీడ్ మరియు బజర్ మరియు రెడ్ లీడ్ ఆఫ్ అవుతుంది.
if (i> = buttonPushCounter) { DigitalWrite (6, LOW); డిజిటల్ రైట్ (12, హై); }
సెట్ బరువును సెట్ చేయడానికి (బటన్ ప్రెస్ను లెక్కించడానికి) మాకు మరో రెండు శూన్య ఫంక్షన్లు ఉన్నాయి.
ప్రతి ప్రెస్కు సెట్ విలువను 10 గ్రాముల మేర పెంచే ఫంక్షన్. పిన్ తక్కువగా ఉంటే అర్దునో యొక్క డిజిటల్ రీడ్ ఫంక్షన్ను ఉపయోగించడం ద్వారా ఇది జరుగుతుంది, అంటే బటన్ నొక్కినప్పుడు మరియు విలువను 10 గ్రాముల మేర పెంచుతుంది.
up_buttonState = డిజిటల్ రీడ్ (Up_buttonPin); if (up_buttonState! = up_lastButtonState) { if (up_buttonState == LOW) { bPress = true; buttonPushCounter = buttonPushCounter + 10; }
అదేవిధంగా, ప్రతి ప్రెస్కు సెట్ విలువను 10 గ్రాముల వరకు తగ్గించడం చెక్డౌన్.
down_buttonState = డిజిటల్ రీడ్ (డౌన్_బటన్ పిన్); if (down_buttonState! = down_lastButtonState) { if (down_buttonState == LOW) { bPress = true; buttonPushCounter = buttonPushCounter - 10; }
ఇది ప్రోగ్రామింగ్ భాగం ముగింపును సూచిస్తుంది.
ఈ ఆర్డునో ఆధారిత ఎలక్ట్రానిక్ స్కేల్ 10 కిలోల వరకు బరువును కొలవడానికి సరైనది (అధిక రేటెడ్ లోడ్సెల్ ఉపయోగించి మేము ఈ పరిమితిని పెంచవచ్చు). అసలు కొలతలకు ఇది 99% ఖచ్చితమైనది.
ఈ ఆర్డునో ఆధారిత ఎల్సిడి వెయిట్ బ్యాలెన్స్ మెషిన్ సర్క్యూట్కు సంబంధించి మీకు ఏవైనా ప్రశ్నలు ఉంటే, దయచేసి దీన్ని వ్యాఖ్య విభాగంలో పోస్ట్ చేయండి, ధన్యవాదాలు!