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

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

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

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

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

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

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

Ответ
Опции темы
Непрочитано 09.02.2023, 12:06   #1
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   #2
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,718
Сказал спасибо: 5,516
Сказали Спасибо 25,170 раз(а) в 5,652 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

Видимо данные не отображаются потому как Ардуинка их не может получить от датчика. А вот почему это происходит отсюда не видать..
__________________
«Совершенство — это не тогда, когда уже нечего больше добавить, а тогда, когда уже нечего отнять.»
/Эйнштейн/

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

Ну так отладку запусти и проверь, в чем дело. Для начала можно проверить сырые данные: по I2C вообще отклик есть или нет
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума   Ответить с цитированием
Непрочитано 09.02.2023, 16:39   #4
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,262
Сказал спасибо: 2,114
Сказали Спасибо 1,718 раз(а) в 973 сообщении(ях)
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   #5
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,254
Сказал спасибо: 11,168
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

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

mtit, а вы погуглите "AVR ISP debug". Она всегда была.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума   Ответить с цитированием
Непрочитано 09.02.2023, 19:08   #7
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,254
Сказал спасибо: 11,168
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
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   #8
lyk
Гражданин KAZUS.RU
 
Регистрация: 20.05.2005
Сообщений: 659
Сказал спасибо: 40
Сказали Спасибо 186 раз(а) в 116 сообщении(ях)
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   #9
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

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

Последний раз редактировалось mike-y-k; 09.02.2023 в 20:16. Причина: очипятка
eddy вне форума   Ответить с цитированием
Непрочитано 10.02.2023, 00:14   #10
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,262
Сказал спасибо: 2,114
Сказали Спасибо 1,718 раз(а) в 973 сообщении(ях)
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, время: 16:55.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot