Problem:
I bought an economic 700W microwave oven, only after that I knew most people use 800W and the label on the food are also for 800W microwave oven. I pasted a paper table for conversion but it only fits xx min and 0 or 30s, which is not perfect.
Solution, possible:
in the kitchen, my hands could be cleaned to handle food, could be wet that harm my "waterproof" android phone. I wanna have a gadget that either wear on the wrist, or even clip on the chest.
Bangle.js v2 smart watch, runs on espruino, programmable with javascript and waterproof, seems to be good.
One can try programming JS on it thru it's online emulator: emulator-IDE
or, you can even try play the watch with the bangle app loader(=store/market): apploader
Programming techniques needed:
I myself was taught with various programming language since childhood, however the formal duration for each language do not exist 6months, and they are merely learning the syntax and routines, never real life application. However, recently chatgpt plus (GPT4) helped me to change that. And this time I am going to use it, together with the bangle.js v2 EMULATOR to try solve the problem.
Things to prepare are as listed.
How this project worked:
DAY 1 of 3
A. Testing
print hello world, if this didn't work then everything is day dreaming
I asked GPT to try print a hello world:
ps: the "S" is me, the chatgpt logo = gpt4
at first didn't work, gpt4 claims may be the module "graphics" is not available.
anyway then gpt4 suggested something, i simply paste into the web IDE from espruino, and finally it worked with this code:
with this outcome:
B. Start the real work
Then, simply ask what you want:
It gave some code, but in the summary given by gpt4, it shows BTN1-5, thus run with error. And I knew that gpt4 didn't know bangle.js v2 have only 1 button. I reminded it.
The next block of code also sucks, because screen resolution is smaller for BJ v2, so have to inform gpt4. so gpt4 used smaller fonts:
Then it gave a code, which showed a backbone to modify.
However, it's strange that it functions by pressing the button, and add 10s to the "Enter time".
C. report to gpt4 that what is not working, and ask it to re-do/re-evaulate again
Not working, then I asked gpt4 to modify again.
It gave some code i didn't run. i pushed it to use scroll to let user select time.
And let users choose minutes 0-15 (latest version 0-99), and then seconds (0-59)
During this, there is a LOW_MEMORY, MEMORY error; gpt4 claims that this device's ram is much less than usual desktop, so cant declare everything and better follow his way.... okay.
D. partial product
main screen:
press button to choose minutes:
after tap on say the 1m, you will choose the seconds:
then result is shown:
Day 2 of 3
A. Ask gpt4 to re-analyze the script itself
In day 2 of the development, i just type the script back to gpt4, it will analyze the script itself:
so far, the From/To is hard coded in the script, i wanna ask gpt4 to let user choose between 700/800W by button, but failed several times.
For the last time, I clarify to gpt4 again what I need.
Day 3 of 3
A. re-analyze by gpt4 itself
In day 3, i restarted the process by feeding the script into it.
1. Ask it to refine worked
But finally, may be by chance or may be due to a new session, i simply ask gpt4 to refine the code, and it worked:
now the button, when short press, will let user choose time, when long press, will choose which direction of conversion:
2. simple human input, polishing
Finally, my programming ability kicks in.
I added some empty lines to make the GUI more clear to read.
Asked gpt4 to make seconds into x min y sec, and added a line for the description of the use of the button.
3. finally, main screen:
... Read more »