Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Подключение датчика давления BMP280 к Arduino.

Непрочитано 09.02.2023, 12:06  
kosta
Прохожий
 
Регистрация: 08.02.2021
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
kosta на пути к лучшему
По умолчанию Подключение датчика давления BMP280 к Arduino.

Здравствуйте уважаемые участники форума! На сайте https://3d-diy.ru/wiki/arduino-datchiki/sensor-bmp280/ описано подключение атмосферного датчика давления BMP280 к плате Arduino Nano.
Схема подключения
Это скетч (файл прошивки)
Код:
// Подключаем библиотеки для раблты с дисплеем NOKIA 5110
#include ‹SPI.h›
#include ‹Adafruit_GFX.h›
#include ‹Adafruit_PCD8544.h›
// Номара выводов Arduino для подключения димплея
#define PIN_5110_SCLK 3
#define PIN_5110_DIN  4
#define PIN_5110_DC   5
#define PIN_5110_CS   6
#define PIN_5110_RST  7
Adafruit_PCD8544 display = Adafruit_PCD8544(PIN_5110_SCLK, PIN_5110_DIN,
							  PIN_5110_DC, PIN_5110_CS, PIN_5110_RST);
// Подключаем библиотеки для работы с датчиком BMP280
#include ‹Wire.h›
#include ‹Adafruit_BMP280.h›
Adafruit_BMP280 bmp;

uint8_t pp[84]; // Массив значений атм. давления для вывода графика
uint8_t index = 0; // Текущий индекс (точка на графике)

void setup() {
  display.begin(); // Инициализация дисплея
  display.setContrast(45); // Настройка контрасности
  display.display(); // Подготовка к выводу изображения
  delay(2000);
  display.clearDisplay(); // Очистка дисплея
  bmp.begin(); // Инициализация датчика BMP280
  // Настройка режима работы датчика BMP280
  bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
                  Adafruit_BMP280::SAMPLING_X2,
                  Adafruit_BMP280::SAMPLING_X16,
                  Adafruit_BMP280::FILTER_X16,
                  Adafruit_BMP280::STANDBY_MS_500);
  for(uint8_t i = 0; i ‹ 84; i++) pp[i] = 0; // Обнуляем массив
}

void loop() {
  // Считываем и выводим показания температуры
  float t = bmp.readTemperature();
  display.setTextSize(1); display.setCursor(0, 0);
  display.print("t="); display.print(t); display.println("oC");
  // Считываем и выводим показания высоты
  float a = bmp.readAltitude(1005);
  display.setCursor(0, 8);
  display.print("h="); display.print(a); display.println("m");
  // Считываем и выводим показания атмосверного давления
  float p = bmp.readPressure();
  p = p * 0.00750062; // Преобразуем Паскали в мм.рт.ст.
  display.setCursor(0, 16);
  display.print("p="); display.print(p); display.println("mmGh");
  // Преобразуем показания для построения графика
  pp[index] = map(p, 730, 760, 0, 24);
  // Строим график
  index++;
  if(index › 83) {
    for(uint8_t i = 0; i ‹ 84; i++) pp[i] = 0;
    index = 0;
  }
  display.fillRoundRect(0, 24, 84, 24, 0, WHITE);
  for(uint8_t i = 0; i ‹ 84; i++)
    display.drawLine(i, 48, i, 48 - pp[i], BLACK);
  display.display();
  delay(60000); // График будет обновляться 1 раз в минуту
  display.clearDisplay();
}
Измеренные значения атмосферного давления, температуры, высоты выводятся на дисплей LCD Nokia 5110. Так вот, на дисплее что на сайте, все показания выводятся как положено в цифровом виде. А у меня строки показаний есть, но цифровые данные отсутствуют. Вот и встает вопрос почему нет данных. Подскажите пожалуйста в чем причина этого. Только пожалуйста не пинайте слишком сильно, если что не так написал или " слона не приметил".
Миниатюры:
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 0
Размер:	83.4 Кб
ID:	174846   Нажмите на изображение для увеличения
Название: показания измерений на сайте.jpg
Просмотров: 0
Размер:	31.6 Кб
ID:	174848   Нажмите на изображение для увеличения
Название: показания измерений у меня.jpg
Просмотров: 0
Размер:	40.6 Кб
ID:	174849  

Реклама:

Последний раз редактировалось mike-y-k; 09.02.2023 в 17:17. Причина: очипятка
kosta вне форума  
Непрочитано 09.02.2023, 12:44  
Eddy71
Гуру портала
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, Полтава
Сообщений: 10,457
Сказал спасибо: 6,003
Сказали Спасибо 26,918 раз(а) в 6,083 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

Видимо данные не отображаются потому как Ардуинка их не может получить от датчика. А вот почему это происходит отсюда не видать..
__________________
«Мышление - это когда ты упрощаешь вещи, а не усложняешь их»
/Жак Фреско/

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 вне форума  
Непрочитано 09.02.2023, 12:57  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

Ну так отладку запусти и проверь, в чем дело. Для начала можно проверить сырые данные: по I2C вообще отклик есть или нет
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 09.02.2023, 16:39  
mtit
Почётный гражданин KAZUS.RUN
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,398
Сказал спасибо: 2,192
Сказали Спасибо 1,780 раз(а) в 1,012 сообщении(ях)
mtit на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

eddy, а что, в новых версия IDE Arduino появилась возможность отладки?


kosta, перепроверьте подключение (провода) датчика. Посмотрите внимательней - не перепутан ли "+" и "-" питания датчика.



