// ** code for 9 in 1 expansion board for uno // ** this code is modified by hwthinker ** //dht sensor libary by adafruit diperlukan #include "Arduino.h" #include "DHT.h" void beep(unsigned char delayms); float tempC; int reading; int trimpotPin = A0; int tempPin = A2; int LDRPin = A1; int LED1 = 13; int LED2 = 12; int ledRED = 9; int ledBLUE = 10; int ledGREEN = 11; int buzzerPin = 5; //DHT dht; #define DHTPIN 4 // Digital pin connected to the DHT sensor #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); void setup() { pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(ledRED, OUTPUT); pinMode(ledBLUE, OUTPUT); pinMode(ledGREEN, OUTPUT); Serial.begin(9600); Serial.println(F("DHTxx test!")); dht.begin(); } void loop() { //***** Test DHT11 ******************** Serial.println("1: Test DHT11 using adafruit Lib"); for (int i = 0; i < 4; i++) { delay(2000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.print(F("°C ")); Serial.println(f); } //************* TEST LM35 ******************** Serial.println("2 : Test LM35"); for (int i = 0; i < 20; i++) { int val = analogRead(tempPin); float mv = (val / 1024.0) * 5000; float cel = mv / 10; Serial.println(cel); delay(300); } //************* TEST LDR ******************** Serial.println(""); Serial.println("3 : TEST LDR"); for (int i = 0; i < 20; i++) { int val = analogRead(LDRPin); Serial.println(val); delay(300); } Serial.println(""); Serial.println("4 : TEST Rotation VR"); for (int i = 0; i < 20; i++) { int val = analogRead(trimpotPin); Serial.print(val); Serial.print("\r"); delay(300); Serial.print("\r"); Serial.print(" "); } Serial.println(""); // ************ Test LED1 dan LED2 ****************** Serial.println("5 : TEST LED1+LED2"); Serial.println("silahkan cek Lampu LED"); for (int i = 0; i < 20; i++) { digitalWrite(LED1, HIGH); digitalWrite(LED2, LOW); delay(200); digitalWrite(LED1, LOW); digitalWrite(LED2, HIGH); delay(200); } Serial.println(""); digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); //****** Test LED RGB ******************* Serial.println("6 : TEST LED RGB"); for (int i = 0; i < 7; i++) { digitalWrite(ledRED, 1); digitalWrite(ledBLUE, 0); digitalWrite(ledGREEN, 0); delay(100); digitalWrite(ledRED, 0); digitalWrite(ledBLUE, 1); digitalWrite(ledGREEN, 0); delay(100); digitalWrite(ledRED, 0); digitalWrite(ledBLUE, 0); digitalWrite(ledGREEN, 1); delay(100); digitalWrite(ledRED, 0); digitalWrite(ledBLUE, 0); digitalWrite(ledGREEN, 0); delay(400); } //************* TEST SW1 + SW2 ******************** Serial.println("7 : TEST SW1+SW2 Press Button"); int count = 0; do { if (digitalRead(2) == 0) { Serial.println("SW1 Press"); count++; beep(50); digitalWrite(13, HIGH); delay(200); digitalWrite(13, LOW); } if (digitalRead(3) == 0) { Serial.println("SW2 Press"); count++; beep(50); digitalWrite(12, HIGH); delay(200); digitalWrite(12, LOW); } } while (count < 4); Serial.println("Finish TEST press Reset to Test Again"); delay(20000); } void beep(unsigned char delayms) { analogWrite(buzzerPin, 20); // Almost any value can be used except 0 and 255 // experiment to get the best tone delay(delayms); // wait for a delayms ms analogWrite(buzzerPin, 0); // 0 turns it off delay(delayms); // wait for a delayms ms }