Оглавление:

Создание емкостного датчика жидкости: 8 шагов (с изображениями)
Создание емкостного датчика жидкости: 8 шагов (с изображениями)

Видео: Создание емкостного датчика жидкости: 8 шагов (с изображениями)

Видео: Создание емкостного датчика жидкости: 8 шагов (с изображениями)
Видео: Обзор программы ELCUT 12 Вихретоковый датчик 2024, Ноябрь
Anonim
Создание емкостного датчика жидкости
Создание емкостного датчика жидкости

Емкостной жидкий спонсор основан на том факте, что емкость или заряд между двумя металлическими пластинами будет изменяться (в данном случае увеличиваться) в зависимости от того, какой материал находится между ними. Это позволяет создать датчик уровня, безопасный для использования с любой жидкостью, этот будет использоваться в багги с бензином (бензином). Одна пластина прикреплена к земле. Другой подключается к контакту 23. Между контактами 22 и 23 находится резистор 820 кОм. Датчик работает, заряжая конденсатор (бутылку с водой) и измеряя время, необходимое для прохождения через резистор.

Шаг 1: Детали

Запчасти
Запчасти

1. Макетная плата без пайки не требуется, но она значительно упрощает задачу, особенно если вы планируете добавить что-то другое позже. 2. Arduino, я использую мега Arduino, но на стандартном должно быть достаточно контактов. 3. Символьный ЖК-дисплей. 4. Некоторые мелочи, включая провод и резистор 1 МОм. 5. Компьютер, который вы используете для чтения моих инструкций. 6. Терпение.

Шаг 2. Подключите ЖК-дисплей и позвольте вашему творению говорить с миром

Подключите ЖК-дисплей и позвольте вашему творению говорить с миром
Подключите ЖК-дисплей и позвольте вашему творению говорить с миром

Как и каждый шаг в этом руководстве, есть много способов сделать это. Я покажу вам свою любимую.

На вашем ЖК-дисплее есть контактные площадки для пайки с 16 отверстиями, поэтому первым делом нужно прикрепить несколько контактов. Если у вас патент, то я рекомендую приобрести такой заголовок https://www.sparkfun.com/commerce/product_info.php?products_id=117. Но если вы хотите сделать как можно быстрее (как я), вы можете использовать проволоку. Просто отрежьте 16 кусков проволоки примерно на 1/2 дюйма (13 мм (можно и больше)). Затем припаяйте их к плате.

Шаг 3: Подключение ЖК-дисплея Продолжение

Подключение ЖК-дисплея Продолжение
Подключение ЖК-дисплея Продолжение
Подключение ЖК-дисплея Продолжение
Подключение ЖК-дисплея Продолжение

Грехи я использую спецсимволы все провода буду соединять.

Контакт 1 Земля Контакт 2 +5 В Контакт 3 Регулировка контрастности Контакт 4 RS Контакт 5 R / W Идет на заземление Контакт 6-14 Контакт данных 15 Контакт питания для подсветки 16 Контакт заземления для подсветки

Шаг 4: строки данных

Линии данных
Линии данных
Линии данных
Линии данных

Теперь вам нужно подключить Arduino к ЖК-дисплею. Не имеет значения, какие контакты вы используете, но я рекомендую следовать схеме.

Шаг 5: Власть МахахаХа

Power MaHaHaHa
Power MaHaHaHa

USB-порт на вашем компьютере имеет достаточно мощности для работы Arduino и светодиодной подсветки, поэтому просто подключите заземление и шину питания на макетной плате к выходу питания на плате Arduino.

Шаг 6: сделайте емкостной датчик

Сделать емкостный датчик
Сделать емкостный датчик
Сделать емкостный датчик
Сделать емкостный датчик

Для тестирования я использовал алюминиевую фольгу и пластиковую бутылку для воды, она будет работать с любым контейнером, если он не металлический.

Вы можете использовать любой тип провода, но любые неэкранированные линии будут обеспечивать низкую производительность. Вы можете использовать любые 2 контакта, я выбрал 22 и 23. Подключите одну сторону к земле, а другую к резистору и 2 контактам ввода / вывода.

Шаг 7: Программирование

Программирование
Программирование

