Най-простият барометричния алтиметър, на базата на Ардуино

Поздрави колеги!
защото зимни условия по принцип не се лети, а след това има много свободно време, което не е лошо нещо, за да се занимава с нещо, което да мозъка от изсушаване от безделието. Аз наскоро реши да се учи предмет на ожесточена holivarov и разгорещен дебат, а именно: ATmega328 микроконтролера в изпълнението на Ардуино.
Силно ви попитам за най-Arduino, дебати не са доволни за всичките му плюсове и минуси и така в информационната мрежа в насипно състояние.
Така че, като се има предвид спецификата на обекта, за "умен дом", за да кажа, мисля, че не е съвсем в темата, така че на базата на Ардуино ще изгради барометричен алтиметър с трицифрен седем сегментен светодиоден дисплей.

Най-простият барометричния алтиметър, на базата на Ардуино

Още?

Основното предимство на това устройство - неговата цена. Дори в настоящия живот и валутния курс може да се отговори на 350R. че като цяло, а не пари. Просто изисква директни ръце и умения с поялник.

Функции:
- Измерване на ток височина и изхода на LED дисплея.
- Спомняйки си за максимална височина, която се проведе от власт.
- Заключение максимална височина на дисплея чрез натискане на бутон.
- Запишете максималната височина на контролера енергонезависима памет (EEPROM) (задържана след изключване на захранването).
- Четене на съхраняваните максималната височина от EEPROM и я показва на дисплея.

Нулевата точка на референтната приет от височината, на която устройството е включено захранването.

Какво е необходимо, (в скоби ключови думи за търсене на всякакви ebayah и т.н.)
- Arduino микроконтролер по принцип почти всеки подходящ случай daptirovat код, но събиране и проверка на всички въз основа на (Arduino Nano).

Най-простият барометричния алтиметър, на базата на Ардуино

- барометрично височина сензор с I2C автобус (BMP085).
Най-простият барометричния алтиметър, на базата на Ардуино

- трицифрен седем сегментен светодиоден дисплей с общ анод (7-сегментен светодиоден дисплей).
Най-простият барометричния алтиметър, на базата на Ардуино

- кабели за всичко се свързват в едно цяло, аз готов монтаж, но не е необходимо (Dupont тел).
Най-простият барометричния алтиметър, на базата на Ардуино

- бутон отговарят на всеки моментно положение (тактов превключвател Бутон). Например така:
Най-простият барометричния алтиметър, на базата на Ардуино

- резистор от 1k да 10k.
- три 100 ома резистор.
- запояване с цялата gobulyami и възможността да го използвате.
- Arduino Software.

по избор:
- прототипи борда за показване запояване.

За тези, които не са в темата. Преди да се опитате да се съберат на устройството и да се разбере кода силно препоръчвам посещение и проверка на няколко ресурси:
Въведение в един прост пример.
Как да се свържете дисплея на седем сегмента с примери.
Описание на сензора, примери, библиотеки.
не отнема много време, разбиране ще добави много =)

Първо, малко за дисплея.
Седем сегмент LED дисплей с общ анод е точно такъв монтаж на светодиодите (в изображението, кръг в червено):

Най-простият барометричния алтиметър, на базата на Ардуино

