Advertisement
RuiViana

1Wire_Scan.ino

Jul 3rd, 2021
1,357
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 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. OneWire  ds1( 4);  // Conecte o pino central dos sensores ao pino 4 do Arduino
  8. //OneWire  ds2(10);  // Conecte o pino central dos sensores ao pino 10 do Arduino
  9. //------------------------------------------
  10. void setup(void)
  11. {
  12.   Serial.begin(9600);
  13.   discoverOneWireDevices();
  14. }
  15. //------------------------------------------
  16. void discoverOneWireDevices(void)
  17. {
  18.   byte i;
  19.   byte present = 0;
  20.   byte data[12];
  21.   byte addr[8];
  22.   Serial.print("Procurando dispositivos DS18B20...\n\r");
  23.   while (ds1.search(addr))
  24.   {
  25.     Serial.print("\n\rEncontrado sensor \'DS18B20\' o bus ds1 com endereco:\n\r");
  26.     for ( i = 0; i < 8; i++)
  27.     {
  28.       Serial.print("0x");
  29.       if (addr[i] < 16)
  30.       {
  31.         Serial.print('0');
  32.       }
  33.       Serial.print(addr[i], HEX);
  34.       if (i < 7)
  35.       {
  36.         Serial.print(", ");
  37.       }
  38.     }
  39.     if ( OneWire::crc8( addr, 7) != addr[7])
  40.     {
  41.       Serial.print("CRC nao e valido!\n");
  42.       return;
  43.     }
  44.   }
  45. //  while (ds2.search(addr))
  46. //  {
  47. //    Serial.print("\n\rEncontrado sensor \'DS18B20\' o bus ds2 com endereco:\n\r");
  48. //    for ( i = 0; i < 8; i++)
  49. //    {
  50. //      Serial.print("0x");
  51. //      if (addr[i] < 16)
  52. //      {
  53. //        Serial.print('0');
  54. //      }
  55. //      Serial.print(addr[i], HEX);
  56. //      if (i < 7)
  57. //      {
  58. //        Serial.print(", ");
  59. //      }
  60. //    }
  61. //    if ( OneWire::crc8( addr, 7) != addr[7])
  62. //    {
  63. //      Serial.print("CRC nao e valido!\n");
  64. //      return;
  65. //    }
  66. //  }
  67.  
  68.   Serial.print("\n\r\n\rFinal da verificacao.\r\n");
  69.   ds1.reset_search();
  70. //  ds2.reset_search();
  71.   return;
  72. }
  73. //------------------------------------------
  74. void loop(void)
  75. {
  76.   // Loop Vazio
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement