O . . . . K . . . . I did try and it failed (may have been sytax error?) First thing to try when I get home tonight.
thnx
billd
O . . . . K . . . . I did try and it failed (may have been sytax error?) First thing to try when I get home tonight.
thnx
billd
Well, the Chinglish translation is close
Thnx, the answer was staring me in the face . . . Labeled Value widget (i’ve used this many, many times before . . .). Previous uses have been fixed text with a chnaging variable . . . thats what threw me off track . . . I want to send variable text. But I already have seperate functions for each text string, so just add the numerical value as well as the text and voila.
I’ve used two Labeled Value widgets here, the one on the left is a ‘Dummy’, I just changed the text in the app. When I get home I’ll consolidate the string and quantity into a single widget from the hardware side.
Thnx for the insight guys, its amazing how fresh sets of eyes changes the perpective!
Goodbye forever LCD!
cul
billd
Only in Blynk . . . Still the clock of choice in my shed . . . one of the first Arduino projects I attempted.
cul
billd
Nice… I also have one of those LCD/keypad shields (must find a use for it)… and a renewed interest in merging “old” Arduino tech with Blynk into “new” IoT devices. As shown here:
Did you change this in the app or by using Blynk.setProperty(V0, “label”, “My New Widget Label”); ???
I have been trying tonight to change the LABEL on a Labeled Value Display widget by sing the Blynk.setProperty() function. it does work to a limited degree . . . however there is an inconsistency in the terminology between the docs and the app.
In the app (or widget properties) LABEL refers to the field where you enter the test string, /pin/ value etc.
However when you set the label property from hardware it changes te small widget descriptor test in the top left corner of the widget - not the section described (labeled as LABEL.
I would expect Blynk.setProperty(V0, “label”, “My New Widget Label”); to change the text in the area shown by my red arrow, as LABEL.
my code = Blynk.setProperty(V0, “label”, “Test Label”);
this is the result
So back to my original post . . . is there a way to change the LABEL (as described in the widget settings on the app), from hardware. Its easy to change in the app, but from hardware based on different conditions?
cul
billd
All other times I’ve changed the label in widgets I’ve done it from the app (widget settings), not from hardware.
cul
billd
Isn’t it just a case of doing a virtual write to the widget with a text value?
Pete.
Your OP was that you thought you needed the LCD becasue can’t send text strings…presumably in the main body of a Display widget. This has been resolved
As for labels, LABELS, and Labeled Display Widgets… yes, all a bit confusing as the App and libraries developed
The little grey label on most widgets can be changed in App or via code with Blynk.setProperty(V0, "label", "Your Label")
The main boady of the text can be changed via code with Blynk.virtualWrite(vPin, value)
But in the Labeled Display Widget, AFAIK NO, you cannot change the LABEL data from code… However, there is no real need to… since you can use alphanumeric text and/or emoticons via their UTF-8 code… see here, and even control the decimal points if need be (generaly by preformatting the number to a string I belive?), all from code for the main value body of the widget.
The LABEL option is probably more for “codeless” App use.
Yes, but that ONLY writes the text value to the widget Vx pin. (which is better than the LCD display), but still not staisfcatory (for me
I want to write . . .
/pin/ in the same widget . . .
I’m getting greedy, I know. I an experimenting with sprintf() now to see if I can get my text and int in the same string . . .
There is still a basic inconsistency with the Blynk Docs - the setPropety() label does NOT change the label as they show in the docs, it changes the small widget descriptor in the top left corner. It may not seem like much, but support documents must be 100% accurate, especially for naming conventions.
No big deal, I’ve learnt a LOT today (and re-remembered twice as much!).
The more I play with Arduino and Blynk, the more I remember the more powerful it gets!
To add to my joy I’m doing this manually flashing a standalone ESP chip . . . which I only sorted last week . . .
cul
billd
That is the label
You are referring to the specific part of a the Labeled Display called LABEL (all caps)… that is the one that appears meant for codeless use, and anything it can do can be done by code… which since you are sending values to it anyhow, well, customise it first.
Yes, 100% resolved.
As I’ve discovered . . .I can send text, int, float, whatever, but not a combination . . . i’m experimenting with sprintf() to see if I can create the string I want and send that.
cul
billd
I know that know . . .label <> LABEL . . .just a bit confusing . . .perhaps a different choice of descriptor? Aanyway all good, my beer is old, I have lots and have learnt a lot!
That is the key… since everything set is apparently strings anyhow, just make up/combine your own and virtualWrite()
it
For example this is how I format my nicely formatted clock (thanks to @Costas for showing this to me)…
sprintf(currentTime, "%02d:%02d:%02d", hour(), minute(), second());
Blynk.virtualWrite(V12, "\xE2\x8F\xB3", currentTime); // Send time to Display Widget
The funny text at the beginning of the virtualWrite()
value is the hourglass, I actually change it every second so that it looks like it is filling & emptying in the App. The label was manually inserted.
Yes, sprintf() or classic string constructor code is the way to go.
Pete.
Wonderful icon. Where do you get these sequences for the cool hourglass? Where can we get more details of other icons that can be similarly written out?
Edit: googled it. Thx. Learned great stuff.
This works on the Tinkercad online Arduino simulator (I’m at work ), prints the string I want to serial monitor. Will test with my Blynk project this afternoon.
int canQty = 39;
void setup() {
Serial.begin(9600);
}
void loop() {
char buffer [50];
sprintf (buffer, "Whoo Hoo, I have %d cans left!", canQty);
Serial.println(buffer);
delay(1000);
}
cul
billd
Came across a site UTF8 ICONS https://www.utf8icons.com/ Has the icons, dingbats and everything else.