Advertisement
RuiViana

Matriz salvando 1Wire

Jan 4th, 2016
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. // http://pastebin.com/LDwTxBCk
  2. #include <Wire.h> //Incluir a biblioteca wire.h -> Sensor de temperatura
  3. #include <OneWire.h> //Incluir a biblioteca oneWire -> Sensor de temperatura
  4. #include <DallasTemperature.h> //Incluir a biblioteca DallasT... -> Sensor de temperatura
  5. #include <SPI.h> //Incluir a biblioteca SPI.h -> Placa EternetSchield
  6. #include <Ethernet.h> //Incluir a biblioteca Ethernet.h -> Placa EternetSchield
  7.  
  8. OneWire ds1(22); // Porta 22 do Arduino MEGA
  9.  
  10. byte Pendulo01[15][8] ;
  11.  
  12. DallasTemperature pendulo1(&ds1); //Adiciona os sensores 18B20 no primeiro BUS
  13.  
  14. int Qs1 = 0; //Variáveis Tipo Inteiro Armazenam a quantidade de Sensor
  15. //----------------------------------------------------
  16. void setup(void) {
  17. Serial.begin(9600);
  18. Wire.begin(); //Inicializa 1-Wire
  19. pendulo_1(); //Inicializa o a Função Pendulo_1();
  20. }
  21. //------------------------------------------------------
  22. void loop(void) {
  23.  
  24. }
  25. //-------------------------------------------------------
  26. void pendulo_1(void){ //Função pendulo_1
  27. byte a; //Variável "a"tipo Byte, incrementada no laço de repetição "for"
  28. byte addr[8]; //Variável "addr" tipo Byte 8 byte, Usada para armazenar o ROM;
  29. Serial.println("Procurando dispositivos 1-Wire...\n\r");
  30. delay(2000);
  31.  
  32. Serial.println("Pendulo 1"); //
  33. while(ds1.search(addr)) { //Laço de repetição para encontrar os sensores
  34. for( a = 0; a < 8; a++) { //Entra em laço de repetição 8 vezes para montar o numero ROM Correto
  35. Pendulo01[Qs1][a] = addr[a]; // Salva na matriz Pendulo01 cada byte da ROM
  36. }
  37. Qs1++; //A Cada linha adiciona um valor para contar a quantidade de Sensores
  38. }
  39. // --------------------------- Só pra imprimir
  40. if (Qs1 >=1){
  41. for (int k = 0; k <15; k++)
  42. {
  43. Serial.print("\n\rSensor: ");
  44. Serial.print(k); //Imprime o Valor da Variável k, na mesma linha de cima
  45. Serial.print(" ROM: ");
  46. for (int j = 0; j <=7; j++) // Imprime 8 bytes da ROM
  47. {
  48. Serial.print("0x");
  49. if (Pendulo01[k][j] < 16) { // Se o numero tiver zero a esquerda,
  50. Serial.print('0');
  51. }
  52. Serial.print(Pendulo01[k][j], HEX); // imprime a matriz endereçada por K e J
  53. if (j < 7) {
  54. Serial.print(", ");
  55. }
  56. }
  57. }
  58. Serial.print("\n\r\n\rQuant. de Sensores: ");
  59. Serial.println(Qs1);
  60. ds1.reset_search();
  61. }
  62. else{
  63. Serial.print("\n\rNao ha Sensores no Pendulo 1...");
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement