Parazitní napájení funguje bez problémů, dlouhodobě jej používám s vnitřním tranzistorem pinu AVR. Naznak kódu nastaveni pinu jsem uvedl výše.
Aby to fungovalo, je potřeba splnit požadavky v dokumentaci. V tomto případě bude asi problém to, že po zadaní příkazu CONVERT T je nutno pull-up tranzistor sepnout do 10us!
Kód který používám (__w1_PORT |= (1 << __w1_bit);__w1_DDR |= (1 << __w1_bit);) se přeloží (avr-gcc) na dvě instrukce SBI. Provedení instrukce SBI 2 takty. Za 4 takty hotovo. Tzn při taktovaní procesoru pouze i 1 MHz je to bez problémů stihnutelné.
Ale funkce pinMode a digitalWrite jsou o poznaní pomalejší. Jsou to funkce, ... Je to udělané tak aby se to pěkně volalo. Rychlost neřeší. Snadno se tedy stane, že se pull-up tranzistor sepne pozdě a nefunguje to. Nebo ještě hůře, funguje to někdy.
http://garretlab.web.fc2.com/en/arduino/inside/arduino/wiring_digital.c/digitalWrite.html