You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
BryanMartinMirandaLeal 49e1144570 README File 3 weeks ago
1.png Images 4 weeks ago
2.png Images 4 weeks ago
3.png Images 4 weeks ago
4.png Images 4 weeks ago
5.png Images 4 weeks ago
6.png Images 4 weeks ago
7.png Images 4 weeks ago
8.png Images 4 weeks ago
9.png Images 4 weeks ago
10.png Images 4 weeks ago
11.png Images 4 weeks ago
12.png Images 4 weeks ago
13.png Images 4 weeks ago
14.png Images 4 weeks ago
15.png Images 4 weeks ago
16.png Images 4 weeks ago
17.png Images 4 weeks ago
18.png Images 4 weeks ago
19.png Images 4 weeks ago
20.png Images 3 weeks ago
README.md README File 3 weeks ago
source_code.ino Original Source Code for Atlas Scientific Pool Kit 4 weeks ago

README.md

Microprocessor

The Wi-Fi Pool Kit is controlled using an Adafruit Feather HUZZAH32 as its CPU. The HUZZAH is programmed using the Arduino IDE and uses an onboard ESP32 as its Wi-Fi transmitter.

ESP2 Board

PCB

The overall design of the PCB is quite simple. The CPU is powered and programmed through the panel-mount USB connector. The CPUs USB pin supplies the board's power bus with 5V.

Pool Kit PCB

Communication protocol

The CPU communicates with all peripheral sensors using the I2C data protocol. All data lines are directly connected to the CPUs I2C port. Using a different data protocol with this circuit board is not possible.

It is important to keep in mind that all Atlas Scientific components default to UART mode. When adding a new Atlas Scientific component to the kit, it must first be put into I2C mode.

Adding additional components of the same type, such as an additional pH or ORP sensor, is not hard to do. As mentioned above, you must set the device to I2C mode, and you must make sure that its I2C address is not the same as the already existing components.

The next table lists the default I2C address of Atlas Scientific components commonly added to this kit.

I2C addresses

Setting up the Wi-Fi Pool Kit

The Atlas-Scientific Wi-Fi Pool Kit has been designed to upload sensor data to the ThingSpeak website, a free, cloud-based data acquisition and visualization platform. You will be required to set up a free account with ThingSpeak to upload and visualize the data. With a free account, you can upload data once every 15 seconds.

Setup a ThingSpeak account

Because the sensor data is stored/viewed on the ThingSpeak website, you will need to setup a ThingSpeak account. Create your ThingSpeak account by using the next link: https://thingspeak.com/login

Set up an account

Create a channel

Your data is uploaded to ThingSpeak through a Channel. Select New Channel:

Select a new channel

To finish this step, Scroll to the bottom of the page and click Save Channel.

Get ThingSpeak API keys

After you saved your channel settings, you will be redirected to your channel page. Click on API keys.

Keys1

Keys2

Be sure to save your Channel ID and Write API Key because we are going to need them in the next steps.

Arduino IDE libraries

You will have to make sure you have the correct path for the ESP32 Library.

In the Arduino IDE, go to File > Preferences.

Locate the Additional Boards Manager URLS text box.

Additional boards 1

Make sure this URL is in the text box: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Then, click OK.

Now, in the Arduino IDE go to Tools > Board > Boards Manager.

Boards manager 1

Boards manager 2

In the search bar of the Boards Manager, lookup esp32. Update to the most recent version if you do not already have it.

ThingSpeak library for Arduino

Now, you have to use the next link to download the ThingSpeak library, which lets us sending data to this platform:

https://www.arduinolibraries.info/libraries/thing-speak

It is important you do not unzip the downloaded file.

You will have to import this .zip file to the Arduino IDE. To import the file, in the IDE go to: Sketch > Include Library > Add .ZIP Library

ThingSpeak ZIP

And pick the corresponding file you just downloaded.

EZO I2C Library

Use the next link to download the modules for I2C communication between the devices of the board: https://github.com/Atlas-Scientific/Ezo_I2c_lib

EZO ZIP

Again, it is important you do not unzip the downloaded file. One more time, you have to import this file to the Arduino IDE by following the same instructions: Sketch > Include Library > Add .ZIP Library

Source code

After you import both .ZIP files, in this repository it is included the file source_code.ino. You must download this file and open it in the Arduino IDE.

Once you have the file opened, the first thing to do is filling in the code with the name of your Wi-Fi signal and its password. Also, it is neccessary you complete with the data from the ThingSpeak platform, specifically for the Channel ID and your Write API Key.

Filling in wifi password

Upload your code

In the Arduino IDE follow the next instructions: Tools > Board > ESP32 Arduino > Adafruit ESP32 Feather

Uploading the code

Now you have to check the CPU settings for the microcontroller are correct. In the Arduino IDE go to the Tools option in the menu.

Uploading the code

It is important you note these options might not be the same for your IDE; it depends on the version you have installed for the Arduino IDE. Just match these options as closely as possible.

Now you can compile and upload the code to your board.

Once the code is uploaded, open the Arduino Serial Monitor.

Serial monitor

Set the options to carriage return and 9600 baud. You should see something similar to the next image:

Example 1

It is important you notice not all the measurements are sent to the ThingSpeak platform. The sending occurs every 15 seconds only.

The poll command

In the Serial Monitor of the Arduino IDE, use the poll command to see the readings of the measurements once per second.

The help command

The help command shows the full list of commands available for the device, along with the description of each one of them.

help command

If you want to leave the help menu, use the poll command to go back to continuously reading mode.