DIY handheld LED lamp (19 / 23 steg)
Steg 19: Ladda upp koden
Innan du överför koden, ta bort antingen Arduino från sköld eller Bluetooth-modul Rx och Tx. Kopiera koden nedan och klistra in den i din Arduino ide. Jag har kommenterat framför linjer så att nybörjare kan förstå koden enkelt. Här koden:
#include < LiquidCrystal.h > //Adding alla bibliotek
#include < dht11.h >
#define START_CMD_CHAR ' *'
#define CMD_ANALOGWRITE 11
#define MAX_COMMAND 20 / / max antal kommandokoden. används för felkontroll.
#define MIN_COMMAND 10 / / minsta kommando sifferkod. används för felkontroll.
#define MAX_ANALOGWRITE 255
#define PIN_HIGH 3
#define PIN_LOW 2
int knappen = 7. definiera pin antal och värde
inttempPin = A1;
float härda;
int state = 0;
intpotPin = A0;
int värde = 0;
dht11 DHT11;
LiquidCrystallcd (12, 16, 5, 4, 3, 2);
Sträng inText;
void setup() {
DHT11.attach(8); talar om Arduino att som pin DHT11 sensor är kopplad
pinMode(button,INPUT);
LCD.BEGIN(16,2);
Serial.BEGIN(9600);
Serial.flush();
LCD.Print ("Arduino LED lampa"); utskrift av Startup-meddelandet
Delay(2000);
LCD.Clear();
LCD.Print("Control:"); Tala om vilket läge används för att styra led styrelsen
lcd.setCursor(0,1);
LCD.Print("Potensiometer");
Delay(2000);
LCD.Clear();
}
void loop()
{
LCD.Clear();
LCD.Print("INSTRUCTABLES");
Delay(50);
om (digitalRead (knappen) == hög & & statliga == 0) / / ändra läge av de instruktioner som ges av användaren
{
statliga ++;
LCD.Print("Control:");
lcd.setCursor(0,1);
LCD.Print("app");
Delay(2000);
LCD.Clear();
}
annars om (digitalRead (knappen) == hög & & statliga == 1)
{
statliga ++;
LCD.Print("Control:");
lcd.setCursor(0,1);
LCD.Print("Potensiometer");
Delay(2000);
LCD.Clear();
}
annars om (digitalRead (knappen) == hög & & statliga == 2)
{
State = staten-2;
intchk = DHT11.read();
Temp = analogRead(tempPin); emot utspänningen från temperaturgivare
Temp = temp * 0.48828125; omvandla den tillverkade spänningen till temperaturen i grad Celsius
LCD.Print ("Temp:");
LCD.Print(temp);
LCD.Print("*C");
lcd.setCursor(0,1);
LCD.Print("Humi:");
LCD.Print((int)DHT11.humidity,dec);
LCD.Print("%");
Delay(4000);
LCD.Clear();
}
om (statligt == 1) / / koden för controlloing led styrelsen från app
{
Serial.flush();
intard_command = 0;
intpin_num = 0;
intpin_value = 0;
charget_char = "";
get_char = Serial.read();
om (get_char! = START_CMD_CHAR) återvända;
ard_command = Serial.parseInt();
pin_num = Serial.parseInt();
pin_value = Serial.parseInt();
om (ard_command == CMD_ANALOGWRITE) {
analogWrite (pin_num, pin_value);
}
}
annars om (statligt == 0) / / kod för att kontrollera app från Potensiometer
{
värde = analogRead(potPin);
värde = karta (värde, 0, 1023, 0, 255);
analogWrite(11,value);
}
}