#define TDS_Pin A2
and #define turbidity_Pin A4
). If not using Grove ports or the battery chassis, you can use the 40-Pin GPIO Header at the back.Sketch > Include Library > Add .ZIP library
:
edge-impulse-data-forwarder --frequency 5
2 sensor axes detected (example values: [3,1.79]). What do you want to call them? Separate the names with ',':
, type TDS, Turbidity
as these are the sensor labels used in the program.Data acquisition
air
that is, do not immerse the sensors in any liquid, just keep them in the air.
air
is even “hard coded” in the program, but the program will technically work fine even if you don’t use air
as the label.Start sampling
to collect data, I collected roughly 6 minutes of data for each label, but I recommend you start with a minute or so for each label. Machine learning is most often an iterative process, so start small and adjust if needed.Test
in the Dataset
section and collect data there, but especially the first time it is easier to select ´Dashboard, scroll down and then click
Perform train/test split`. This will create an ideal split of 80%/20%.Create impulse
from the menu, set the Window size to 2000 ms, Window increase to 500 ms, and frequency to 5 Hz.Raw Data
as Processing block
and Classification
as Learning block
Save impulse
Raw data
from the menuGenerate features
Classifier
from the menuStart training
, unless you have lots of data and/or a very huge neural network, the training will in this case take just a few minutes.Retrain model
. This way you don’t need to generate new features.Model testing
and click Classify all
.Deployment
from the menuArduino library
Unoptimized (float32)
, and click Build
Tongue.ino
in Arduino IDE, include the new library as instructed, and then replace <Tongue_inferencing.h>
with your own library’s header file. If you named your project e.g. Liquids
in Edge Impulse, you’d put <Liquids.h>
here.Tongue.ino
program: