#include<LiquidCrystal.h>
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
#define ldr 8
int val;
int val2;
String duration;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(ldr, INPUT_PULLUP);
lcd.begin(16,2);
lcd.clear();
lcd.print("LiFi Project");
delay(3000);
lcd.clear();
lcd.print("Send any message");
delay(3000);
lcd.clear();
}
String Word="";
int y=0;
void loop() {
lcd.clear();
String binary=form_binary();
int decimal = binary_to_decimal(binary);
char character = (char)decimal;
lcd.print(character);
Word= Word+character;
if (character==(char)binary_to_decimal("00000000"))
{ Serial.println(Word);
Word="";
lcd.clear();
lcd.print("send any msg");
delay(3000);
}
}
String form_binary()
{
String binary;
for(int i=0 ;i<8;i=i+1){
binary=binary+digitalRead(ldr);
delay(500);}
return binary;
}
int binary_to_decimal(String binary) {
int decimal = 0;
int length = binary.length();
for (int i = 0;i<length; i++) {
if (binary[length - i - 1] == '1') {
decimal += pow(2, i);
}
}
return decimal;
}