I want to try, at least partially, to automate the preparation of food on a charcoal grill. When the dish begins burning we pour it with water or beer. Why not replace the human with a pump and a handful of electronic components? Yes, it’s about getting of the sunbed less (pic below).
- Arduino or Arduino-based microcontroller,
- Battery powered,
- NTC thermistors (6 pcs),
- Communication via Bluetooth 4.0,
- 2x servos, water pump, laser pointer
I made a prototype of the device as shield for Arduino. Recently I designed new circuit with implemented ATmega328P-AU. I will update build log as I receive boards and other components.
To measure the temperature I use probe from the kitchen thermometer. It is 100k NTC thermistor encapsulated in a metal spike with braided wire and 2.5mm mono jack plug. With an increase in temperature decreases the resistance of the thermistor and increases voltage read on the analog input of the microcontroller.
At the moment I have only one probe. Regarding the purchase options of such probes: replacement probes for “professional” bbq thermometers cost >10$/pcs, cheap thermometer with probe costs ~5$ - this is how I got my probe. However I didn’t want to buy another 5 thermometers just to get probes. I contacted with producer in China and they have sent me 5 probes as a sample.
The third pin on jack female connector is used to detect the probe. When the probe is connected the corresponding digital pin is in low state.
Communication via Bluetooth 4.0
To communicate between smartphone and the device I used HM-10 module based on CC2541 by Texas Instruments. This module operates at 3.3V, thus regulated 3.3V supply and conversion of Tx and Rx lines is required.
In the prototype I used HM-10 module on a circuit board, that allowed to connect it directly to Arduino at 5V.
On new PCB board I added connector to this module, just in case. New board uses “raw” HM-10 module, voltage is supplied via 3.3V LDO regulator, 3.3V->5V via transistor and 5V->3.3V via voltage divider.
BLE module communicates with the microcontroller through UART interface. Android application sends 3-byte packet. The first byte contains id of command to be executed, the other two are its parameters. On the other hand, the hardware in one second intervals transmits a 6-byte packet, a decimal value of each byte is a direct temperature reading. When the probe is not connected the transmitted temperature equals zero.
I got a small water pump, powered by 3-12V. The pump draws about 1.5A, so I decided to power it from a separate power source. The prototype used a relay, new version turns pump on via transistor. To target product easier I added a laser pointer. I taped switch with electrical tape, so it’s continuously turned on. Then I broke the circuit between batteries and the cap and brought the wires out to be switched via transistor.
Two connected servos allow to control the direction of the nozzle (up, down, left, right). Servos work at 5V and are controlled via microcontroller using Arduino Servo library.
I wrote an Android application, which is based on BLE example provided by Google and an Instructable made by danasf (also using HM-10 module).
- Android 4.3 or higher (for BLE compatibility),
- Communication with hardware platform through Bluetooth 4.0,
- Temperature display for each sensor,
- Ability to set the temperature for automatic cooling,
- Ability to set the targets (coordinates) for cooling,
- Ability to cool (spray) selected targets and whole grill,
- Option to hide non-connected sensors
As I receive parts I will start putting together final version of this device. Expect frequent updates and many bugs. I will also upload project files, Arduino code etc.
By the end of August I would like to record and upload short clip of the device in action.