Advertisement
RuiViana

1Wire

Mar 1st, 2016
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. // Programa : Scan DS18B20
  2. // Alterações : Arduino e Cia
  3. // Este programa procura pelos sensores no circuito e mostra o valor
  4. // do endereço físico de cada sensor no Serial Monitor
  5.  
  6. #include <OneWire.h>
  7.  
  8. // Conecte o pino central dos sensores ao pino 10 do Arduino
  9. OneWire ds(10);
  10.  
  11. void setup(void)
  12. {
  13. Serial.begin(9600);
  14. discoverOneWireDevices();
  15. }
  16.  
  17. void discoverOneWireDevices(void)
  18. {
  19. byte i;
  20. byte present = 0;
  21. byte data[12];
  22. byte addr[8];
  23.  
  24. Serial.print("Procurando dispositivos DS18B20...\n\r");
  25.  
  26. while(ds.search(addr))
  27. {
  28. Serial.print("\n\rEncontrado sensor \'DS18B20\' com endereco:\n\r");
  29. for( i = 0; i < 8; i++)
  30. {
  31. Serial.print("0x");
  32. if (addr[i] < 16)
  33. {
  34. Serial.print('0');
  35.  
  36. }
  37. Serial.print(addr[i], HEX);
  38.  
  39. if (i < 7)
  40. {
  41. Serial.print(", ");
  42. }
  43.  
  44. }
  45.  
  46. if ( OneWire::crc8( addr, 7) != addr[7])
  47. {
  48. Serial.print("CRC nao e valido!\n");
  49. return;
  50. }
  51. }
  52. Serial.print("\n\r\n\rFinal da verificacao.\r\n");
  53. ds.reset_search();
  54. return;
  55. }
  56.  
  57. void loop(void)
  58. {
  59. // Loop Vazio
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement