![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
A theremin project
Dependencies: mbed RN41_Raw_Serial RN41 BLE_API HCSR04
Revision 0:007004c7f41e, committed 2021-12-30
- Comitter:
- ruroz
- Date:
- Thu Dec 30 11:12:14 2021 +0000
- Commit message:
- Draft theremin
Changed in this revision
diff -r 000000000000 -r 007004c7f41e BLE_API.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BLE_API.lib Thu Dec 30 11:12:14 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/teams/Bluetooth-Low-Energy/code/BLE_API/#65474dc93927
diff -r 000000000000 -r 007004c7f41e HCSR04.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HCSR04.lib Thu Dec 30 11:12:14 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/teams/TVZ-Mechatronics-Team/code/HCSR04/#cf3e4e307d15
diff -r 000000000000 -r 007004c7f41e RN41.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RN41.lib Thu Dec 30 11:12:14 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/ruroz/code/RN41_Raw_Serial/#1d5314a7fb19
diff -r 000000000000 -r 007004c7f41e RN41_ex.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RN41_ex.lib Thu Dec 30 11:12:14 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/AkinoriHashimoto/code/RN41/#63925964cbd5
diff -r 000000000000 -r 007004c7f41e main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Dec 30 11:12:14 2021 +0000 @@ -0,0 +1,63 @@ +#include "mbed.h" +#include "HCSR04.h" +#include "RN41/RN41.h" +#include "ble/BLE.h" +#include "ble/Gap.h" +#include <string> + +#define MIN_DISTANCE 2 +#define MAX_DISTANCE 110 + +Serial pc(USBTX, USBRX, 115200); +HCSR04 sensorVolume(p22, p21); +HCSR04 sensorFreq(p24, p23); +RN41 ble(p9, p10); +float freqValue; +float volumeValue; //0 to 100 + +void configSystem() { + //config sensors + sensorFreq.setRanges(MIN_DISTANCE, MAX_DISTANCE); + sensorVolume.setRanges(MIN_DISTANCE, MAX_DISTANCE); + freqValue = 0.0f; + volumeValue = 0.0f; + //config BLE + pc.printf("Hello"); + bool a = ble.setDeviceName("theremin"); + bool b = ble.setAuthenticationMode(0); + bool c = ble.setMode(4); + pc.printf("deviceName : %d %d %d", a, b, c); +} + +void transformValues() { + freqValue = freqValue / MAX_DISTANCE; + volumeValue = (MAX_DISTANCE - volumeValue) / MAX_DISTANCE; +} + +float measureSensor(HCSR04 &sensor) { + sensor.startMeasurement(); + while(!sensor.isNewDataReady()); + return sensor.getDistance_mm(); +} + +void sendDataBluetooth(string line) { + //rn41.sendLine(line); + //pc.printf(rn41.getLine().c_str()); +} + +int main() { + configSystem(); + //TODO: Cambiar ranges con bluetooth a través de la app? Se necesitan dos modulos bluetooth, no + while(true) { + freqValue = measureSensor(sensorFreq); + volumeValue = measureSensor(sensorVolume); + //pc.printf("Frequency: %f mm. Volume: %f mm. \n\r", freqValue, volumeValue); + transformValues(); + //sendDataBluetooth("foo"); + //pc.printf("getConnectionStatus: " + ble.getConnectionStatus()); + //pc.printf("getConnectionStatus: " + ble.getConnectionStatus()); + //TODO (Manuel): enviar por bluetooth + //sendBluetooth(); + wait(0.5); + } +}
diff -r 000000000000 -r 007004c7f41e mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Dec 30 11:12:14 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file