Stap 19: Upload de CODE
Voordat u de code uploadt, ofwel Arduino verwijderen uit het schild of Bluetooth-module Rx en Tx. Kopieer de code hieronder en plak deze in uw Arduino ide. Ik heb gereageerd voor lijnen zodat beginners kunnen gemakkelijk de code begrijpen. Hier de code:
#include < LiquidCrystal.h > //Adding alle bibliotheken
#include < dht11.h >
#define START_CMD_CHAR "*"
#define CMD_ANALOGWRITE 11
#define MAX_COMMAND 20 / / max aantal opdrachtcode. voor foutcontrole gebruikt.
#define MIN_COMMAND 10 / "/" minimum opdracht numerieke code. voor foutcontrole gebruikt.
#define MAX_ANALOGWRITE 255
#define PIN_HIGH 3
#define PIN_LOW 2
int knop = 7; de pin-code en de waarde definiëren
inttempPin = a1 worden verkregen;
float temp;
int status = 0;
intpotPin = A0;
int waarde = 0;
dht11 DHT11;
LiquidCrystallcd (12, 16, 5, 4, 3, 2);
Tekenreeks inText;
VOID Setup {}
DHT11.attach(8); Arduino vertellen dat die pin DHT11 sensor is aangesloten
pinMode(button,INPUT);
LCD.begin(16,2);
Serial.begin(9600);
Serial.Flush();
LCD.Print ("Arduino LED lamp"); afdrukken van de Opstartmelding
delay(2000);
LCD.Clear();
LCD.Print("Control:"); Vertellen welke modus moet worden gebruikt voor de led bord
lcd.setCursor(0,1);
LCD.Print("Potensiometer");
delay(2000);
LCD.Clear();
}
void loop
{
LCD.Clear();
LCD.Print("INSTRUCTABLES");
delay(50);
Als (digitalRead (knop) == HIGH & & staat == 0) / / de modus wijzigen door de instructies die zijn gegeven door de gebruiker
{
staat ++;
LCD.Print("Control:");
lcd.setCursor(0,1);
LCD.Print("app");
delay(2000);
LCD.Clear();
}
anders als (digitalRead (knop) == HIGH & & staat == 1)
{
staat ++;
LCD.Print("Control:");
lcd.setCursor(0,1);
LCD.Print("Potensiometer");
delay(2000);
LCD.Clear();
}
anders als (digitalRead (knop) == HIGH & & staat == 2)
{
staat = staat-2;
intchk = DHT11.read();
Temp = analogRead(tempPin); Ontvangen van de uitgangsspanning van de temperatuursensor
temp temp = * 0.48828125; omzetten van de uitgangsspanning in temperatuur in graden 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();
}
Als (staat == 1) / / Code voor controlloing led bord van app
{
Serial.Flush();
intard_command = 0;
intpin_num = 0;
intpin_value = 0;
charget_char = "";
get_char = Serial.read();
Als (get_char! = START_CMD_CHAR) terugkeer;
ard_command = Serial.parseInt();
pin_num = Serial.parseInt();
pin_value = Serial.parseInt();
Als (ard_command == CMD_ANALOGWRITE) {}
analogWrite (pin_num, pin_value);
}
}
anders als (staat == 0) / / Code voor het beheersen van de app van Potensiometer
{
waarde = analogRead(potPin);
waarde = kaart (waarde 0, 1023, 0, 255);
analogWrite(11,value);
}
}