Считывание температуры (DS18B20) с помощью ATtiny85
Я пытаюсь прочитать температуру DS18B20 с помощью моего ATtiny85, но я получаю ненужные данные :D
Я должен был получить ~22 градуса, но я получаю 129! Я следовал этому учебнику, который нашел здесь, но, может быть, в ATtiny85 есть что-то странное?
@Jason94, 👍3
Обсуждение1 ответ
Я бы предположил, что это должно быть тактовая частота или память. Хотя вы можете запрограммировать ATtiny85 с помощью IDE Arduino, он займет довольно много места в его флэш-памяти. Здесь в форме Arduino есть тема, которая может помочь точно определить проблему.
Одним из решений является запись на AVR-C, но я не знаю, есть ли простой способ (или библиотека) для 1-проводной. Я думаю, что вам придется сделать это только с 1-проводной библиотекой, так как библиотека DallasTemperature слишком велика для 8 Кб памяти, с которыми вам приходится играть.
Пожалуйста, оставляйте отзывы о любых ваших прорывах, так как это хороший проект, ATtiny-потрясающий маленький чип...
Код в ссылке, которую Jason94 прикрепил к своему вопросу, отлично работает с ATtiny85, я использовал его много раз. Нет необходимости повторно внедрять OneWire в чистом AVR-C :), @Omer
Прошу прощения за мои предположения. Просто чтобы уточнить @Omer, вы можете запустить ATtiny85 как с библиотеками 1wire, так и с библиотеками DallasTemperature (и, конечно, с скетчем, представленным в оригинальном посте)? Возможно, пришло время мне снова достать макет ;), @Jelby-John
Да. почти не оставляет места для другого кода. Не забудьте убедиться, что ld.exe исправлено, чтобы включить скетчи объемом 8 кб (в противном случае будет разрешено только 4 кб) - https://github.com/TCWORLD/ATTinyCore/tree/master/PCREL%20Patch%20for%20GCC, @Omer
Спасибо за все ответы! Я нашел десятки проектов, в которых ATtiny выполняет то или иное, но не то и другое одновременно... так что, возможно, есть проблемы с памятью. Есть немного ATtiny84, но у них та же спецификация, но больше булавок, так что мне это не поможет... *грустно*, @Jason94
@Jason94 была ли решена эта проблема?, @evolutionizer
- DS18B20 дает высокие показания. Как заставить его вернуть правильную температуру?
- Проблема с датчиком температуры и влажности DHT11
- Что выбрать между датчиками температуры и влажности: AM230x или DHT22?
- Проблемы с подключением I2C на ESP8266 — 12F, какие контакты использовать?
- DHT11 возвращает неверные значения
- Эмуляция 1-проводных устройств
- BMP280 возвращает 0
- Как заставить инфракрасный термодатчик MEMS - D6T-44-L06 работать с Arduino?
У вас есть съемный резистор 4K7 Ом между выводами DQ и 5 вольт DS18B20?, @Omer
Привет, Омер! Я использую 4k7 между источником DQ и 5 вольт. Должен ли это быть вывод 5 вольт ds18b20? Он на моей макетной плате, поэтому просто прикрепил его к силовой рейке сбоку, а не так, как контакт 5 вольт для датчика, @Jason94
он должен находиться между 5 вольт ds18b20 и DQ., @Omer
Вместо этого попробуйте подключить VDD-вывод датчика к +5 вольт. Это облегчает отбор проб., @Ariser
Я только что подключился к своему UNO, и это работает как заклинание. Я добавляю мигающий светодиод к attiny, чтобы я знал, что он что-то делает :P он работает на частоте 8 МГц, это имеет значение?, @Jason94