Вам нужно добавить 2 файла библиотеки, чтобы эта работа работала LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy и вставьте это в Arduino 0017 или новее. // Емкостной датчик жидкости // Вадим, 7 декабря 2009 г. #include #include // Это установка размера ЖК-дисплея const int numRows = f = 4; const int numCols = 20; // Устанавливает контакты для lcd (RS, Enable, data 0-7) LiquidCrystal lcd (53, 52, 51, 50, 49, 48, 47, 46, 45, 44); #define Tempin 0x48 #define Tempout 0x49 CapSense cs_22_23 = CapSense (22, 23); uint8_t block [8] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; uint8_t tl [8] = {0x0F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0F, 0x0F}; uint8_t tr [8] = {0x16, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1D, 0x15}; uint8_t bl [8] = {0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F}; uint8_t br [8] = {0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x12, 0x18}; void setup () {lcd.begin (numRows, numCols); lcd.createChar (4, tl); lcd.createChar (5, tr); lcd.createChar (6, бл); lcd.createChar (7, br); lcd.setCursor (18, 0); lcd.print (4, БАЙТ); lcd.setCursor (19, 0); lcd.print (5, БАЙТ); lcd.setCursor (18, 1); lcd.print (6, БАЙТ); lcd.setCursor (19, 1); lcd.print (7, БАЙТ); lcd.setCursor (0, 2); lcd.print («Топливо»); lcd.setCursor (0, 3); lcd.print («E»); } void loop () {длинное топливо; lcd.createChar (2, блок); длинный старт = миллис (); топливо = cs_22_23.capSenseRaw (200); // Temratue немного отличается, поэтому дайте ему поработать 5 минут перед настройкой. // Настройте это число так, чтобы результат был как можно ближе к нулю. топливо = топливо - 7200; // Затем заполните контейнер // Не комментируйте и настройте его так, чтобы вывод, когда контейнер заполнен, // был как можно ближе к 100. // топливо = топливо / 93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (топливо); если (топливо> = 6) {lcd.setCursor (1, 3); lcd.print (2, БАЙТ); } еще {lcd.setCursor (1, 3); lcd.print (""); } если (топливо> = 12) {lcd.setCursor (2, 3); lcd.print (2, БАЙТ); } еще {lcd.setCursor (2, 3); lcd.print (""); } если (топливо> = 17) {lcd.setCursor (3, 3); lcd.print (2, БАЙТ); } еще {lcd.setCursor (3, 3); lcd.print (""); } если (топливо> = 23) {lcd.setCursor (4, 3); lcd.print (2, БАЙТ); } еще {lcd.setCursor (4, 3); lcd.print (""); } если (топливо> = 28) {lcd.setCursor (5, 3); lcd.print (2, БАЙТ); } еще {lcd.setCursor (5, 3); lcd.print (""); } если (топливо> = 34) {lcd.setCursor (6, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (6, 3); lcd.print (""); } если (топливо> = 39) {lcd.setCursor (7, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (7, 3); lcd.print (""); } если (топливо> = 44) {lcd.setCursor (8, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (8, 3); lcd.print (""); } если (топливо> = 50) {lcd.setCursor (9, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (9, 3); lcd.print (""); } если (топливо> = 55) {lcd.setCursor (10, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (10, 3); lcd.print (""); } если (топливо> = 60) {lcd.setCursor (11, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (11, 3); lcd.print (""); } если (топливо> = 64) {lcd.setCursor (12, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (12, 3); lcd.print (""); } если (топливо> = 69) {lcd.setCursor (13, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (13, 3); lcd.print (""); } если (топливо> = 74) {lcd.setCursor (14, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (14, 3); lcd.print (""); } если (топливо> = 78) {lcd.setCursor (15, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (15, 3); lcd.print (""); } если (топливо> = 83) {lcd.setCursor (16, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (16, 3); lcd.print (""); } если (топливо> = 87) {lcd.setCursor (17, 3); lcd.print (2, БАЙТ); } еще {lcd.setCursor (17, 3); lcd.print (""); } если (топливо> = 92) {lcd.setCursor (18, 3); lcd.print (2, БАЙТ); } else {lcd.setCursor (18, 3); lcd.print (""); } если (топливо> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } else {lcd.setCursor (19, 3); lcd.print (""); } задержка (50); }

Шаг 8: Наполните

Он идеально подходит для измерения летучих жидкостей, работает даже внутри пропанового бака. Повеселись. Вся информация предназначена только для образовательных целей, и я не несу ответственности, если вы взорвете себя.

Рекомендуемые: