hwthinker icon

9in1 multifunction shield arduino SKU: M201

hwthinker | PRO | 10/29/23 11:48:57 AM UTC (Edited) | 0 ⭐ | 1530 👁️ | Never ⏰ | []
Arduino |

4.36 KB

|

None

|

0 👍

/

0 👎

// ** 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
}

Comments