Things used in this project

Hardware components:
Intel.web.720.405
Intel Edison
×1
Condiment Cup
The small cups used to hold the liquids we're cooking. Made out of aluminum
×4
Cardboard Circle
Used to make the rotating platform that the stove and collector are on
×1
Grove 20starter 20kit 20plus 20  20intel c2 ae 20iot2 01
SeeedStudio Grove starter kit plus for Intel Edison
×1
Aluminum Sheet
Small stove to concentrate the heat from the tea candles
×1
Tea Candle
Our heating mechanism
×3
16 Gauge Wire
Attached to the servos to suspend the cups for cooking and dumping
×1
Wood Frame
To suspend and set up everything
×1
Tower Pro Microservo 90
Stronger Servos are necessary due to the mass of liquids and wire
×3

Code

file_13769.txtPlain text
The code used to run the machine
#include "rgb_lcd.h"
#include <Servo.h>

rgb_lcd lcd;
const int colorR = 255;
const int colorG = 0;
const int colorB = 0;

const int pinTemp = A0;  // pin of temperature sensor
const int pinCandle = 6; // bottom, swaps heat source with strainer
const int pinLemon = 3; // top, dumps lemon juice
const int pinCheese = 5; // middle, dumps cheese to strainer
const int pinButton = 2; // manually rotate and reset servos

const int minRotation = 0;
const int maxRotation = 180;

Servo servoCandle;
Servo servoLemon;
Servo servoCheese;

double TempC, TempF, Setpoint;
int B = 3975; // B value of the thermistor
float resistance;

boolean rotated;
boolean pinButtonWasPressed;

void setup()
{
    Serial.begin(9600);
    pinMode(pinButton, INPUT);
    servoCandle.attach(pinCandle);
    servoLemon.attach(pinLemon);
    servoCheese.attach(pinCheese);
    Setpoint = 180; // temp needed to produce milk coagulation
    rotated = false;
    pinButtonWasPressed = false;
    delay(1000);

    lcd.begin(16, 2);
    lcd.setRGB(colorR, colorG, colorB);
    lcd.print("#TheTinyCheese");
}

void Unrotate()
{
  if (rotated)
  {
    servoCandle.write(minRotation);
    servoLemon.write(minRotation);
    servoCheese.write(minRotation);
    rotated = false;
  }
}

void Rotate()
{
  if (!rotated)
  {
    delay(500);
    servoCandle.write(maxRotation);
    delay(1000);
    servoLemon.write(maxRotation);
    delay(1000);
    servoCheese.write(maxRotation);
    rotated = true;
  }
}

void loop()
{
    int val = analogRead(pinTemp); // get analog value
    resistance = (float)(1023-val)*10000/val; // get resistance
    TempC = 1/(log(resistance/10000)/B+1/298.15)-273.15; // calc temperature
    TempF = (TempC * 9.0)/5.0+32.0;

    lcd.setCursor(0, 1);
    lcd.print(TempF);

    delay(1000);

    if (digitalRead(pinButton)) {
      delay(500);
      Rotate();
      pinButtonWasPressed = true;
    }
    else if (pinButtonWasPressed)
    {
      delay(500);
      pinButtonWasPressed = false;
      Unrotate();
    }
    else if (TempF > Setpoint) {
      delay(5000);
      Rotate();
    }
}

Credits

2015 02 16 17 43 33 oneshot
Lucy Liang

hello

Screen shot 2015 02 23 at 11.15.00 pm
Adrienne

Let's make cool stuff!

7174808
Sarah Guermond

I like Python and power tools.

Replications

Did you replicate this project? Share it!

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Community Skill Show (Have a Go Hero) Workshop
  • 47
  • 1

Workshop held on the 22nd of March 2017 at the College of North West London Skills Show event. Pictures and report from the event.

LinkIt ONE IoT: Sending SMS without SIM Card
  • 758
  • 18

Full instructions

Now every time your LinkIt ONE read analog data above 100 it will send you an SMS notification to the number you just enter.

Facebook Notifier using Intel Galileo
  • 1,171
  • 20

Tell when you have a Facebook notification with an LED and an Intel Galileo

Facebook Notifier using Intel Galileo

by bogdan.vlad on projects.wyliodrin.com

A Display to Track the Days Until MAKE hits Newsstands
  • 457
  • 9

Display on an Intel Galileo controlled LCD when the next MAKE magazine will arrive at the newsstands

Wireless Encryption Between Galileo and MSP430
  • 356
  • 7

Communicate the Intel Galileo and the MSP430G2553 microcontroller via the nRF24L01+ 2.4GHz transceiver.

ProjectsCommunitiesContestsLiveAppsBetaFree StoreBlogAdd projectSign up / Login
Respect project
Feedback