The messages are being received, when the timestamp function is turned on in serial monitor the receive side will acknowledge the received data either by printing the timestamp, or in some cases parts of the sent message.
The LCD has been tested and working. Both the receiver and LCD work independently, but once the LCD code has has been added to the receiver code, there seems to be some sort of problem with the receiver not printing the whole message.
Sorry for cross-posting, I did read the instructions, however I did not receive any replies and thought this section would be better suited. I don’t see an option to delete threads, or to move them.
I will attach my code though it’s pretty simple.
Link to instructable github:
Minor changes to add LCD code to github example:
/* Serial laser communicator, receiver
* laser VCC pin to pin 6, - pin to ground
* photodiode signal on pin 7, power pins as normal
* timer 2 used
* For arduino uno or any board with ATMEL 328/168.. diecimila, duemilanove, lilypad, nano, mini...
Author: Andrew R. from HobbyTransform (http://hobbytransform.com/)
Written in 2016
//LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
lcd.init(); // initialize the lcd
// Print a message to the LCD.
pdiode.set_speed(25000); // bits/sec, must match laser bit transfer rate
//timer2 interrupts LIGHT_RECEIVE_PIN at determined speed to receive each half bit
//via the manchester modulated signal.
//receive message, if any
//print and return most recently received byte, if any, only once