Ако погледнем по-отблизо в класацията, става ясно, че тя може едновременно да осветява само един от бита, т.е. за показване на трицифрено число, трябва да включите светлината и гасят всяка цифра, а да го направи много бързо. Поради това, цифрите, така или иначе ще мигат, толкова дълго, колкото е трептене доста често и не се възприема от окото като трептене. Това означава, че ще работи за Arduino включително и като контролер на дисплея, в сила чертаете линия на фигурата е броят е равна на текущата надморска височина.
Просто си направите резервация, можете да си купите готов разтвор с вграден контролер, но струва 5 пъти по-скъпо, а и не са се сблъсквали с подходяща реализация на търсенето, тъй като като това е 3-битов, и в продажбата на повече от 4-малко.
Между другото, при положение, че трицифрения дисплея, максималната височина, на която той е в състояние да покаже = 999метра. По принцип, устройството може лесно да бъде адаптиран към 4-цифрен дисплей, но в същото време програмата ще трябва да бъде променен леко. Кой ще разбере кода на 3 цифри, които лесно могат да го адаптират за 4.
В резултат на това, независимо от проблемите, покрито с този най-блестящ, успя да повече или по-малко приятни резултати, вижте по-долу, тъй като възникват проблеми, защото на датчика за височина.
Повече информация за сензора.
Атмосферно сензор, т.е. определя промяната на височината на промяната на атмосферното налягане. В действителност, сензорът измерва само атмосферно налягане, пресмятане на височината, като функция на налягането е правил за библиотеката за кода на сензора. Където сензора има вграден ADC и I2C интерфейс, т.е. извежда измерената стойност е вече в цифров вид, което със сигурност е плюс. За да работите с датчика има готов bibliotka. Аз го използва първата версия, то е по-малко ресурси, като и по-лесно, вграден в кода. Функционално библиотека ви позволява да настроите точността на измерванията по десетобалната система 0 - най-ниска детайлност, до 3 - (. Виж код) най-висока точност. Въпреки, че трябва да бъда честен не съм забелязал специалната разликата между нивата е по-голяма от 0. грешка в измерването е около 1 метър, като цяло, е съвсем приемливо. Резултатът от измерването - тази надморска височина при нормално атмосферно налягане. Но това е доста интересно. От друга страна, като се използва Arduino и проста математическа операция е лесно да се изчисли относителната височина, което е било направено.
Но не и без муха в мехлема: Изследването на сензора се използва стандартен функция е доста дълъг период от време, както и предвид факта, че контролерът Arduino, а дори и дисплей седем сегмент, се оказа доста забавни специални ефекти, т.е. по време на разпит на изхода на сензора до дисплея се спря и следователно фигурата, който се показва в момента изгаря малко по-дълго, отколкото други. Резултатът е този тип венец от три елемента.
В крайна сметка си играе с закъснения и избор на най-добрия период на сензора за изследване в състояние да постигне почти пълна липса на трептене. Особено, защото във всеки сензор разпит цикъл на програмата не се нуждаят от височина все още се промени с ограничена скорост. Но първо melteshenie категория заради грешки и прекалено честото анкети сензор не изглежда хубаво.
По принцип, ако имах умението рязко, може да пренапише библиотеката на сензора, но все още не е готова. И в такова изпълнение, тя е тяхната функция носи, останалата част от текста на песента.
Данните за мощността се прехвърля да прекъсва трептене елиминиран, скицата се актуализира.
В това кратко отклонение на елементите на устройството и може би финишира събранието.

Шофиране устройство свързване на елементи (кликване):

Най-простият барометричния алтиметър, на базата на Ардуино

В очакване на въпроси на серия от "какво нормалния режим не може да се направи?!" Бих казал, че би, но за непосветените, възможност за избор на безопасно състояние мисля, че ще бъде по-лесно да се разбере, и посветен на всички едно и също, и така се чете схема е нормално. Pinout semisegmentnika намери само четирицифрен версия, трицифрения версия е различна банална липса шеста крак.

Най-простият барометричния алтиметър, на базата на Ардуино

Касети, които доставят устройства: Arduino непокътнат нормално състояние да оцелеят от 7В 16Б, в краен случай, от 6V до 20V. Но като се има предвид, че имах един китайски клонинг, подъл експерименти не се обзаложите, но батерията LiPo 3S работи без проблеми.
опаковката на сензора е желателно, така че въздухът е имал свободен достъп, но се предотврати преки въздушни течения духат дупки в сензора, например, да я покрие porollonom.
С платката Препоръчвам премахване светодиоди RX и TX, като те са включени parallellno 0 и 1 цифров изход, поради което сегментите, свързани с тези терминали ще светлина с по-малко яркост.

Интерфейсът:
Така че това, че целият интерфейс - с един бутон и три знака. Опишете все още се нуждаят =)
Ако натиснете и задържите бутона, дисплеят показва максималната височина, отбелязана от захранването.
Ако продължите да задържите бутона за 2 секунди, на дисплея ще се покаже височината записва в EEPROM.
Ако продължите да задържите бутона за 4 секунди, максималната височина и буквата "S" мига на дисплея ще се записват в EEPROM, която всъщност е номер "5" =)
След това задръжте бутона няма смисъл, може да се пусне.
Отрицателен ръст не се показва, тъй като минус изготви никъде, така че в този случай на дисплея се показва трите букви "L".
Скица актуализира. Отрицателен ръст се извежда на първите два бита, т.е. минималната стойност на -99.
Ако височината е по-голяма от 999 метра, на дисплея се показва три хоризонтални линии. Устройството ще продължи да функционира. Но трябва да имаме предвид, че когато се опитват да въвеждат максималната височина от придобитото ключа, ние получаваме същите баровете на дисплея.
E пререже едно нещо: не е рекорд в байт EEPROM, тоест в една клетка може да се запише брой е не по-голяма от 255. От една страна, че е възможно да се реализира разделението в байтове, пише байта, и четете, за да залепите обратно. От друга страна, имайки предвид, че максималната стойност на 999, е по-лесно, колкото си мислех, преди записа да се раздели на височината на стойност до 4, и при четене на записаните умножава по 4 преди показването на дисплея. Накратко, с максимална височина сензор грешка след писмено \ четене от EEPROM може да е в рамките на пет метра, което намерих приемлив.
Скица на актуализация реализира байт-сериен влизане, така че височината се записва като това е и възстановява от паметта е същата.

