#include const int ledPin = 22; const int ledPin2 = 23; const int ledPin3 = 24; void receivedData(); void setup() { Serial.begin(115200); PhyphoxBLE::start(); PhyphoxBLE::configHandler=&receivedData; //Experiment PhyphoxBleExperiment rgbmix_m; rgbmix_m.setTitle("RGB Colour Mixing (manual mode)"); rgbmix_m.setCategory("Arduino Nano 33 BLE Sense"); rgbmix_m.setDescription("This simple experiment utilises the on-board RGB LED of the Arduino Nano 33 Sense BLE in order to demonstrate the effect of additive colour mixing (e.g. red and green perceived as yellow). You can control the LEDs by entering one of the following numbers in the view: red=1, yellow=2, green=3, cyan=4, blue=5, magenta=6, white=7. To observe the effect you could either project the light created by the LEDs on a piece of paper or even better use your phone's camera and adjust its exposure settings accordingly (showcase video https://youtu.be/udVFqAXMCKk)."); //View PhyphoxBleExperiment::View firstView; firstView.setLabel("FirstView"); //Edit PhyphoxBleExperiment::Edit RGBLED; RGBLED.setLabel("RGB Setting (1-7)"); RGBLED.setSigned(false); RGBLED.setDecimal(false); RGBLED.setChannel(1); firstView.addElement(RGBLED); rgbmix_m.addView(firstView); PhyphoxBLE::addExperiment(rgbmix_m); } void loop() { } void receivedData() { float receivedRGB; PhyphoxBLE::read(receivedRGB); if(receivedRGB==1){ digitalWrite(LEDR, LOW); digitalWrite(LEDG, HIGH); digitalWrite(LEDB, HIGH); } else if(receivedRGB==2){ digitalWrite(LEDR, LOW); digitalWrite(LEDG, LOW); digitalWrite(LEDB, HIGH); } else if(receivedRGB==3){ digitalWrite(LEDR, HIGH); digitalWrite(LEDG, LOW); digitalWrite(LEDB, HIGH); } else if(receivedRGB==4){ digitalWrite(LEDR, HIGH); digitalWrite(LEDG, LOW); digitalWrite(LEDB, LOW); } else if(receivedRGB==5){ digitalWrite(LEDR, HIGH); digitalWrite(LEDG, HIGH); digitalWrite(LEDB, LOW); } else if(receivedRGB==6){ digitalWrite(LEDR, LOW); digitalWrite(LEDG, HIGH); digitalWrite(LEDB, LOW); } else if(receivedRGB==7){ digitalWrite(LEDR, LOW); digitalWrite(LEDG, LOW); digitalWrite(LEDB, LOW); } }