Controlling Brightness of Arduino LED Remotely Using PyQt and WiFi

In this lesson we will use PyQt5, UDP and WiFi to control the brightness of an Arduino LED circuit remotely. The PyQt generates a constantly updating sin wave, which it plots on a PyQt graph, and then transfers the brightness in real time to the arduino project. This lesson teaches many important skills including UDP, WiFi, PyQt5, Python, Arduino and LEDs.

When using the breadvolt, or any battery power supply on a breadboard project, do not turn the power supply on while the Arduino is connected to USB, as you could generate voltage conflicts. It is an either or. If the USB is connected, the power supply should be OFF. The schematic for the arduino circuit is shown below:

Schematic of our Arduino Uno R4 Wifi connected to an RGB LED

In the video, we develop code for the server, on the arduino, and the client, running in Python on the desktop. We present the code below for your convenience.

This is the Server code for the Arduino:

You will need to open a new tab, and save the following code as “secrets.h” with the program above.

On the Python side, this is the Client code:

 

Plot Live Data in Python Using PyQt5

In this video lesson we show you how to plot live data in Python using PyQt5. In this lesson, we generate the data in python on the fly, but in future lessons we will bring the data in from the Arduino Project over WiFi using UDP. For your convenience, the code we developed in this lesson is below:

 

PyQt5 Project to Control Arduino RGB LED Over WiFi

In this video lesson we add slider bars to our PyQt Widget allowing us to control the color of an RGB LED over WiFi. When using the breadvolt, or any battery power supply on a breadboard project, do not turn the power supply on while the Arduino is connected to USB, as you could generate voltage conflicts. It is an either or. If the USB is connected, the power supply should be OFF. Or if you are going to connect the USB, first turn off the power supply. The schematic for the project circuit is shown below:

Schematic of our Arduino Uno R4 Wifi connected to an RGB LED

The server side code developed in the video is presented below:

Remember to add the secrets.h file by adding a tab to the project, as explained in the video.

And then on the client side, we have the following code:

 

Connecting the Adafruit Ultimate GPS to the Raspberry Pi Pico W

In this video lesson we will connect the Adafruit Ultimate GPS to the Raspberry Pi Pico W, and will write a simple program to capture the data being sent by the GPS. In this lesson, we simply want to read and print the NMEA sentences coming off the GPS, and then in future lessons we will begin to parse the data, and turn the data into usable numbers. This is the schematic for connecting the GPS to your Raspberry Pi Pico W.

Pi Pico GPS
This schematic shows how to connect the Adafruit Ultimate GPS to the Raspberry Pi Pico W

Then this is the simple code we developed to allow reading the data coming from the GPS.

 

Adding Slider Bars to Your PyQt Arduino Project

In this lesson we add slider bars to our PyQt widget. The slider bars will be used to control the color of an RGB LED, but this week we are simply getting the slider bars incorporated into the widget and then next week we will connect them to the Arduino. This is the schematic for the arduino we are using for the next few lessons:

Schematic of our Arduino Uno R4 Wifi connected to an RGB LED

When using the breadvolt, or any battery power supply on a breadboard project, do not turn the power supply on while the Arduino is connected to USB, as you could generate voltage conflicts. It is an either or. If the USB is connected, the power supply should be OFF. Or if you are going to connect the USB, first turn off the power supply.

This is the code for the server on the Arduino:

Remember you will need the secrets.h tab in order to have your WiFi login credentials.

 

The code below creates a PyQt widget with three slider bars. In this code, we are just demonstrating use of Slider Bars. Next week we will connect the Slider bars to the Arduino over WiFi for controlling RGB Color.

 

Making The World a Better Place One High Tech Project at a Time. Enjoy!