{"id":424,"date":"2018-10-18T14:35:20","date_gmt":"2018-10-18T14:35:20","guid":{"rendered":"https:\/\/ejmilton.uk\/?page_id=424"},"modified":"2018-10-18T14:40:23","modified_gmt":"2018-10-18T14:40:23","slug":"toy-microwave-oven","status":"publish","type":"page","link":"https:\/\/ejmilton.uk\/index.php\/toy-microwave-oven\/","title":{"rendered":"Microwave oven simulator"},"content":{"rendered":"<figure id=\"attachment_425\" aria-describedby=\"caption-attachment-425\" style=\"width: 625px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ejmilton.uk\/wp-content\/uploads\/2018\/10\/IMG_20181018_114615813-1024x691.jpg\" alt=\"\" width=\"625\" height=\"422\" class=\"size-large wp-image-425\" srcset=\"https:\/\/ejmilton.uk\/wp-content\/uploads\/2018\/10\/IMG_20181018_114615813-1024x691.jpg 1024w, https:\/\/ejmilton.uk\/wp-content\/uploads\/2018\/10\/IMG_20181018_114615813-300x202.jpg 300w, https:\/\/ejmilton.uk\/wp-content\/uploads\/2018\/10\/IMG_20181018_114615813-768x518.jpg 768w, https:\/\/ejmilton.uk\/wp-content\/uploads\/2018\/10\/IMG_20181018_114615813-624x421.jpg 624w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><figcaption id=\"caption-attachment-425\" class=\"wp-caption-text\">Microwave oven simulator<\/figcaption><\/figure>\n<div style=\"width: 740px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-424-1\" width=\"740\" height=\"416\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/ejmilton.uk\/wp-content\/uploads\/2018\/10\/VID_20181016_154410721.mp4?_=1\" \/><a href=\"https:\/\/ejmilton.uk\/wp-content\/uploads\/2018\/10\/VID_20181016_154410721.mp4\">https:\/\/ejmilton.uk\/wp-content\/uploads\/2018\/10\/VID_20181016_154410721.mp4<\/a><\/video><\/div>\n<p><strong>Code for Arduino Nano<\/strong><\/p>\n<p>\/\/ Arduino Nano with 7 segment LED<br \/>\n\/\/<br \/>\n\/\/ 15th October 2018<br \/>\n\/\/<br \/>\n\/\/ This version counts up to 9<br \/>\n\/\/ Rotary encoder on Pins 2, 3 and GND not used in this sketch<br \/>\n\/\/ Solenoid for bell on Pin 8<br \/>\n\/\/ Motor on Pin 13<br \/>\n\/\/ Start button on Pin 10<br \/>\n\/\/<br \/>\n\/\/ http:\/\/www.buxtronix.net\/2011\/10\/rotary-encoders-done-properly.html<\/p>\n<p>#include <Rotary.h><\/p>\n<p>Rotary rotary = Rotary(2, 3);<\/p>\n<p>int segmentPins[]={6, 7, 9, 11, 12, 5, 4};<br \/>\nint buzzerPin=8;<br \/>\nint buttonPin=10;<br \/>\nint motorPin=13;<\/p>\n<p>int counter = 0;<\/p>\n<p>byte digits[10][8]={<br \/>\n  {1, 1, 1, 1, 1, 1, 0, 0},<br \/>\n  {0, 1, 1, 0, 0, 0, 0, 0},<br \/>\n  {1, 1, 0, 1, 1, 0, 1, 0},<br \/>\n  {1, 1, 1, 1, 0, 0, 1, 0},<br \/>\n  {0, 1, 1, 0, 0, 1, 1, 0},<br \/>\n  {1, 0, 1, 1, 0, 1, 1, 0},<br \/>\n  {1, 0, 1, 1, 1, 1, 1, 0},<br \/>\n  {1, 1, 1, 0, 0, 0, 0, 0},<br \/>\n  {1, 1, 1, 1, 1, 1, 1, 0},<br \/>\n  {1, 1, 1, 1, 0, 1, 1, 0}<br \/>\n};<\/p>\n<p>void setup(){<br \/>\n  Serial.begin(57600);<br \/>\n  attachInterrupt(0, rotate, CHANGE);<br \/>\n  attachInterrupt(1, rotate, CHANGE);<br \/>\n  for (int i=0; i<8; i++){\n    pinMode(segmentPins[i], OUTPUT);\n  }\n  pinMode(buzzerPin, OUTPUT);\n  pinMode(motorPin, OUTPUT);\n  pinMode(buttonPin, INPUT);\n  digitalWrite(motorPin, LOW);\n  digitalWrite(buzzerPin, LOW);\n  updateDisplay(0);\n}\n\nvoid loop()\n{\n  if (digitalRead(buttonPin) == HIGH)\n  {\n  static int value;\n  for (int i=0; i<10; i++)  {updateDisplay(i);delay(1000);}\n  motor(1000);\n  digitalWrite(motorPin, LOW);\n  delay(10000);\n  bell(100);\n  updateDisplay(0);\n  }\n}\n\nvoid bell (int ding){\n  digitalWrite(buzzerPin, HIGH);\n  delay(ding);\n  digitalWrite(buzzerPin, LOW);\n}\n\nvoid rotate(){\n  unsigned char result = rotary.process();\n  if (result == DIR_CW) {\n    counter++;\n    if (counter > 9)<br \/>\n    {counter = 9;<br \/>\n    }<br \/>\n    Serial.println(counter);<br \/>\n  } else if (result == DIR_CCW) {<br \/>\n    counter&#8211;;<br \/>\n    if (counter < 0)\n    {counter = 0;\n    }\n    Serial.println(counter);\n  }\n}\n\nvoid motor(int duration){\n  digitalWrite(motorPin, HIGH);\n  delay(duration);\n  digitalWrite(motorPin, LOW);\n  delay(10);\n}\n\nvoid updateDisplay(int value){\n  setSegments(value);delay(5);\n}\n\nvoid setSegments(int n){\n  for (int i=0; i<8; i++)  {digitalWrite(segmentPins[i], ! digits[n][i]);}\n}\n\n\n\n\n\n\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Code for Arduino Nano \/\/ Arduino Nano with 7 segment LED \/\/ \/\/ 15th October 2018 \/\/ \/\/ This version [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/ejmilton.uk\/index.php\/wp-json\/wp\/v2\/pages\/424"}],"collection":[{"href":"https:\/\/ejmilton.uk\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ejmilton.uk\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ejmilton.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ejmilton.uk\/index.php\/wp-json\/wp\/v2\/comments?post=424"}],"version-history":[{"count":6,"href":"https:\/\/ejmilton.uk\/index.php\/wp-json\/wp\/v2\/pages\/424\/revisions"}],"predecessor-version":[{"id":433,"href":"https:\/\/ejmilton.uk\/index.php\/wp-json\/wp\/v2\/pages\/424\/revisions\/433"}],"wp:attachment":[{"href":"https:\/\/ejmilton.uk\/index.php\/wp-json\/wp\/v2\/media?parent=424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}