Цитата:
Большинство датчиков BMP280 имеют адрес 0х76, а библиотека Adafruit_BMP280.h по умолчанию работает с адресом 0х77. Чтобы это исправить необходимо открыть файл Adafruit_BMP280.h любым текстовым редактором, найти строку вида:
#define BMP280_ADDRESS (0x77) /**‹ The default I2C address for the sensor. */ После этого нужно заменить значение в скобках, сохранить изменения и перекомпилировать проект.
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.

Последний раз редактировалось mtit; 09.02.2023 в 16:46.
mtit вне форума  
Непрочитано 09.02.2023, 17:21  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,285
Сказал спасибо: 11,860
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

kosta, на этот случай и придумали ЛА (логический анализатор) с осциллографом - сразу видно правильно ли все работает…
Если макет сделан не паяльником, а на беспаечной макетной плате - проверьте надежность контакта во всех цепях…
Проверьте питание и все подтягивающие резисторы, отсутствие короткого замыкания и обрыва дорожек…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Сказали "Спасибо" mike-y-k
-vitalik- (12.02.2023)
Непрочитано 09.02.2023, 18:40  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

mtit, а вы погуглите "AVR ISP debug". Она всегда была.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 09.02.2023, 19:08  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,285
Сказал спасибо: 11,860
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

mtit, таки это определяется подключением SDO к GND (0x76) или VDDIO (0x77).

kosta, почитайте DS https://cdn-shop.adafruit.com/datash...0-DS001-11.pdf и проверьте подключение всех выводов. Заодно проверьте напряжение питания (3V3) у датчика. Подключение его к 5V, как и отключение VDDIO при наличии сигналов на линиях ведут к смерти…
Использование этих датчиков как с I2C, так и с SPI не вызывает никаких проблем - есть готовые библиотеки под множество МК…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Сказали "Спасибо" mike-y-k
mtit (10.02.2023)
Непрочитано 09.02.2023, 20:05  
lyk
Гражданин KAZUS.RUN
 
Регистрация: 20.05.2005
Сообщений: 658
Сказал спасибо: 40
Сказали Спасибо 187 раз(а) в 117 сообщении(ях)
lyk на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

mtit
Начиная со 2-й версии IDE в анонсах была заявлена отладка. Но она только под 64Х, на своих 32 битах не пробовал.

Последний раз редактировалось mike-y-k; 09.02.2023 в 20:13. Причина: 7.15
lyk вне форума  
Сказали "Спасибо" lyk
mtit (10.02.2023)
Непрочитано 09.02.2023, 20:15  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

Сообщение от mike-y-k Посмотреть сообщение
есть готовые библиотеки под множество МК…
Я тоже чужое использовал, лень было нормально написать свое…
Сообщение от lyk Посмотреть сообщение
на своих 32 битах не пробовал.
Ух ты! На дворе 2023 год. Я думал, 32 бита лишь на очень старых ARMах остались (и то, новые дешевые orange pi zero2 на 64-битном!)...
Ну, а если по-человечески разрабатывать, а не "методом Монте-Карло", то и отладка работать будет, и не нужно будет кривые С++ "скетчи" использовать. И флоаты никто в своем уме на 8-битную аврку совать не будет тоже…
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось mike-y-k; 09.02.2023 в 20:16. Причина: очипятка
eddy вне форума  
Непрочитано 10.02.2023, 00:14  
mtit
Почётный гражданин KAZUS.RUN
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,398
Сказал спасибо: 2,192
Сказали Спасибо 1,780 раз(а) в 1,012 сообщении(ях)
mtit на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

Сообщение от eddy Посмотреть сообщение
И флоаты никто в своем уме на 8-битную аврку совать не будет тоже…
Ржу во всю глотку. Т.е. такая конструкция в коде

Сообщение от kosta Посмотреть сообщение
delay(60000);
Вас не смущает. А правила хорошего тона, что, де, "нехорошо использовать Float там, где можно масштабировать Int" - прям бревном в глазу.

Сообщение от eddy Посмотреть сообщение
Я думал, 32 бита лишь на очень старых ARMах остались (и то, новые дешевые orange pi zero2 на 64-битном!)...
Эту фразу не понял. Возможно мы про разные вещи. Насколько я понимаю: lyk сообщил информацию, что в среде Ардуино, наконец-то, появилась отладка. Но сам он пока не протестировал, т. к. у него ОСь на компьютере 32-битная.


Собственно, возвращаясь к Вашему сообщению:

Сообщение от eddy Посмотреть сообщение
mtit, а вы погуглите "AVR ISP debug". Она всегда была.
Отладка была всегда в камнях серии AVR. Но, среда разработки Arduino_IDE - такую возможность не поддерживала. Т.е. Вы (не зная уровень ТС) советуете перепрыгнуть на другую IDE, где есть возможность отладки.


Без обид (не пытаюсь ввернуть шпильку) - у Вас, коллега, профессиональная деформация. ТС, очень вероятно, только начитает делать первые шаги, а Вы его пытаетесь на свой уровень затянуть (где Вы научились работать с любым инструментарием).
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.
mtit вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Задатчик тока 4-20 мА из датчика давления cipeza Поиск схем. Делимся схемами 14 10.08.2022 02:10
дисплей Nextion. Подключение к Arduino sanstan AVR 1 03.05.2017 11:56
Измерение уровня воды в баке с помощью датчика давления mikesmith Электроника - это просто 290 19.09.2015 01:46
Подключение датчика давления к АЦП PIC16F877A sashok58 Микроконтроллеры, АЦП, память и т.д 3 15.06.2010 21:22


Часовой пояс GMT +4, время: 09:56.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.