How can i make the receiving data (word )from Bluetooth module display in the text box and also translate it in speech without clicking text to speech button

my phone system use english(united kingdom). And i using the app
do i need to change the native language of my phone?

Your native language should be okay.
I was banking on trying to translate ne to ne causing the error.

My only guess for a 404 error on the translator component is exhaustion of a built-in budget for that free translation service.

Unfortunately, I don't know what that budget limit is, and how it is measured.

oh that might be the case
then do i have to apply google cloud translation APIs now?

All I know about the translator component is at
https://ai2.appinventor.mit.edu/reference/components/media.html#Translator

Whatever way you ask for a web service, the queue structure should remain.

P.S. If you can predict all needed translations, you can load them up in the Media folder as a lookup table and avoid the web service altogether.

as for now only few words i wanna trasnlate it. so if i put those word in media folder then it will able to translate?

You have to pre-translate your words, to build a two column table with the English and Nepali phrases.

Once you have that table, you can load it and use list blocks.

Thankyou so much for your help!!
the error 404 get solved as i try to do with different accounts. i m really sorry even though you help so much in the code.
translating the text and getting it display get to difficult to understand for me so now m just trying to translate the speech only.


In this code i tried to store Tinybd clear tag so that the data it will delete the displaying after few seconds.but i m not sure it is the right way or not. while applying this the translation function doesnot work only the english text to speech function work

The TinyDB is there to avoid squandering your translation key budget.
It has nothing to do with the contents of Labels.

If you want to clear a Label after a few seconds, add a Clock component named ClearClock, with a few seconds interval (5000 ms), set to disabled in the Designer, with a Timer event that clears your Label(s) then disables itself.

Each time you have something to say, disable that Clock (to reset its time to fire) then enable it to wait out its full interval then fire its Timer.

Alternatively, there is a Progress Notifier that pops up until you close it.

1 Like

that means the translation to nepali language will be possible and applying clock component will help in presentating the data few second later

That extra ClearClock is just to clear a Label.

It has nothing to do with being able to use the Translation component.

1 Like

then what to change so that the data received will automatically translate into different language while speaking

Isn't that what I gave you?

Thankyou so much for what you have provided. And so sorry to disturb you to much . what i wanted to translate was the receiving data directly into other language and make it into speech in other language . like if data was in english then when it display at app it it automatically translate into other language while speaking.

That sounds exactly like what I gave you.

By the way, this is not a free app shopping site.

This is a site for people who want to learn how to code for themselves.

Code something.

okay i will do my best

sorry for the disturbance.
can you please only check this code so that i can know what is missing here.
//#include <Adafruit_MPU6050.h>

#include <Wire.h>
#include <MPU6050.h>
#include <SoftwareSerial.h>

MPU6050 mpu;

const int flexPin1 = A0; // Flex sensor 1
const int flexPin2 = A1; // Flex sensor 2
const int flexPin3 = A2; // Flex sensor 3
const int flexPin4 = A3; // Flex sensor 4
const int flexPin5 = A4; // Flex sensor 5

SoftwareSerial bluetoothSerial(6, 7); // RX, TX pins for HC-05

void setup() {
Serial.begin(9600);
bluetoothSerial.begin(9600);

Wire.begin();
mpu.initialize();

// Print initial data
//Serial.println("MPU-6050 and Flex Sensors Test");
delay(1000);
}

void loop() {
// Read MPU-6050 data
int16_t ax, ay, az, gx, gy, gz;
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

//Serial.print("MPU-6050: ");
// Serial.print("Accel [X,Y,Z]: ");
Serial.print(ax); Serial.print(" ");
Serial.print(ay); Serial.print(" ");
Serial.print(az); Serial.print(" ");
//Serial.print("Gyro [X,Y,Z]: ");
Serial.print(gx); Serial.print(" ");
Serial.print(gy); Serial.print(" ");
Serial.print(gz); Serial.print(" ");

// Read flex sensor data
int flexValue1 = analogRead(flexPin1);
int flexValue2 = analogRead(flexPin2);
int flexValue3 = analogRead(flexPin3);
int flexValue4 = analogRead(flexPin4);
int flexValue5 = analogRead(flexPin5);

// Serial.print("Flex Sensors: ");
//Serial.print("Flex1: ");
Serial.print(flexValue1);
Serial.print(" ");
//Serial.print("Flex2: ");
Serial.print(flexValue2);
Serial.print(" ");
//Serial.print("Flex3: ");
Serial.print(flexValue3);
Serial.print(" ");
//Serial.print("Flex4: ");
Serial.print(flexValue4);
Serial.print(" ");
//Serial.print("Flex5: ");
Serial.println(flexValue5);

// Check for data received from the serial port
if (Serial.available()) {
char data = Serial.read(); // Read data from the serial port
if (data == 0){
bluetoothSerial.println("Help");
}
else if(data == 1){
bluetoothSerial.println("Hello");
}
else if(data == 2){
bluetoothSerial.println("I am hungry");
}
else if(data == 3){
bluetoothSerial.println("How are you?");

}
else if(data == 4){
    bluetoothSerial.println("Ok");
   
}
else if(data == 5){
    bluetoothSerial.println("Thank You");

}
else if(data == 6){
    bluetoothSerial.println("No");

}

// Send the received data over Bluetooth
bluetoothSerial.println(data);

}

delay(3000); // Adjust the delay as needed
}
when i try to upload this code in arduino it doesnot display message in app like thankyou , hello.

What app are you using to receive and display the data?

Did you test with a Bluetooth terminal program to factor out AI2?

I m using mit app
Yes i did check with bluetooth terminal
Aa i using a machine learning program to predict the hand gesture and send that gesture value back to arduino and arduino will convert that value according to its program but the value the app is receiving is 0 1 2 3 which was given name of gesture during prediction.
The above code is not functioning.