, ,

Shield V1 multifunções para Arduino Keyestudio

REF: KS0183


Este Shield V1 multifunções para Arduino, da Keyestudio, é uma placa de aprendizagem, que pode ser útil em várias situações. Para o utilizar, não é preciso soldar ou conectar, basta fazer diretamente o download do programa para começar a realizar experiências. Além disso, existem portas extra que podem ser úteis para outras experiências.

7,89 IVA INCL.

Shield V1 multifunções

Características

Shield V1 multifunções

Compatível com as principais placas controladoras do mercado, como a Arduino UNO R3 e a Mega 2560 R3.
Utiliza um indicador LED de dois canais para mostrar o estado de trabalho programado, de forma a ser modelado de forma correta.
Completa a experiência de interrupção externa através de um keyswitch de dois canais.
Um botão de reset.
Pode medir a temperatura e humidade com o sensor DHT11.
Utiliza um potenciómetro giratório para as entradas analógicas.
Produz alarme e som através do módulo buzzer passivo.
LED full-color.
Utiliza um photovaristor para detetar o brilho da luz.
Faz experiências de medição de temperatura com o sensor LM35D.
Deteta a receção de infravermelhos através de um recetor infravermelho.
Portas digitais de dois canais: D7, D8.
Porta analógica de um canal: A3.
Uma interface IIC.
Uma porta serial TTL.

#include 
#include 
dht11 DHT;
#define DHT11_PIN 4

//buzzer pin
int buzzer = 5;

//button pins
int KEY2 = 2;
int KEY3 = 3;

//pin definition of flowing light
int led5 = 13;
int led4 = 12;
int led3 = 11;
int led2 = 10;
int led1 = 9;

int RECV_PIN = 6; //define input pin on Arduino
IRrecv irrecv(RECV_PIN);
decode_results results;

char i=0,flag=2; 
void setup ()
{
  Serial.begin(9600);
  
  irrecv.enableIRIn(); // Start the receiver
  
  attachInterrupt(0, falling0, FALLING);
  attachInterrupt(1, falling1, FALLING);
  
  pinMode(buzzer,OUTPUT);
  digitalWrite(buzzer,HIGH);

  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT); 
  pinMode(led4,OUTPUT);
  pinMode(led5,OUTPUT);
  for(char i=9;i<14;i++)
   digitalWrite(i,LOW);    
}
  
void loop()
{
  if(flag==0)
  {
  buzzer_();                //testing buzzer
  led_display();            //testing LED
  }
  if(flag==1)
  { 
  Serial.println("status,  Hum(%),  Tem(C)      analog_val      light_val     lm35_val");
  DHT11();
  Serial.print("          ");
  analog();                //testing analog input
  Serial.print("            ");
  Light();
  Serial.print("           ");
  LM35();
  Serial.println("          ");
  delay(800);
  }
  if(flag!=0 & flag!=1)
  {
    if (irrecv.decode(&results))
     {
       Serial.println(results.value, HEX);
       irrecv.resume(); // Receive the next value
     }  
  }
}

void DHT11()
{
int chk;
chk = DHT.read(DHT11_PIN);    // READ DATA
switch (chk)
  {
    case DHTLIB_OK:  
                Serial.print("OK        "); 
                Serial.print(DHT.humidity,1);
                Serial.print("       ");
                Serial.print(DHT.temperature,1);
                break;
    case DHTLIB_ERROR_CHECKSUM: 
                Serial.print("Checksum error        "); 
                break;
    case DHTLIB_ERROR_TIMEOUT: 
                Serial.print("Time out error        "); 
                break;
    default: 
                Serial.print("Unknown error         "); 
                break;
  }
}

void buzzer_(void)
{
 char i;  
 for(i=0;i<80;i++)// output a frequency sound
 { 
  digitalWrite(buzzer,LOW);// sound
  delay(1);//delay1ms 
  digitalWrite(buzzer,HIGH);//not sound
  delay(1);//ms delay 
 } 
 for(i=0;i<100;i++)// output a frequency sound
 { 
  digitalWrite(buzzer,LOW);// sound
  digitalWrite(buzzer,HIGH);//not sound
  delay(2);//2ms delay 
 }
}

void led_display()
{
 digitalWrite(led1,HIGH);
 delay(500);
 digitalWrite(led1,LOW);
 digitalWrite(led2,HIGH);
 delay(500);
 digitalWrite(led2,LOW);
 digitalWrite(led3,HIGH);
 delay(500);
 digitalWrite(led3,LOW);
 digitalWrite(led4,HIGH);
 delay(500);
 digitalWrite(led4,LOW);
 digitalWrite(led5,HIGH);
 delay(500);
 digitalWrite(led5,LOW);
}

void analog()
{
int val;
val=analogRead(A0);
Serial.print(val);
}

void Light()
{
int val;
val=analogRead(A1);
Serial.print(val);
}

void LM35()
{
int val;
val=analogRead(A2);
Serial.print(val);
}

void falling0()
{
flag=0;
}
void falling1()
{
flag=1;
}

 

Também pode gostar…