====== DS2450 ====== ===== Level 2 Überschrift ===== * http://old.ethersex.de/index.php/DS2450 * http://hauptstrasse72.ath.cx/images/1wire/eigen_ds2450_v4.jpg * http://code.google.com/p/picgps/source/browse/trunk/SGPS/Firmware/PIC18F67j50/App/MPX6115.c?r=10 * http://www.ip-symcon.de/forum/f19/feuchtigkeit-sensor-5313/ * http://patrikhermansson.se/files/ds2450-mpxa4115.png * http://www.mikrocontroller.net/attachment/93009/ds2450.JPG * http://www.mikrocontroller.net/topic/198323 1w ds2450 power 1 (drei adrig) 1w ds2450 res c 08 (00 / 10 = 16bit, 08 8bit) 1w ds2450 oe c 0 (als eingang stetzen) 1w ds2450 range c 1 (Range 0-5,10V) 1w ds2450 convert $Srh = ($Vad - 0.958062) * 34.558; //Werte nach Kalibrierung * http://www.ip-symcon.de/forum/f30/1-wire-multifunktionssensor-fuer-temperatur-feuchte-9531/#post84034 ===== Level 2 Überschrift ===== * https://github.com/ethersex/ethersex/blob/master/hardware/onewire/ds2450.h * http://www.tutorials.at/c/03-dateneingabe-ausgabe.html \\ **"ecmd?1w list"** ergibt den rom code **20686414000000b5** für den ds2450\\ \\ C6_HEADER(`/* This will be in control6.h */') #include "hardware/onewire/ds2450.h" uint16_t counter1 = 0; uint16_t var1 = 0; CONTROL_START CLOCK_USED() THREAD(start) var1 = 1; WAIT(5) var1 = 0; WAIT(5) THREAD_END(start) TCP_HANDLER_PERSIST(message_handler); if (var1 == 1){ ow_rom_code_t rom_code; uint16_t result; rom_code.bytewise[0] = 0x20; rom_code.bytewise[1] = 0x68; rom_code.bytewise[2] = 0x64; rom_code.bytewise[3] = 0x14; rom_code.bytewise[4] = 0x00; rom_code.bytewise[5] = 0x00; rom_code.bytewise[6] = 0x00; rom_code.bytewise[7] = 0xb5; ow_ds2450_convert(&rom_code, 0x0f, 0x00); ow_ds2450_get(&rom_code, 2, 2, &result); TCP_SEND("%u", result); WAIT(15) } TCP_HANDLER_END(); ON STARTUP DO THREAD_START(start) TCP_CONNECT(192.168.123.106, 4445, message_handler); END CONTROL_END Notiz für mich: ;) C6_HEADER(`/* This will be in control6.h */') #include "hardware/onewire/ds2450.h" uint16_t counter1 = 0; uint16_t var1 = 0; uint16_t var2 = 0; uint16_t result; CONTROL_START CLOCK_USED() THREAD(send) ow_rom_code_t rom_code; rom_code.bytewise[0] = 0x20; rom_code.bytewise[1] = 0x68; rom_code.bytewise[2] = 0x64; rom_code.bytewise[3] = 0x14; rom_code.bytewise[4] = 0x00; rom_code.bytewise[5] = 0x00; rom_code.bytewise[6] = 0x00; rom_code.bytewise[7] = 0xb5; ow_ds2450_convert(&rom_code, 0x0f, 0x00); ow_ds2450_get(&rom_code, 2, 2, &result); if (result < 1000) { var2 = 1; WAIT(10) var2 = 0; }else{ var2 = 0; } WAIT(1) THREAD_END(send) TCP_HANDLER_PERSIST(message_handler); if (var2 == 1){ TCP_SEND("ALARM"); WAIT(1) } TCP_HANDLER_END(); ON STARTUP DO THREAD_START(send) TCP_CONNECT(192.168.123.106, 4445, message_handler); END CONTROL_END