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

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

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

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

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

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

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

 
Опции темы
Непрочитано 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
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,561
Сказал спасибо: 5,394
Сказали Спасибо 24,780 раз(а) в 5,562 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

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

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

Ну так отладку запусти и проверь, в чем дело. Для начала можно проверить сырые данные: по I2C вообще отклик есть или нет
__________________
Смерть бандеровской мразоте!
eddy на форуме  
Непрочитано 09.02.2023, 16:39  
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,204
Сказал спасибо: 2,072
Сказали Спасибо 1,685 раз(а) в 956 сообщении(ях)
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
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
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.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Подключение датчика давления BMP280 к Arduino.

mtit, а вы погуглите "AVR ISP debug". Она всегда была.
__________________
Смерть бандеровской мразоте!
eddy на форуме  
Непрочитано 09.02.2023, 19:08  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
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.RU
 
Регистрация: 20.05.2005
Сообщений: 660
Сказал спасибо: 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  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
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  
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,204
Сказал спасибо: 2,072
Сказали Спасибо 1,685 раз(а) в 956 сообщении(ях)
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, время: 21:30.


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