![]() | В этой статье мы увидим, как построить устройство может читать и отображать на дисплее высота уровня воды в скважине или цистерны. Open Source будет использовать аппаратное устройство под названием Arduino , ультразвуковой датчик для измерения высоты воды, ЖК-дисплей на 16 символов на две строки и зуммера, который предупредит нас, если уровень превышает определенный порог. |
Смотреть
Этот проект, как мы уже говорили, состоит из нескольких частей. Гидролокатора датчик должен быть расположен в верхней части ямы (от воды), который смотрит вниз так, чтобы измерить расстояние между самой высокой точке так и в воде. Принимая простую разницу между высота от основания до датчика и счетчика читает получаем высоту воды. В определенные промежутки времени количество воды, будут читать и отображается. Если уровень превышает порог срабатывает сигнал тревоги, который звучит звуковой сигнал до уровня упадет обратно ниже порога, или когда вы вручную отключить звонок.
Arduino управляет операционная логика, в рамках программы, что мы увидим ниже, и управляет всеми устройствами.
Arduino
Arduino является открытым исходным кодом электронной платформы, основанной на простоте и удобству использования. Именно эти характеристики, используемые художниками, дизайн, любителей и всех, кто заинтересован в создании интерактивных объектов или окружающей среды.
Он поддерживает большое количество датчиков и программируется с помощью языка, который имеет много общего с C. С сайта проекта можно загрузить окружения с редактором, компилятором и передавать функции. Все, что нам нужно для программирования Arduino. Вы можете также использовать инструмент командной строки, но теперь мы будем иметь дело с этим.
Монтажная схема
ПХБ
Этюдник
Ниже приведена программа загружается на Arduino. Код очень прост, особенно если вы уже знаете C или C + +. Обратите внимание, что не хватает функции Main (), выполнение начинается с вызова функции настройки () только один раз при включении устройства, а затем мертвую петлю функции ().
/* initialize the library with the numbers of the interface pins */ LiquidCrystal lcd ( 12 , 11 , 5 , 4 , 3 , 6 ) ; int mute = 0 ; byte * getChar ( int n , byte newChar [ ] ) { int i ; byte / * - * - Режим: с - * - * / / *** pozzo.pde * версия: 1.2 * / # include <liquidCrystal.h> PING_PIN 13 # определить # define # define SWITCH_INT BUZZER_PIN 8 0 / * 0 => контакт 2 * / # define PI 3,1415926535898 # define SUPERFICE_BASE (R_POZZO R_POZZO * PI *) # define SIZE_BAR (16 * 5) # define ALARM_ICON 0 / * код * / # define SOUND_ICON 6 / * код * / # define SOUND_ICON_ON 7 / * код * / # define R_POZZO 0,5 / * радиус скважины (м) * / # define H_POZZO 146,0 / * см * / # define SOGLIA_ALLARME_1 100 / * см * / # define SOGLIA_ALLARME_2 120 / * см * / # define DELAY_0 60000 / * мс , 1000 * 60 * 1 = 1 мин * / # define DELAY_1 600 / * мс * / # define DELAY_2 200 / * мс * / / * инициализация библиотеки с количеством контактов интерфейса * / LiquidCrystal ЖК-дисплей (12, 11, 5, 4, 3, 6); немой INT = 0; байт * деЬспаг (INT п newChar байт []) {INT I; байт ] ; /* set up the LCD's number of rows and columns: newChar [8]; / * настроить количество ЖК-строк и столбцов: * LOW, чтобы вызвать прерывание Всякий раз, когда контактный низкой * CHANGE, чтобы вызвать прерывание контактный Всякий раз, когда изменяется значение для запуска * ПОВЫШЕНИЯ При выводе идет от низкого к высокому, при падении * Если вывод идет от высокого к низкому. SWITCH_INT , button , RISING ) ; /* initialize serial communication * / AttachInterrupt (SWITCH_INT, кнопки, рост); / * инициализация последовательного соединения читать снова wather высоте ; // litres = SUPERFICE_BASE * (hWather / 100.0) * 1000 litres = floor ( SUPERFICE_BASE * hWatherCm * 10 ) ; lcd. print ( litres ) ; lcd. print ( " l см - ") / / = SUPERFICE_BASE литров * (hWather / 100,0) * 1000 литров = пол (* SUPERFICE_BASE hWatherCm * 10),.. ЖК печати (в литрах), ЖК-Print (" Serial.print ("см"); Serial.println (hWatherCm); DELAY_0 ) ; } } void print_histogram ( int hWatherCm ) { int i ; int bloks ; float histogram ; // hWatherCm : HPOZZO = histogram : нет задержки аварийного сигнала (DELAY_0);}} пустота print_histogram (hWatherCm Int) {Int I; Bloks целый, дробный гистограмма / / hWatherCm: HPOZZO = Гистограмма: duration , hWatherCm ; /** * The PING))) is triggered by a HIGH pulse of 2 or more microseconds. * Установить переменные для продолжительности стол, * и расстояние в сантиметрах результат: * / длительность, hWatherCm; / *** PING))) вызвана высокая импульса 2 мкс или ежевики. * Дайте короткий низкий пульс заранее, чтобы обеспечить чистое и импульса: * То же вывод используется для считывания сигнала с PING))): высокая * Чьи длительность импульса это время (в миллисекундах) * от отправки пинг на прием эхо ЕЕ от объекта. PING_PIN , INPUT ) ; duration = pulseIn ( PING_PIN , HIGH ) ; /* convert the time into a distance * / PinMode (PING_PIN, INPUT), продолжительность = pulseIn (PING_PIN, HIGH); / * преобразовать время в расстоянии * Скорость звука 340,29 м / с или 29,4 микросекунд на сантиметр. * Пинг путешествует туда и обратно, я знаю, чтобы найти расстояние от объекта * берем половину расстояния. microseconds / 29.387 / 2 ; } void button ( ) { // Serial.println("Pulsante premuto"); mute = ! mute ; lcd. setCursor ( 15 , 1 ) ; if ( ! mute ) lcd. write ( SOUND_ICON_ON ) ; else lcd. write ( 'X' ) ; } * / Возвращение микросекунд / 29 387/2;} пустота кнопку () {/ / Serial.println ("Кнопка нажата"); = немой Mute;!. (! Mute). ЖК SetCursor (15, 1), если ЖК-Write ( SOUND_ICON_ON). еще ЖК-write ('X');}













Прежде всего, поздравления для этого проекта. Я также реализации нечто подобное, вы можете рассказать мне марку и модель ультразвукового датчика и LCD?
Спасибо за комплименты,
для ультразвукового датчика я использовал Ping))) Parallax между затратами и доставка кругленькую сумму, но я выбрал, потому что я хотел быть уверен, что работал с Arduino.
Для дисплея можно выбрать любую, которая совместима с драйвером Hitachi HD44780, которые большинство из тех, на рынке. Единственное, что нужно смотреть есть пин-выхода, поскольку она может меняться от модели к модели.
Привет! Я также сделал кое-что очень похожи, как я saensore SFR05, я хотел бы спросить, есть ли мера правильная DLE датчика, когда датчик находится внутри танка, который в моем случае это 1000 литров подземный резервуар, я заметил, что ясно окружающая среда очень влажный, и конденсат риск короткого Я не знаю, как обходиться с капсулами США .... Для первого теста кажется, что меры, ниже, чем фактическая ...
Знаете ли вы изменения в характеристиках воды бомбардировке ультразвук? ..
Скоро увидимся.
Отметить
У меня есть довольно точное измерение, вы должны быть осторожны, чтобы поместить датчик подальше от стен резервуара, а перпендикулярно к воде. `Я не знаю, если поверхность воды влияет на УЗИ, вы уверены, что скорость звука меняется в зависимости от влажности` `а здесь мы говорим о нескольких метров ... разница практически отсутствует.
Я хотел бы спросить, если вы приняли некоторые меры, на датчике ... использовал коробку ABS водонепроницаемым уплотнением капсулы с силиконовым два? .. Я поставил srf05 в металлический ящик с отверстиями, чтобы выпустить капсулы.
Эти проблемы, возможно, 2, от короткой стороны платы от датчика в связи с высокой влажностью и конденсацией, другой relativsa капсулы себя, то есть, даже если хорошо изолировать платы капсулы обязательно должно быть в контакте с воздухом влажный и condenza ... Arruginirsi в конечном итоге? ..
Любые советы?
Спасибо
Точно, я поставил ультразвуковой датчик в месте соединения statola, пластиковые, и я сделал два отверстия, чтобы из датчиков. Если я могу сделать ему несколько фотографий. Ну, я только положить в таблице, есть 3 провода (2 + 1 блок питания сигнал), поступающие из коробки и выйти на остальную часть схемы, которая сухая.
Так что, если я понимаю, что есть в водонепроницаемый ящик »вокруг стола (капсулы и circuitino), то 3 провода достигает контроллера (Arduino или другие вещи ...)
И все funza? .. не создают страшный конденсата внутри коробки? .. Вы с маленькими отверстиями для вентиляции или нет? ..
Дайте мне детали с ...
PS: Idale, возможно, придется получать воздух в поле, может быть, через трубку, которая выходит из танка ... Но она становится все более сложным, то ...
Спасибо за советы.
Отметить
Привет
Я также хотел бы создать объект, как это проверить х колодезной воды.
Можете ли вы дать мне список оборудования, приобретенного, которую я стараюсь покупать все в надежде на успех?
Спасибо
Компоненты:
Arduino 1
1 резистор 10K Ом
1 зуммер
1 кнопка
1 Ультразвуковой датчик Ping))) Parallax
1 16x2 ЖК-дисплей совместим с Hitachi HD44780 чип
1 10k потенциометр
Здравствуйте,
Простите, если я безубыточности, другой вопрос ..
было бы возможно, то видеть его через локальную сеть?
то есть, "если я возьму Arduino с Ethernet, то я могу увидеть данные по локальной сети?
Да, это очень хорошая вещь, чтобы сделать ... Я, к сожалению, сетевой кабель от цепи. Если у вас есть сервер доступен, вы можете хранить данные в базе данных, а затем сделать веб-страницы с графикой.
Контрольные вопросы и добавьте 1, потому что "так и" О 20/25m, поэтому я хотел бы понять, как сделать ультразвук .. х
1) 1 зуммер, что размер?
2) 1 10k потенциометр что это такое?
3) использовал банку 7-местный BTICINO правильно? как вы установите ЖК? Я имею в виду черную маску видно
4) Когда и "большой печати, я имею в виду размер ..
5) Знаете ли вы использовать стерео аудио разъем подключения х ультразвук? то красные, и черные носки?
6) Как я знаю, что вода и "20 - 25 м? Я понимаю, что Параллакс не есть хорошо.
Параллакс гидролокатора чтения с расстояния 2 см до 3 м, так что не хорошо для вашего здоровья. Я пытался кого-то более мощный, но доходит до 6 м, я не думаю, что есть один, который достигает 25 метров, но, может быть, у вас есть больше удачи, чем я.
Если вы не можете сделать это с помощью эхолота вы можете рассмотреть возможность использования датчика давления должны быть размещены в нижней части так, чтобы читать, так как вода выходит из строя, проще говоря вес воды, больше воды есть `и весит больше. С этим значением может ricavarti высоте. `Но у меня нет, чтобы дать вам много информации о нем.
Для других вопросов ... Зуммер сделку, которая звучит при включении питания, является тот, который работает с 5В. Потенциометр используется для настройки яркости дисплея символов, не нужно, чтобы включить его снова и снова, как только набор остается неизменным, поэтому я положил его обратно на трассу. Коробка BTICINO 7 мест, перед собой черную пластину стали, что я сделал вручную. Джек вы можете использовать его для любого Я служил с 3 провода, и я использовал звук, хотя я не люблю, как решение, если бы мне пришлось сделать это снова, я хотел бы использовать разъемы, которые сварены прямо на печатной плате.
Я надеюсь, что разъяснил все ваши сомнения
Как вы думаете, я могу использовать этот эхолот, без необходимости изменения схемы или программы?
и "MB1361: XL-MaxSonar-ÆL1 составляет 10 метров .. но я ставлю 10 метров кабеля, и я решил ...
Я решила "растянуть" кабель, а затем принять его лицо 6 метров .. чувствую .. Я использую это на ваш взгляд?
http://www.robot-italy.com/product_info.php?cPath=15_48_146&products_id=99 и «Devantech SRF10.
Без того, чтобы изменить схему / SW, потому что "так" я беру все, что от одного сайта, а также купить обработку х окно ..
Что вы думаете?