Измерение температуры с помощью RASPBERRY PI
Одной из основных характеристик среды, в которой мы живем, является температура, и поэтому ее измерение очень важно.
Самый простой способ измерить его - использовать встроенные датчики 1-Wire компании Maxim.
Таким образом, вы можете подключить до 10 датчиков к одному преобразователю DS2482 1-Wire в I2C.
Вы можете запустить его следующим образом:
Таким образом, вы можете подключить до 10 датчиков к одному преобразователю DS2482 1-Wire в I2C.
Вы можете запустить его следующим образом:
1. Измените файл «arch / arm / mach-bcm2708 / bcm2708.c» . из исходных кодов ядра содержать следующее:
статическая структура platform_device bcm2708_bsc1_device ={
.name ="bcm2708_i2c", .id =1, .num_resources =ARRAY_SIZE (bcm2708_bsc1_resources), .resource =bcm2708_bsc1_resources,};
статическая структура i2c_board_info __initdata pi_i2c_devs [] ={{I2C_BOARD_INFO ("ds1307", 0x68), I2C_BOARD_INFO ("ds2482", 0x18), },}; ...... bcm_register_device (&bcm2835_thermal_device);
i2c_register_board_info (1, pi_i2c_devs, ARRAY_SIZE (pi_i2c_devs));
3. Измените функцию static void w1_post_write (struct w1_master * dev) из файла drivers / w1 / w1_io.c поэтому он содержит:
static void w1_post_write (struct w1_master * dev) {
if (dev-> pullup_duration) {if (dev-> enable_pullup &&dev-> bus_master-> set_pullup) {
dev-> bus_master-> set_pullup (dev-> bus_master-> данные, 0); msleep (dev-> pullup_duration); иначе {msleep (dev-> pullup_duration); } Dev-> pullup_duration =0; }}
4. Добавьте функцию static u8 ds2482_w1_set_pullup (void * data, int delay) в файле drivers / w1 / masters / ds2842.c
static u8 ds2482_w1_set_pullup (void * data, int delay) {
struct ds2482_w1_chan * pchan =data; struct ds2482_data * pdev =pchan-> pdev; u8 retval =1; u8 cfg; / * если задержка не равна нулю, активируйте подтягивание, * сильное подтягивание будет автоматически отключено * мастером, поэтому не деактивируйте его явно * / if (delay) {/ * оба ожидания имеют решающее значение, иначе устройства могут не работать * работает достаточно долго, например, датчик w1_therm для
* предоставления неверных результатов преобразования * / ds2482_wait_1wire_idle (pdev); / * примечание:похоже, нужно установить и SPU, и APU! * / Retval =ds2482_send_cmd_data (pdev, DS2482_CMD_WRITE_CONFIG,
ds2482_calculate_config (DS2482_REG_CFG_SPU | DS2482_REG_CFG_APU)); ds2482_wait_1wire_idle (pdev); } return retval;}
Подробнее:Измерение температуры с помощью МАЛИНЫ ПИ. Текущий проект / сообщение также можно найти с помощью:
- Подключение датчиков через микросхему DS2482
Производственный процесс
- Контроль доступа с помощью QR, RFID и проверки температуры
- Регистратор температуры Raspberry Pi
- Температурный профиль Raspberry Pi с использованием LabVIEW
- Измерение температуры с помощью однопроводного датчика DS18B20 и Raspberry Pi
- Сетевой монитор температуры и влажности Raspberry Pi
- Считать температуру с помощью DS18B20 | Raspberry Pi 2
- Мониторинг температуры на Raspberry Pi
- Датчик температуры Python и Raspberry Pi
- Простая температура и влажность на Raspberry Pi
- Мониторинг температуры с помощью Raspberry Pi