Смятам да използвате устройството на училище провеждани изпитвания за FPV pepelats на която да се определят OSD жаба задушаването на, и това нещо е напълно възможно да се постави в полезрението на камерата. На теория, в една и съща единица може да бъде вградена в сензора на напрежението на батерията и включете на изхода за показване на една или друга параметъра с помощта на RU канал, но не е имало притеснява, както и за това имам отделен волтметър.

Някои снимки:
Осите са запоени, не всички, а само тези, които ще бъдат използвани. В този случай, като се използва наведе и да ги поставят от двете страни на дъската.

Най-простият барометричния алтиметър, на базата на Ардуино
Най-простият барометричния алтиметър, на базата на Ардуино

Дисплеят е спойка на maketke, аз не обичам да отрови на борда, и мързелив =)
Най-простият барометричния алтиметър, на базата на Ардуино
Най-простият барометричния алтиметър, на базата на Ардуино

Когато свържете дисплея да не забравяме за ограничаване на текущата резистори!

Събрах всички юфка в купчина.

Най-простият барометричния алтиметър, на базата на Ардуино
Най-простият барометричния алтиметър, на базата на Ардуино

Аз опаковани.
Най-простият барометричния алтиметър, на базата на Ардуино

Общ изглед.
Най-простият барометричния алтиметър, на базата на Ардуино

Що се отнася до изпълнението на проект: правя при конкретното приложение, и в моя случай, тези клъстери юфка оправдани, защото е по-удобно да се проведе pepelats работа.
Ако го направите като едно устройство и не е необходимо да се сложи на дисплея в областта на камерата, а след това може да се опакова във всеки случай с минимален брой кабели стърчат, най-важното е да не се затваря корпуса е запечатана.

тегло събрание около 20 грам.

Проверка устройство езда асансьора до 12 етажа, той показва доста адекватно.

Това е всичко. Благодаря ви за вниманието! За пореден път, високо ниво на критика, отзиви и предложения са добре дошли!

предишния ми пост:

Коментарите се зареждат. Моля, изчакайте.

Благодаря ви Юджийн за проекта, искам да се събират, за да се такова алтиметър. започнаха компоненти Iskaliev попаднали BMP280 сензор (което е почти два пъти по-евтино и по stabalnee другарите си), govoryad под него е необходимо да се пренапише скицата. Тъй като аз все още съм нов в този бизнес, мога само да повторя готовия проект. Исках да ви попитам, може ли да помогне?

Най-простият барометричния алтиметър, на базата на Ардуино

Нуждаете се от скица за дисплея, в съчетание с скица на сензора, тъй като височината на дисплея на портовете за IR ком
дисплея не работи. Освен подкани да свърже паметта с височините на картиране.
Искам да настроите висотомера на планера на модела. Крилото се лети, но аз исках да знам височината
той достига
искрено

Най-простият барометричния алтиметър, на базата на Ардуино

Това означава, че можете да ми предложи една скица, за да пиша?
Заключение относно Comporta трябва да има никакъв ефект върху дисплея на информацията. Моят скица в този план работи добре.
За да се запамети максималната височина на паметта не е необходимо да бъде свързана с показването на същата височина, е необходимо да се работи с показанията на сензора. В енергонезависима памет пиша е на стойност максималните сензорни показания за всички времена на устройството, сравняването им с тока.
Съдейки по въпросите, препоръчвам ви първо да направи заключение за информационен дисплей статична. Ако този проблем не се поставя - да се движи по-нататък в посока на динамичния изход.

Уважаеми Юджийн опита да повтори си висотомер, но се затруднявате да свържете дисплея и паметта.
Аз работя с BMP сензор 180 мониторът показва правилната височина, аз питам за да осигури възможности
помогне информация за скицата.
искрено

Най-простият барометричния алтиметър, на базата на Ардуино

Тесен, че трудността?

Disppley - тя е красива, но на фигура не е нужно да се моделира. Би било интересно без него, но с височина на запис на данни на микро SD с последващо отчитане. да се получи реална алтиметър писмена форма.

Най-простият барометричния алтиметър, на базата на Ардуино

"няма пречки патриоти" (C) =)
За мен, като напълно глупаво устройство. Какво тогава седи на височина дома плоча \ време да се изгради? И защо?

За да стартирате напълно незаменим. И ако превключите mosfetovskih ключове на определена височина - така че всички нормални бордови компютър.

Най-простият барометричния алтиметър, на базата на Ардуино