This project provides a GUI for interacting with an LCD connected to an Arduino via the Internet using a TCP server and socket-based communication. With this setup, you can control the LCD remotely through a user-friendly interface. The circuit schematic for replicating this setup is available in the ScreenShots
folder.
I embarked on this project to deepen my understanding of real-time internet communication using sockets and ports. At the same time, I wanted to enhance my skills in Windows Forms and Arduino programming. This project turned out to be a perfect blend of these interests.
Through this project, I gained:
- The ability to create a TCP client script and integrate it with a GUI.
- An understanding of socket connections, including the necessary handshakes for establishing communication.
- Insights into running applications locally, across a local network, and over the Internet by setting up port forwarding.
- Practical experience with combining Arduino and .NET technologies.
To use this project, ensure you have the following installed:
-
Clone the Repository:
git clone https://github.com/ChavezJuanC/ArduinoLCDControlGUI.git cd ArduinoLCDControlGUI
-
Prepare the Arduino:
- Navigate to the
ArduinoScript
directory and open the script with the Arduino IDE. - Flash the script to your Arduino.
- Note the COM port assigned to your Arduino.
- Navigate to the
-
Set Up the Server:
- Navigate to the
Server
directory. - Install dependencies:
dotnet restore
- Build and run the server, specifying the COM port as needed.
- Note: The server and Arduino should be running on the same machine.
- Navigate to the
-
Run the GUI:
- Navigate to the
ArduinoLCDControlGUI
directory. - Install dependencies:
dotnet restore
- Build and run the GUI application.
- Note: The client GUI can run on any machine that can connect to the server over the network.
- Navigate to the
-
Start Controlling the LCD:
- Use the GUI to connect to the server.
- Once connected, control the LCD remotely via the GUI interface.
Refer to the ScreenShots
folder for images and the circuit schematic needed to replicate the setup.
Feel free to submit issues or pull requests to improve this project. Feedback and contributions are always welcome!
This project is licensed under the MIT License.
Enjoy controlling your Arduino LCD remotely!