





KS0183
Nuevo
Shield o escudo multi-proposito V1 con varios sensores para arduino. Marca Keyestudio.
El Shield o escudo multi-proposito V1 es una placa de aprendizaje basada en Arduino que no necesita soldar y conectar. Es solo descargar directamente el programa para completar el experimento. Es multiuso porque ofrece una variedad de sensores que usandolos con las bibliotecas de códigos de los módulos sensores que han sido incorporados en la placa. Puede utilizarlos directamente. Hay puertos extendidos en el escudo para ayudarle a completar otros experimentos.
#include <IRremote.h> #include <dht11.h> 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; }
Después de encendido, el indicador D1 está encendido, la luz TX de la tarjeta está parpadeando y el indicador LED13 está siempre encendido. Pulse SW1 para comenzar a emitir luz y zumbador y, a continuación, abrir el puerto serie. Puede detectar directamente la recepción de infrarrojos sin presionar los botones, el monitor muestra el valor. Pulse SW2 al abrir el puerto serie para iniciar las funciones de DHT11, entrada analógica, dispositivo fotosensible y prueba LM35, el monitor que muestra el valor.
Si necesita probar de nuevo, cierre el puerto serie y pulse el botón de reinicio para repetir los pasos anteriores.