Feb 21, 2023

Public workspaceCalibration Protocol

  • 1Cornell University;
  • 2Boyce Thompson Institute
  • Olga Khmelnitsky
Icon indicating open access to content
QR code linking to this content
Protocol CitationOlga Khmelnitsky, Magdalena M Julkowska, Hayley Sussman 2023. Calibration Protocol. protocols.io https://dx.doi.org/10.17504/protocols.io.kxygx998kg8j/v1
License: This is an open access protocol distributed under the terms of the Creative Commons Attribution License,  which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited
Protocol status: Working
We use this protocol and it's working
Created: November 07, 2022
Last Modified: February 21, 2023
Protocol Integer ID: 72408
Abstract
This is a quick calibration protocol for the Arduino AAWsmo box.
Use this protocol at the beginning of every new experiment and as needed.
This is part of a larger phenotyping project in the Julkowska Lab at the Boyce Thompson Institute in Ithaca NY
Code and Uploading
Code and Uploading
Download the calibrate.ino file from GitHub (insert GitHub link here) to a location in your computer that is easy to access with all other Arduino codes that you will be using.
Open Arduino IDE and open the calibrate.ino file
Note
Location of the first three functions you will need to use to verify, upload and access the calibration code.




Select the 'Verify' button in the top left of the screen (indicated by a blue circle with a checkmark in it. This will verify your code to check for any errors without having to upload it to the Arduino)
Connect the Arduino to a USB port on your computer
Make sure that the scale is leveled, free from any debris underneath the scale, and empty with nothing on it. (This is because once the USB is connected to the computer the power will be supplied to start up the Arduino)
Change the weight units to those you wish to work with by altering:

Serial.print(" g"); //Change this to your desired units and re-adjust the calibration factor if you like

In this case, the experiment is optimized for 'grams'. Different weight units might have vastly different calibration factors, adjust as necessary.


On the calibrate.ino code, select the 'Upload' button at the top left of the screen, indicated by a right-pointing arrow in a blue circle. Wait for the message at the bottom to read 'Done uploading'.
Note
Before uploading, ensure nothing is on the scale, leaning on the scale or that the saucer is not being obstructed by anything, once the code is uploading it will run automatically and take a tare reading of the scale.

Note
Before uploading the calibration code to the Arduino consider this:
- If you have already calibrated this scale before, use your previous value at the calibration factor to start with. The values only change by very small intervals
- If not, and your weight reading is larger than 25 weight units away from the true weight, go back to the code and manually change the calibration factor in intervals of 1 and reupload the code to start over.


Calibration
Calibration
Select two objects with known weights.
Note
When selecting these two objects to calibrate your scale, try to aim for one object at the upper limit of the weights you will be recording in your experiment and one object at the lower limit of the weights you might expect in your experiment. (AVOID picking weights that are too heavy or too light to be feasible in your experiment, you will just be increasing the variance of the readings for the weights you are interested in)

Open the 'Serial Monitor" in the upper right-hand corner (indicated by a small magnifying glass in a blue square)
Upon opening the serial monitor the code will display this message to guide you through the calibration:


Based on the reading, type in either + or - into the text bar at the top of the window and click 'Send".

Note
The serial monitor will only take one input at a time, only type in one character and send one at a time. Also, while the program runs there is a stall between the input and the calibration factor resulting in a shift of the read weight. DO NOT SPAM THE SERIAL MONITOR WITH CHARACTERS, it will create a backlog of commands which will force you to wait for the Arduino to catch up and increases the likelihood that you miss your desired calibration factor.

When you reach a reading that is true to the actual weight on the scale, note down the calibration factor.
Place the second weight on the scale and observe the deviation from the true weight and adjust the calibration factor to disperse the variance between the upper limit weight and the lower limit weight.

Note
A good calibration results in no more than + or - 1.5 grams of variance from the true weight.

At the end of the calibration note down the date, calibration factor and the achieved accuracy (how much did the weight vary from the true weight)