//mega_pirmotionsensor
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
byte sensorPin = 3;
byte indicator = 13;
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("LearningKit MEGA");
lcd.setCursor(0, 1);
lcd.print("PIR Motion Sensor");
pinMode(sensorPin,INPUT);
pinMode(indicator,OUTPUT);
}
void loop()
{
byte state = digitalRead(sensorPin);
digitalWrite(indicator,state);
if(state == 1)
{
lcd.setCursor(0,1);
lcd.print("Somebody is here!");
}
else if(state == 0)
{
lcd.setCursor(0,1);
lcd.print("No one! ");
}
delay(500);
}
//mega_digitalirreceiver
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("LearningKit MEGA");
lcd.setCursor(0, 1);
lcd.print("DigitalIRReceiver");
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
lcd.setCursor(0,0);
lcd.clear();
lcd.print("IR remote Code");
lcd.setCursor(0,1);
lcd.print("Code : ");
lcd.print(results.value);
irrecv.resume();
}
delay(100);
}
// mega_dht11
#include "DHT.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("LearningKit MEGA");
lcd.setCursor(0, 1);
lcd.print("DHT11");
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
lcd.setCursor(0, 0);
lcd.print("Temp:");
lcd.print(t);
lcd.write(0xDF);
lcd.print("C");
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("Humidity:");
lcd.print(h);
lcd.print("%");
}
//mega_hcsr04
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void wait_microsec(long wait) {
long start = micros();
while (( micros() - start) < wait);
}
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("LearningKit MEGA");
lcd.setCursor(0, 1);
lcd.print("HC-SR04");
pinMode( 3, INPUT);
pinMode( 2, OUTPUT);
}
void loop(){
digitalWrite( 2, HIGH);
wait_microsec( 11);
digitalWrite( 2, LOW);
unsigned long range = pulseIn( 3, HIGH ,1000000);
if ( range ) {
range = ( ( range * 340) / 2) / 1000;
lcd.setCursor( 0 , 1);
lcd.print( range / 10 , DEC);
lcd.print( ".");
lcd.print( range - ( ( range / 10) * 10) , DEC);
lcd.print( " cm ");
}
delay( 200);
}
0 件のコメント:
コメントを投稿