У овом упутству ћемо дизајнирати систем за мерење барометарског притиска користећи БМП180 и АРДУИНО. Пре свега за повезивање БМП180 са АРДУИНО, морамо да преузмемо библиотеку посебно дизајнирану за БМП180. Ова библиотека је доступна на: хттпс: //гитхуб.цом/адафруит/Адафруит-БМП085-Либрари Након причвршћивања те библиотеке, можемо позвати посебне функције које ће олакшати рад са БМП180 сензором.
Компоненте потребне
Хардвер: Ардуино уно плоча, прикључне игле, отпорник 220Ω, БМП180 барометарски сензор притиска, ЛЦД 16к2, плоча за хлеб.
Софтвер: Ардуино сваке ноћи
Кружни дијаграм и радно објашњење
Након позива за заглавље не треба да бринемо због успостављања комуникације између Ардуино Уно и БМП180 сензора. Једноставно можемо позвати посебне функције које ће то учинити за нас. Потребно је само да иницијализујемо ЛЦД и на њему прикажемо позване вредности из СЕНСОР-а.
На ЛЦД екрану од 16к2 има 16 пинова ако постоји позадинско светло, а ако нема позадинског светла, биће укупно 14 пинова. Може се напајати или оставити игле задњег светла. Сада у 14 пинова постоји 8 пинова за податке (7-14 или Д0-Д7), 2 пина за напајање (1 и 2 или ВСС & ВДД или ГНД & + 5в), трећи пин за контролу контраста (ВЕЕ - контролише колико дебели знакови треба да буду приказано) и 3 контролна пина (РС & РВ & Е).
У колу можете приметити да сам узео само два контролна пина, контрастни бит и РЕАД / ВРИТЕ се не користе често, тако да могу бити кратко спојени на масу. Ово ЛЦД поставља у највећи контраст и режим читања. Само треба да контролишемо ЕНАБЛЕ и РС пинове да би у складу са тим слали знакове и податке.
Конекције које се раде за ЛЦД дате су у наставку:
ПИН1 или ВСС на масу
ПИН2 или ВДД или ВЦЦ до + 5в снаге
ПИН3 или ВЕЕ на земљу (даје максимални контраст најбољи за почетнике)
ПИН4 или РС (регистрацијски избор) до ПИН8 АРДУИНО УНО
ПИН5 или РВ (читање / писање) на масу (ставља ЛЦД у режим читања олакшава комуникацију за корисника)
ПИН6 или Е (Омогући) доПИН9 од АРДУИНО УНО
ПИН11 или Д4 до ПИН10 АРДУИНО УНО
ПИН12 или Д5 до ПИН11 АРДУИНО УНО
ПИН13 или Д6 до ПИН12 од АРДУИНО УНО
ПИН14 или Д7 до ПИН13 АРДУИНО УНО
АРДУИНО ИДЕ омогућава кориснику да користи ЛЦД у 4-битном режиму. Ова врста комуникације омогућава кориснику да смањи употребу пин-а на АРДУИНО, за разлику од других АРДУИНО не мора бити програмиран одвојено за употребу у 4 ит режиму, јер је по подразумеваној вредности АРДУИНО подешен за комуникацију у 4 битном режиму. У кругу можете видети да смо користили 4-битну комуникацију (Д4-Д7).
Дакле, из пуког посматрања из горње табеле повезујемо 6 пинова ЛЦД-а на контролер у којем су 4 пина податковни пинови и 2 пина за контролу.
За повезивање БМП180 са Ардуино Уно морамо урадити следеће:
|
Прво треба да позовемо датотеку заглавља за омогућавање посебних функција „#инцлуде“.
Овом датотеком заглавља можемо позвати функције које могу директно очитати вредности са сензора без икаквих нејасноћа.
Сада морамо да омогућимо Ц комуникацију, то се постиже позивом „#инцлуде
Притисак можемо очитати позивањем „Стринг ПРЕССУРЕВАЛУЕ = Стринг (бмп.реадПрессуре ());“. Овде ће се вредност притиска очитати са сензора и чува се у низу „ПРЕССУРЕВАЛУЕ“.
Темпаратуру можемо читати позивањем „Стринг ТЕМПАРАТУРЕВАЛУЕ = Стринг (бмп.реадТемпературе ());“. Овде ће се вредност притиска очитати са сензора и чува се у низу „ТЕМПАРАТУРЕВАЛУЕ“.
Прво морамо да омогућимо датотеку заглавља ('#инцлуде
Друго, морамо да кажемо плочи коју врсту ЛЦД-а овде користимо. С обзиром да имамо толико различитих врста ЛЦД-а (попут 20 * 4, 16 * 2, 16 * 1 итд.). Овде ћемо повезати ЛЦД са 16 * 2 са УНО-ом, па ћемо добити 'лцд.бегин (16,2);'. За 16 * 1 добијамо 'лцд.бегин (16,1);'.
У овом упутству ћемо рећи плочи где смо спојили пинове. Пинови који су повезани треба да буду представљени по реду као „РС, Ен, Д4, Д5, Д6, Д7“. Ове чиоде треба правилно представити. Будући да смо РС повезали на ПИН0 и тако даље, као што је приказано на дијаграму кола, представљамо пин број на плочу као „ЛикуидЦристаллцд (0,1,8,9,10,11);“.
Након што горе остаје само слање података, подаци који треба да се прикажу на ЛЦД-у требају бити записани као „цд.принт („ здраво, свет! “);“. Овом командом ЛЦД приказује „здраво, свет!“.
Као што видите, не треба да бринемо ни због чега другог, само треба да се иницијализујемо и УНО ће бити спреман за приказ података. Не морамо овде писати програмску петљу да бисмо овде слали податке по бајт. Након очитавања вредности са сензора, приказаћемо их на ЛЦД-у димензија 16к2.