Advertisement
hwthinker

9in1 multifunction shield arduino SKU: M201

Nov 13th, 2021 (edited)
1,242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ** code for 9 in 1 expansion board for uno
  2. // ** this code is modified by hwthinker **
  3. //dht sensor libary by adafruit diperlukan
  4. #include "Arduino.h"
  5. #include "DHT.h"
  6.  
  7. void beep(unsigned char delayms);
  8. float tempC;
  9. int reading;
  10.  
  11. int trimpotPin = A0;
  12. int tempPin = A2;
  13. int LDRPin = A1;
  14. int LED1 = 13;
  15. int LED2 = 12;
  16. int ledRED = 9;
  17. int ledBLUE = 10;
  18. int ledGREEN = 11;
  19. int buzzerPin = 5;
  20. //DHT dht;
  21.  
  22. #define DHTPIN 4      // Digital pin connected to the DHT sensor
  23. #define DHTTYPE DHT11 // DHT 11
  24.  
  25. DHT dht(DHTPIN, DHTTYPE);
  26.  
  27. void setup()
  28. {
  29.   pinMode(LED1, OUTPUT);  
  30.   pinMode(LED2, OUTPUT);
  31.   pinMode(ledRED, OUTPUT);
  32.   pinMode(ledBLUE, OUTPUT);        
  33.   pinMode(ledGREEN, OUTPUT);
  34.   Serial.begin(9600);
  35.   Serial.println(F("DHTxx test!"));
  36.   dht.begin();
  37. }
  38.  
  39. void loop()
  40. {
  41.  
  42. //***** Test DHT11 ********************
  43.   Serial.println("1: Test DHT11 using adafruit Lib");
  44.   for (int i = 0; i < 4; i++)
  45.   {
  46.     delay(2000);
  47.     // Reading temperature or humidity takes about 250 milliseconds!
  48.     // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  49.     float h = dht.readHumidity();
  50.     // Read temperature as Celsius (the default)
  51.     float t = dht.readTemperature();
  52.     // Read temperature as Fahrenheit (isFahrenheit = true)
  53.     float f = dht.readTemperature(true);
  54.  
  55.     // Check if any reads failed and exit early (to try again).
  56.     if (isnan(h) || isnan(t) || isnan(f))
  57.     {
  58.       Serial.println(F("Failed to read from DHT sensor!"));
  59.       return;
  60.     }
  61.     Serial.print(F("Humidity: "));
  62.     Serial.print(h);
  63.     Serial.print(F("%  Temperature: "));
  64.     Serial.print(t);
  65.     Serial.print(F("°C "));
  66.     Serial.println(f);
  67.   }
  68.  
  69. //*************  TEST LM35 ********************
  70.   Serial.println("2 : Test LM35");
  71.   for (int i = 0; i < 20; i++)
  72.   {
  73.     int val = analogRead(tempPin);
  74.     float mv = (val / 1024.0) * 5000;
  75.     float cel = mv / 10;
  76.     Serial.println(cel);
  77.     delay(300);
  78.   }
  79.  
  80.  //*************  TEST LDR ********************
  81.   Serial.println("");
  82.   Serial.println("3 : TEST LDR");
  83.   for (int i = 0; i < 20; i++)
  84.   {
  85.     int val = analogRead(LDRPin);
  86.     Serial.println(val);
  87.      delay(300);
  88.   }
  89.  
  90.   Serial.println("");
  91.   Serial.println("4 : TEST Rotation VR");
  92.   for (int i = 0; i < 20; i++)
  93.   {
  94.     int val = analogRead(trimpotPin);
  95.     Serial.print(val);
  96.     Serial.print("\r");
  97.     delay(300);
  98.     Serial.print("\r");
  99.     Serial.print("    ");
  100.   }
  101.   Serial.println("");
  102.  
  103.   // ************  Test LED1 dan LED2 ******************
  104.   Serial.println("5 : TEST LED1+LED2");
  105.   Serial.println("silahkan cek Lampu LED");
  106.   for (int i = 0; i < 20; i++)
  107.   {
  108.     digitalWrite(LED1, HIGH);
  109.     digitalWrite(LED2, LOW);
  110.     delay(200);
  111.     digitalWrite(LED1, LOW);
  112.     digitalWrite(LED2, HIGH);
  113.     delay(200);
  114.   }
  115.   Serial.println("");
  116.   digitalWrite(LED1, LOW);
  117.   digitalWrite(LED2, LOW);
  118.  
  119. //****** Test LED   RGB *******************
  120.   Serial.println("6 : TEST LED RGB");
  121.   for (int i = 0; i < 7; i++)
  122.   {
  123.     digitalWrite(ledRED, 1);
  124.     digitalWrite(ledBLUE, 0);
  125.     digitalWrite(ledGREEN, 0);
  126.     delay(100);
  127.  
  128.     digitalWrite(ledRED, 0);
  129.     digitalWrite(ledBLUE, 1);
  130.     digitalWrite(ledGREEN, 0);
  131.     delay(100);
  132.  
  133.     digitalWrite(ledRED, 0);
  134.     digitalWrite(ledBLUE, 0);
  135.     digitalWrite(ledGREEN, 1);
  136.     delay(100);
  137.  
  138.     digitalWrite(ledRED, 0);
  139.     digitalWrite(ledBLUE, 0);
  140.     digitalWrite(ledGREEN, 0);
  141.     delay(400);
  142.   }
  143.  
  144. //*************  TEST SW1 + SW2 ********************
  145.   Serial.println("7 : TEST SW1+SW2 Press Button");
  146.   int count = 0;
  147.   do
  148.   {
  149.     if (digitalRead(2) == 0)
  150.     {
  151.       Serial.println("SW1 Press");
  152.       count++;
  153.       beep(50);
  154.       digitalWrite(13, HIGH);
  155.  
  156.       delay(200);
  157.       digitalWrite(13, LOW);
  158.     }
  159.     if (digitalRead(3) == 0)
  160.     {
  161.       Serial.println("SW2 Press");
  162.       count++;
  163.       beep(50);
  164.       digitalWrite(12, HIGH);
  165.       delay(200);
  166.       digitalWrite(12, LOW);
  167.     }
  168.   } while (count < 4);
  169.   Serial.println("Finish TEST press Reset to Test Again");
  170.   delay(20000);
  171. }
  172.  
  173. void beep(unsigned char delayms)
  174. {
  175.   analogWrite(buzzerPin, 20); // Almost any value can be used except 0 and 255
  176.   // experiment to get the best tone
  177.   delay(delayms);            // wait for a delayms ms
  178.   analogWrite(buzzerPin, 0); // 0 turns it off
  179.   delay(delayms);            // wait for a delayms ms
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement