Who is here? 1 guest(s)
 Print Thread
Finally Switching to Artisan Roasterscope
allenb
So, for quite some time, I've roasted via my LCdapter/TC4-Arduino setup on my 1lb drum roaster using just the LCD screen (LCdapter) readout of time and rate of rise along with ET readout and LCdapter buttons for timer reset. For various reasons, I want to again be able to log my roasts in graphic form but have an issue. All I had used in the past is Roastlogger which is obviously way behind Artisan in functionality since support went away several years ago when Tom Coxon discontinued his involvement with the app.
What I'd like to do is overwrite what's currently in my TC4/LCdapter/Arduino with aArtisanQ PID that Greencardigan created and use Artisan Roasterscope for logging.

Does anyone remember if it's possible to use this arrangement and still retain the use of the 4 buttons on the face of the LCdapter for local resetting of the roasting timer.

For image of the LCdapter see post #6: https://homeroast...ad_id=3788
Edited by allenb on 02/14/2024 1:09 PM
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
renatoa
After inspecting the thread you posted, I can tell you that message "RESET timer" does not exist in aArtisanQ_PID, but the functionality seems still there, on button2, which has the following comment:

Quote

... // button 2 - RESET TIMER - NEXT PROFILE


https://github.co...D.ino#L972

Probably the prompt and code handling waiting for acknowledge was been removed to save memory.
Edited by renatoa on 02/14/2024 1:59 PM
 
allenb
I think I'll give it a shot. I really don't have a choice since I can't stay with Roastlogger.

Thanks for looking into it!
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
allenb
So, I'll be overwriting what's on my TC4 with aArtisanQ_PID in the next few days. Are there any tips or tricks needed when overwriting an older program or is it pretty self explanatory after compiling it?
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
renatoa
If absolutely newbie to aArtisanQ_PID, I would check @greencardigan video/tutorial.
 
allenb

Quote

renatoa wrote:

If absolutely newbie to aArtisanQ_PID, I would check @greencardigan video/tutorial.


Yes, this is a very good tutorial.

Getting closer to pulling the trigger but have some questions on USER.H settings related to my TC4 LCdapter with 2x16 LCD and 4 buttons.

With the LCD settings in USER.H, my LCDapter is a 2x16 LCD with 4 buttons below it. I will uncomment the #define LCDapter//if the I2C LCDapter board is to be used and comment-out the #define LCD_I2C// if using a $5 dollar delivered Chinese LCD with I2C module and comment-out the #define LCD_4x20 // if using a 4x20 LCD instead of a 2x16 and also comment-out the line below it.

Here's how it shows before modifying anything:

// LCD Options
// Choose ONE of the following LCD options if using an LCD
//#define LCDAPTER // if the I2C LCDapter board is to be used
#define LCD_I2C // if using a $5 delivered Chinese LCD with I2C module
//#define LCD_PARALLEL // if using a parallel LCD screen

#define LCD_4x20 // if using a 4x20 LCD instead of a 2x16

#define LCD_I2C_ADDRESS 0x27 // adjust I2C address for LCD if required. Try 0x3F, 0x20. Not used for LCDapter.

My next question is on this code related to the 4 buttons on the LCDapter. Let me know which of these to keep and which to comment-out? I'd like to keep these buttons functional so I can reset the timer when I don't have my laptop connected to my roaster.

/////////////////////
// Input Button Options
// Connect button between input pin and ground. Useful if not using LCDapter buttons.
// Only active in standalone mode.
#if not ( defined ROASTLOGGER || defined ARTISAN || defined ANDROID ) // Stops buttons being read unless in standalone mode. Added to fix crash (due to low memory?).

//#define RESET_TIMER_BUTTON 4 // Reset timer using button on pin X
//#define TOGGLE_PID_BUTTON 5 // Toggle PID on/off using button on pin X
//#define MODE_BUTTON 7 // Switch LCD Mode
//#define ENTER_BUTTON 8 // Confirm choice

#endif

In standalone mode, I'm using button#1 (far left of the 4 buttons on the LCDapter) to initiate resetting the timer and after hitting that button, I get a Yes or No to select which are buttons 3 and 4.
With this being the case, how should I treat the code above?

I think once I have this figured out, I can go ahead with uploading to my TC4.
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
greencardigan
That's correct, those proposed changes to the LCD Options section should work for your setup.

I'm fairly certain that the Input Button Option section in user.h is not related to the LCDapter buttons. As far as I can recall, the default setup means that none of the button presses for the LCDapter buttons will be active while using Artisan to log roasts. I suspect this section of code in aArtisanQ_PID.ino will need slight adjustment if you definitly wanted the LCDapter buttons to work as well as being connected to Artisan.

https://github.co...#L398-L401


    #ifdef LCDAPTER
      #if not ( defined ROASTLOGGER || defined ARTISAN || defined ANDROID )
        checkButtons();
      #endif
   #endif


Probably comment out some lines like the following



    #ifdef LCDAPTER
      //#if not ( defined ROASTLOGGER || defined ARTISAN || defined ANDROID )
        checkButtons();
      //#endif
   #endif


Regarding the LCDapter button function, i'm not so familiar with this. While I have an LCDapter I use on my test setup, it doesn't have the buttons connected so I've never tested that code. But it seems that button 2 would immediately reset the timer without confirmation.

If you are always going to be using Artisan, I'd just rely on the timer there. Artisan will automatically restart the Arduino when it connects to start logging, so the Arduino/TC4 timer gets reset then. Additionally you could set up a button in Artisan to send a reset timer command to the Arduino/TC4. PID;TIME is the appropriate command I think.
 
allenb
Thanks Brad, very helpful! I'll be going for the reprogramming of my TC4 sometime today. I've already made the changes in user.h for the LCD options.

I'll let you know how it goes later today.
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
allenb
OK, compile and upload went fine and my TC4 now shows artisan on the LCD screen instead of roastlogger upon switching on the roaster.

Next step isn't going well as when I open Artisan Roaster Scope, in config, the machine, device, port and sampling are grayed out and not clickable. I know I have a connection via port 5 as I was able to program the TC4.

What may be causing the grayed out config options in Artisan Roaster Scope?
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
allenb
Never mind, restarted my laptop and config tabs are all accessible now
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
renatoa
The only case known so far when Device... and Port... are disabled, is when you pressed the ON or START buttons.
Notice the OFF button, in the attached screenshot... telling us the program is in any of the acquisition or roast modes.
Is logical to gray Devices... you can't change horses in the middle of the race...

But Sampling is still active for me... so, puzzled... unable to give a logical reply yesterday.
renatoa attached the following image:
image_2024-02-21_102718150.png
 
allenb
Yeah, not sure but that may be what caused the issue as I was trying lots of different things for a remedy. All good now and thanks to everyone for the help. Especially greencardigan for the help when I was trying to find a way to utilize Roastlogger with Artisan but wasn’t meant to be.
I think I’ll wire in a button for cycling power to the TC4 to initiate timer reset when roasting in standalone mode.
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
PhilH
I use the LCDapter buttons and a 4x32LCD - As standard the buttons work like this:
in the default "case 0" mode
- Button 1 turns PID on and additional press toggles it off
- Button 2 resets the timer immediately
- Button 3 is "Enter"
- Button 4 changes Buttons to "case 1" and additional press toggles it back to case 0

in "Case 1
- Button 1 selects "previous profile"
- Button 2 selects "next profile" "Enter
- Button 3 "Enter" - ie load the selected profile
- Button 4 toggles back to case1

I changed mine to use "case 0" buttons 2 and 3 to increment timer +5secs and decrement timer -5secs respectively
button 1 will toggle PID on and off and will effectively reset the timer as well

if you want I can supply the lines of code I changed

rgds Phil
(btw I'm thinking of making a few more button/LCD cases to allow adjusting/tuning PID parameters on the fly)
Crem ONE LFPP, Compak K10F, 6kg FB LPG/PID aArtisanQ_PID, UNO/LCDapter
 
allenb
Since I am only needing a means of resetting the timer to 0 when not logging my roasts, do you have a simple code tweak that would allow this?

Either way, yes, please post the code changes for achieving button operations you are using now.

Are you mostly operating your roaster in standalone mode without logging?
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
PhilH
Hi Allen

attached my aArtisanQ_PID.ino and User.H (which is modified to suit my PWM IO3 output to proportional LPG gas valve_

or you can check / modify the standard v6-7 code assuming you are using LCdapter buttons
line 1001 and 1002 reads

else if( buttons.keyPressed( 1 ) && buttons.keyChanged( 1 ) ) { // button 2 - RESET TIMER - NEXT PROFILE
counter = 0;

after button 2 press
you could put that line "counter = 0" after any of the button presses

I use Uno/LCDapter/4x20 LCD display running aArtisanQ_PID 6.73 for standalone control and
Artisan on the Laptop for datalogging and find that works very well (best of both worlds IMHO)

Ive also attached photos of my LCD display in different modes

I hope the attachments come thru ok

regards Phil
Crem ONE LFPP, Compak K10F, 6kg FB LPG/PID aArtisanQ_PID, UNO/LCDapter
 
PhilH
oh no - attachments missing - its been awhile

try this
PhilH attached the following file:
aartisanq_pid_6.zip [18.58kB / 117 Downloads]
PhilH attached the following images:
img_3295.jpg img_3297_1.jpg img3298.jpg

Edited by PhilH on 02/27/2024 7:03 PM
Crem ONE LFPP, Compak K10F, 6kg FB LPG/PID aArtisanQ_PID, UNO/LCDapter
 
allenb

Quote

PhilH wrote:

Hi Allen

attached my aArtisanQ_PID.ino and User.H (which is modified to suit my PWM IO3 output to proportional LPG gas valve_

or you can check / modify the standard v6-7 code assuming you are using LCdapter buttons
line 1001 and 1002 reads

else if( buttons.keyPressed( 1 ) && buttons.keyChanged( 1 ) ) { // button 2 - RESET TIMER - NEXT PROFILE
counter = 0;

after button 2 press
you could put that line "counter = 0" after any of the button presses

I use Uno/LCDapter/4x20 LCD display running aArtisanQ_PID 6.73 for standalone control and
Artisan on the Laptop for datalogging and find that works very well (best of both worlds IMHO)

Ive also attached photos of my LCD display in different modes

I hope the attachments come thru ok

regards Phil


Thanks Phil, I will try the code changes in the near future and see if I can resume needed button action.
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
Jump to Forum: