Advertisement
Guest User

Arduino PWS

a guest
Nov 14th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.89 KB | None | 0 0
  1. #include <OneWire.h>  //Importeer de library "OneWire", die hebben we nodig om de thermometers (ds18b20) te initialiseren  
  2. #include <DallasTemperature.h>  //Importeer de library "Dallas", die we gebruiken om de thermometers af te lezen
  3. #include <LiquidCrystal_I2C.h>  //Importeer de library "LiquidCrystal_I2C", die we gebruiken om de 16x2 LCD te besturen
  4.  
  5. LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  //We maken het object "lcd" aan, en geven de parameters om het juist te initaliseren
  6. OneWire oneWire(2);  //We maken het object "oneWire", en geven de parameter waar alle thermometers worden aangesloten
  7. DallasTemperature sensors(&oneWire);  //We maken het object "sensors" aan, die als enige parameters het object "oneWire" nodig heeft
  8.  
  9. DeviceAddress sensor1 = { 0x28, 0x8D, 0x4F, 0x77, 0x91, 0x18, 0x02, 0xB3 };  //Elke thermometer heeft een uniek 8-byteadress, die we elk aan een makkelijker te onthouden naam geven
  10. DeviceAddress sensor2 = { 0x28, 0xBD, 0x26, 0x46, 0x92, 0x01, 0x02, 0xC1 };  //Hiermee zorgen we dat de Arduino al de verschillende data uit elkaar onderscheiden,om dat alles over slechts één draadje gaat
  11. DeviceAddress sensor3 = { 0x28, 0x88, 0xDD, 0x77, 0x91, 0x09, 0x02, 0x44 };
  12. DeviceAddress sensor4 = { 0x28, 0x7E, 0x55, 0x77, 0x91, 0x07, 0x02, 0xAD };
  13. DeviceAddress sensor5 = { 0x28, 0x64, 0x23, 0x46, 0x92, 0x0D, 0x02, 0x0C };
  14. DeviceAddress sensor6 = { 0x28, 0x87, 0x00, 0x46, 0x92, 0x09, 0x02, 0xF1 };
  15. DeviceAddress sensor7 = { 0x28, 0x7C, 0xF5, 0x46, 0x92, 0x0D, 0x02, 0x34 };
  16. DeviceAddress sensor8 = { 0x28, 0x0E, 0xC6, 0x46, 0x92, 0x08, 0x02, 0xF7 };
  17.  
  18. void setup(){  //De code die één keer wordt uitgevoerd, namelijk bij het opstarten of resetten van de Arduino
  19.   Serial.begin(9600);  //Start de Serialdata met 9600 baudrate (de standaard). Dit gaat via USB naar de PC.
  20.   Serial.println("OCTO");
  21.   lcd.begin(16,2);  //Start de lcd
  22.   lcd.clear();  //Verwijder alles huidig op de lcd
  23.  
  24.   sensors.begin(); //Start de Dallasfunctie
  25.   sensors.setResolution(sensor1, 10);  //Initialiseer elke thermometer één voor één, elk met zijn unieke adress
  26.   sensors.setResolution(sensor2, 10);  //We passen de dataresolutie aan naar 10-bit, dat is net wat hoger dan de standaard
  27.   sensors.setResolution(sensor3, 10);
  28.   sensors.setResolution(sensor4, 10);
  29.   sensors.setResolution(sensor5, 10);
  30.   sensors.setResolution(sensor6, 10);
  31.   sensors.setResolution(sensor7, 10);
  32.   sensors.setResolution(sensor8, 10);
  33.   Serial.print(sensors.getDeviceCount());  //Print in de console hoeveel sensors er zijn aangesloten, zo kan je makkelijk zien of ze allemaal zijn aangesloten en werken
  34.   Serial.print(" sensors aangesloten!");
  35.   Serial.println("");
  36. }
  37.  
  38. void loop(){
  39.   delay(5000);  //Wacht 500 ms, oftewel 5 seconden
  40.   lcd.clear();  //Verwijder alles huidig op de lcd
  41.   Serial.println();
  42.   sensors.requestTemperatures();  
  43.  
  44.   Serial.print("Sensor 1 Temp.: ");
  45.   printTemperature(sensor1);
  46.   Serial.print(" || ");
  47.  
  48.   Serial.print("Sensor 2 Temp.: ");
  49.   printTemperature(sensor2);
  50.   Serial.print(" || ");
  51.  
  52.   Serial.print("Sensor 3 Temp.: ");
  53.   printTemperature(sensor3);
  54.   Serial.print(" || ");
  55.  
  56.   Serial.print("Sensor 4 Temp.: ");
  57.   printTemperature(sensor4);
  58.   Serial.print(" || ");
  59.  
  60.   Serial.print("Sensor 5 Temp.: ");
  61.   printTemperature(sensor5);
  62.   Serial.print(" || ");
  63.  
  64.   Serial.print("Sensor 6 Temp.: ");
  65.   printTemperature(sensor6);
  66.   Serial.print(" || ");
  67.  
  68.   Serial.print("Sensor 7 Temp.: ");
  69.   printTemperature(sensor8);
  70.   Serial.print(" || ");
  71.  
  72.   Serial.print("Sensor 8 Temp.: ");
  73.   printTemperature(sensor8);
  74.  
  75.   lcd.print(sensors.getDeviceCount());
  76.   lcd.print(" werkende ");
  77.   lcd.setCursor(0,1);
  78.   lcd.print("sensors");
  79. }
  80.  
  81. void printTemperature(DeviceAddress deviceAddress){
  82.   float TEMPC = sensors.getTempC(deviceAddress);
  83.  
  84.   if (TEMPC == -127.00){
  85.     Serial.print("ERROR");
  86.   }
  87.   else{
  88.     Serial.print(sensors.getTempC(deviceAddress));
  89.   }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement