- Потребне компоненте за изградњу Ардуино ваге:
- Теретна ћелија и модул сензора тежине ХКС711:
- Објашњење кола:
- Објашњење:
- Ардуино вага код:
Данас ћемо направити Ардуино вигхт машину, повезивањем мерне ћелије и сензора тежине ХКС711 са Ардуином. Видели смо машине за дизање тегова у многим продавницама, где машина приказује тежину стављањем предмета на платформу за вагање. Дакле, овде правимо исту машину за вагање помоћу Ардуино и Лоад ћелија, капацитета до 40 кг. Ово ограничење се може додатно повећати коришћењем мерне ћелије већег капацитета.
Главна компонента потребна за изградњу ове Ардуино ваге је сензор који може претворити тежину у еквивалентан електрични сигнал. Овај сензор назива се мерном ћелијом, па ћемо у овом пројекту користити ову мерну ћелију као Ардуино сензор тежине. Такође смо користили исту мерну ћелију у неколико других пројеката, као што су, на пример, преносна машина за вагање малопродаје Ардуино, вага Распберри пи итд., Ако их желите, можете их и проверити.
Потребне компоненте за изградњу Ардуино ваге:
- Ардуино Уно
- Теретна ћелија (40кг)
- ХКС711 Модул појачавача ћелије оптерећења
- ЛЦД 16к2
- Повезивање жица
- УСБ кабл
- Бреадбоард
- Матице, рам и постоље
Теретна ћелија и модул сензора тежине ХКС711:
Мерна ћелија је претварач који трансформише силу или притисак у електрични излаз. Величина овог електричног излаза је директно пропорционална сили која се примењује. Мерне ћелије имају мерач напрезања, који се деформише када се на њега врши притисак. А онда деформациони сензор генерише електрични сигнал о деформацији како се његов ефективни отпор мења при деформацији. Мерна ћелија се обично састоји од четири мерача напона у конфигурацији Вхеатстоне моста. Теретна ћелија долази у разним опсезима попут 5 кг, 10 кг, 100 кг и више, овде смо користили мерну ћелију која може тежити и до 40 кг.
Сада су електрични сигнали генерисани у мерној ћелији у неколико миливолти, тако да их треба појачати неким појачалом и отуда ХКС711 сензор за вагање долази у слику. ХКС711 модул сензора за вагање има чип ХКС711, који је 24 високо прецизни А / Д претварач (аналогни у дигитални претварач). ХКС711 има два аналогна улазна канала и програмирањем ових канала можемо добити до 128. Дакле, модул ХКС711 појачава ниску електричну излазну снагу мерних ћелија, а затим се овај појачани и дигитално конвертовани сигнал уноси у Ардуино да би се извукла тежина.
Мерна ћелија је повезана са појачалом ХКС711 мерне ћелије помоћу четири жице. Ове четири жице су црвена, црна, бела и зелена / плава. Могуће су мале разлике у бојама жица од модула до модула. Испод детаља везе и дијаграма:
- ЦРВЕНА Жица је повезана на Е +
- ЦРНА Жица је повезана на Е-
- БЕЛА Жица је повезана са А-
- ЗЕЛЕНА Жица је повезана на А +
Причвршћивање мерне ћелије помоћу платформе и основе:
Овај корак није обавезан и можете директно ставити тегове на теретну ћелију без платформе и можете је једноставно стегнути без причвршћивања на било коју подлогу, али боље је причврстити платформу за стављање великих ствари на њу и причврстити је на подножју тако да мирује. Дакле, овде морамо направити оквир или платформу за постављање ствари за мерење тежине. Основа је такође потребна да се помоћу ње навртке и вијци фиксирају мерну ћелију преко ње. Овде смо користили тврди картон за оквир за постављање ствари преко њега и дрвену даску као подлогу. Сада направите везе како је приказано на схеми кола и спремни сте за полазак.
Објашњење кола:
Везе за овај пројекат су једноставне, а шема је дата у наставку. ЛЦД пинови од 16к2 РС, ЕН, д4, д5, д6 и д7 повезани су пин бројевима 8, 9, 10, 11, 12 и 13 Ардуина. ДТ и СЦК пинови модула ХКС711 директно су повезани са Ардуиновим пиновима А0 и А1. Везе ћелија оптерећења са модулом ХКС711 су већ раније објашњене и такође су приказане на доњем дијаграму кола.
Објашњење:
Принцип рада овог Ардуино пројекта мерења тежине је лак. Пре него што улазимо у детаље, прво морамо да калибришемо овај систем за мерење тачне тежине. Када га корисник укључи, систем ће аутоматски започети калибрацију. А ако корисник жели да га калибрише ручно, притисните тастер. За потребе калибрације креирали смо функцију воид цалибрате () , погледајте доњи код.
За калибрацију, сачекајте ЛЦД индикацију за стављање 100 грама преко мерне ћелије, како је приказано на доњој слици. Када се на ЛЦД-у прикаже „ставите 100г“ , ставите тежину од 100г преко мерне ћелије и сачекајте. Након неколико секунди поступак калибрације ће бити завршен. Након калибрације корисник може ставити било коју тежину (максимално 40 кг) преко мерне ћелије и може добити вредност преко ЛЦД-а у грамима.
У овом пројекту користили смо Ардуино за контролу целог процеса. Мерна ћелија осећа тежину и напаја аналогни електрични напон модулу појачала оптерећења ХКС711. ХКС711 је 24-битни АДЦ, који појачава и дигитално претвара излаз у ћелији оптерећења. Тада се ова појачана вредност доводи у Ардуино. Сада Ардуино израчунава излаз ХКС711 и претвара га у вредности тежине у грамима и приказује на ЛЦД-у. Тастер се користи за калибрацију система. Написали смо програм Ардуино за читав процес, проверите код и демо видео на крају овог водича.
Ардуино вага код:
Програмски део овог пројекта је мало сложен за почетнике. У овом пројекту нисмо користили ниједну библиотеку за повезивање сензора оптерећења ХКС711 са Ардуином. Управо смо пратили технички лист ХКС711 и напомене о апликацији. Иако су у ту сврху присутне неке библиотеке, где само треба да укључите ту библиотеку, а тежину можете добити помоћу једног ретка кода.
Пре свега, укључили смо датотеку заглавља за ЛЦД и дефинисали пинове за исти. А такође и за тастере. Затим су декларисане неке променљиве ради прорачуна.
#инцлуде
Након ње креирали смо доњу функцију за читање података са модула ХКС711 и вратили његов излаз.
унсигнед лонг реадЦоунт (воид) {унсигнед лонг Цоунт; непотписани цхар и; пинМоде (ДТ, ИЗЛАЗ); дигиталВрите (ДТ, ХИГХ); дигиталВрите (СЦК, ЛОВ); Цоунт = 0; пинМоде (ДТ, ИНПУТ); вхиле (дигиталРеад (ДТ)); за (и = 0; и <24; и ++) {дигиталВрите (СЦК, ХИГХ); Цоунт = Цоунт << 1; дигиталВрите (СЦК, ЛОВ); иф (дигиталРеад (ДТ)) Цоунт ++; } дигиталВрите (СЦК, ХИГХ); Цоунт = Цоунт ^ 0к800000; дигиталВрите (СЦК, ЛОВ); повратак (Цоунт); }
Након њега иницијализирали смо ЛЦД и давали упутства за улазне и излазне пинове у воид сетуп ().
воид сетуп () {Сериал.бегин (9600); пинМоде (СЦК, ИЗЛАЗ); пинМоде (св, ИНПУТ_ПУЛЛУП); лцд.бегин (16, 2); лцд.принт ("Тежина"); лцд.сетЦурсор (0,1); лцд.принт („Мерење“); кашњење (1000); лцд.цлеар (); цалибрате (); }
Следећа функција воид лооп () , прочитали смо податке са модула ХКС711 и претворили те податке у тежину (граме) и послали их на ЛЦД.
воид лооп () {цоунт = реадЦоунт (); инт в = (((цоунт-сампле) / вал) -2 * ((цоунт-сампле) / вал)); Сериал.принт ("тежина:"); Сериал.принт ((инт) в); Сериал.принтлн ("г"); лцд.сетЦурсор (0,0); лцд.принт ("Тежина"); лцд.сетЦурсор (0,1); лцд.принт (в); лцд.принт ("г"); иф (дигиталРеад (св) == 0) {вал = 0; узорак = 0; в = 0; цоунт = 0; цалибрате (); }}
Пре овога, створили смо функцију калибрације у којој смо калибрисали систем постављањем тежине од 100гм преко теретне ћелије.
воид цалибрате () {лцд.цлеар (); лцд.принт ("Калибрација…"); лцд.сетЦурсор (0,1); лцд.принт ("Молимо сачекајте…"); фор (инт и = 0; и <100; и ++) {цоунт = реадЦоунт (); узорак + = број; Сериал.принтлн (цоунт); }……………….
Дакле, овде смо научили основно повезивање мерне ћелије и сензора тежине ХКС11 са Ардуином за мерење тежине. У нашим текстуалним водичима креираћемо неке апликације засноване на мерењу тежине, као што су Смарт контејнер, Аутоматска капија итд.