First Commit

This commit is contained in:
Vasily Davydov 2021-12-14 17:07:42 +02:00 committed by GitHub
parent 602dd5e325
commit 229b54105d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 131 additions and 0 deletions

25
RoomyState/Counter.cpp Normal file
View File

@ -0,0 +1,25 @@
#include "Counter.h"
void Counter::inc() {
if(init >= up_lim){
init = 0;
} else{
++init;
}
}
int Counter::getInit(){
return this->init;
}
Counter::Counter(int i, int up) {
up_lim = up;
if(i > up){
init = up;
}else if(i < 0){
init = 0;
}else{
init = i;
}
}

13
RoomyState/Counter.h Normal file
View File

@ -0,0 +1,13 @@
class Counter {
public:
Counter(int i, int up);
void inc();
int getInit();
~Counter() = default;
private:
int init;
int up_lim;
};

31
RoomyState/RoomyState.ino Normal file
View File

@ -0,0 +1,31 @@
#include "lcd.h"
int buttonState = 0;
Counter c (0, 3);
void setup() {
lcdAwake();
pinMode(BI, INPUT);
}
void loop() {
buttonState = digitalRead(BI);
if(buttonState){
c.inc();
delay(300);
}
switch(c.getInit()){
case 0:
setHome();
case 1:
setAway();
case 2:
setBusy();
case 3:
setCome();
default:
break;
}
}

43
RoomyState/lcd.cpp Normal file
View File

@ -0,0 +1,43 @@
#include "lcd.h"
void lcdAwake(){
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 1);
lcd.print(" LCD awake ");
delay(1500);
lcd.clear();
}
void setHome(){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print(" Currently ");
lcd.setCursor(1, 1);
lcd.print(" Home ");
}
void setAway(){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print(" Currently ");
lcd.setCursor(1, 1);
lcd.print(" Not Home ");
}
void setBusy(){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print(" Currently ");
lcd.setCursor(1, 1);
lcd.print(" Busy ");
}
void setCome(){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print(" Free... ");
lcd.setCursor(1, 1);
lcd.print(" Come in! ");
}

14
RoomyState/lcd.h Normal file
View File

@ -0,0 +1,14 @@
#include "lib.h"
LiquidCrystal lcd(RS, ENA, D4, D5, D6, D7);
void lcdAwake();
//Displaying functions
void setHome();
void setAway();
void setBusy();
void setCome();

5
RoomyState/lib.h Normal file
View File

@ -0,0 +1,5 @@
#include <LiquidCrystal.h>
#include "Counter.h"
#include <Arduino.h>
enum pinOut { RS, ENA, D4, D5, D6, D7, BI};