








{"id":66,"date":"2020-10-11T23:26:01","date_gmt":"2020-10-11T23:26:01","guid":{"rendered":"https:\/\/osoyoo.info\/?p=66"},"modified":"2020-10-13T22:01:53","modified_gmt":"2020-10-13T22:01:53","slug":"arduino-basic-lesson-7-blink","status":"publish","type":"post","link":"https:\/\/osoyoo.info\/index.php\/2020\/10\/11\/arduino-basic-lesson-7-blink\/","title":{"rendered":"Hardware Programming with Arduino IDE &#8211; Lesson 7: Blink"},"content":{"rendered":"<p><a href=\"https:\/\/osoyoo.info\/index.php\/2020\/10\/11\/arduino-basic-lesson-6-your-first-arduino-program-hello-world\/\"><img loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/osoyoo.com\/picture\/Arduino_Graphical_Programming_Kit\/Previous.png\" alt=\"\" width=\"206\" height=\"59\" \/><\/a>\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<a href=\"https:\/\/osoyoo.info\/index.php\/2020\/10\/11\/arduino-basic-tutorial-directory\/\"><img loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/osoyoo.com\/picture\/Arduino_Graphical_Programming_Kit\/Tutorial.png\" alt=\"\" width=\"206\" height=\"59\" \/><\/a>\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<a href=\"https:\/\/osoyoo.info\/index.php\/2020\/10\/12\/arduino-basic-lesson-8-use-serial-port-to-control-led\/\"><img loading=\"lazy\" class=\"alignright\" src=\"https:\/\/osoyoo.com\/picture\/Arduino_Graphical_Programming_Kit\/Next.png\" alt=\"\" width=\"206\" height=\"59\" \/><\/a><\/p>\n<div align=\"center\">\n<div align=\"center\"><img class=\"aligncenter\" src=\"https:\/\/osoyoo.com\/picture\/icon\/authorized_retailers.png\" \/><\/div>\n<div align=\"center\"><\/div>\n<table>\n<tbody>\n<tr>\n<td>Buy from US<\/td>\n<td>Buy from UK<\/td>\n<td>Buy from DE<\/td>\n<td>Buy from IT<\/td>\n<td>Buy from FR<\/td>\n<td>Buy from ES<\/td>\n<td>Buy from JP<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone size-large\" src=\"https:\/\/osoyoo.com\/picture\/icon\/us_buy_now.png\" width=\"150\" height=\"30\" \/><\/td>\n<td><img loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/osoyoo.com\/picture\/icon\/uk_buy_now.png\" alt=\"\" width=\"150\" height=\"30\" \/><\/td>\n<td><img loading=\"lazy\" class=\"alignnone size-large\" src=\"https:\/\/osoyoo.com\/picture\/icon\/de_buy_now.png\" width=\"150\" height=\"30\" \/><\/td>\n<td><img loading=\"lazy\" class=\"alignnone size-large\" src=\"https:\/\/osoyoo.com\/picture\/icon\/it_buy_now.png\" width=\"150\" height=\"30\" \/><\/td>\n<td><img loading=\"lazy\" class=\"alignnone size-large\" src=\"https:\/\/osoyoo.com\/picture\/icon\/fr_buy_now.png\" width=\"150\" height=\"30\" \/><\/td>\n<td><img loading=\"lazy\" class=\"alignnone size-large\" src=\"https:\/\/osoyoo.com\/picture\/icon\/es_buy_now.png\" width=\"150\" height=\"30\" \/><\/td>\n<td><img loading=\"lazy\" class=\"alignnone size-large\" src=\"https:\/\/osoyoo.com\/picture\/icon\/jp_buy_now.png\" width=\"150\" height=\"30\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><strong>Content<\/strong><\/h2>\n<ol>\n<li><a href=\"#1\">Introduction<\/a><\/li>\n<li><a href=\"#2\">Preparations<\/a>\n<ul>\n<li><a href=\"#2.1\">Hardware<\/a><\/li>\n<li><a href=\"#2.2\">Software<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#3\">The \u2018L\u2019 LED<\/a><\/li>\n<li><a href=\"#4\">Connect the board<\/a><\/li>\n<li><a href=\"#5\">Loading the \u2018Blink\u2019 Example<\/a><\/li>\n<li><a href=\"#6\">Select Corresponding Board Type\/Port Type<\/a><\/li>\n<li><a href=\"#7\">Uploading Blink to the Board<\/a><\/li>\n<li><a href=\"#8\">How \u2018Blink\u2019 Workst<\/a><\/li>\n<li><a href=\"#9\">Blinking Faster<\/a><\/li>\n<\/ol>\n<h1 id=\"1\">Introduction<\/h1>\n<p>In this lesson, you will learn how program your Arduino to make the Arduino&#8217;s built-in LED blink.<\/p>\n<p><a href=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/uno.jpg\"><img loading=\"lazy\" class=\"wp-image-7470 aligncenter\" src=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/uno.jpg\" alt=\"\" width=\"500\" height=\"500\" \/><\/a><\/p>\n<h1 id=\"2\">Preparations<\/h1>\n<h2 id=\"2.1\">Hardware<\/h2>\n<ul>\n<li>Osoyoo UNO Board (Fully compatible with Arduino UNO rev.3) x 1<\/li>\n<li>USB Cable x 1<\/li>\n<li>PC x 1<\/li>\n<\/ul>\n<h2 id=\"2.2\">Software<\/h2>\n<p>Arduino IDE (version 1.6.4+)<\/p>\n<p><strong>Notice:<\/strong><\/p>\n<p>Not much is needed for this lesson,make sure you&#8217;ve gone through Preparation lessons and Hello World lesson first!<\/p>\n<p>Make sure you have a good quality syncing cable,do not pick a &#8216;charge only&#8217; USB cable<\/p>\n<h1 id=\"3\" class=\"headline\"><span id=\"the-l-led\">The &#8216;L&#8217; LED<\/span><\/h1>\n<p>The Arduino has rows of connectors along both sides that are used to connect to electronic devices and plug-in &#8216;shields&#8217; that allow the Arduino to do more.However, the Arduino also has a single LED that you can control from your sketches. This LED is built onto the Arduino board and is often referred to as the &#8216;L&#8217; LED as this is how it is labelled on the board.<\/p>\n<p>The position of this LED is circled in red on the pictures of the Arduino Uno and Leonardo below.<\/p>\n<p><img class=\"aligncenter\" src=\"https:\/\/osoyoo.com\/picture\/Arduino_Graphical_Programming_Kit\/lesson1\/L_led.png\" \/><\/p>\n<h1 id=\"4\">Connect the board<\/h1>\n<p>Connect the Arduino board to your computer using the USB cable. The green power LED (labelled <strong>PWR<\/strong>) should go on.<\/p>\n<p><img class=\"aligncenter\" src=\"https:\/\/osoyoo.com\/picture\/Arduino_Graphical_Programming_Kit\/lesson1\/uno-pc.png\" \/><\/p>\n<h1 id=\"5\" class=\"headline\"><span id=\"loading-the-blink-example\">Loading the &#8216;Blink&#8217; Example<\/span><\/h1>\n<p>You may find that your Arduino board&#8217;s &#8216;L&#8217; LED already blinks when you connect it to a USB plug. This is because Arduino boards are generally shipped with the &#8216;Blink&#8217; sketch pre-installed.<br \/>\nIn this lesson, we will reprogram the Arduino with our own Blink sketch and then change the rate at which it blinks.In <a href=\"https:\/\/osoyoo.com\/2017\/06\/23\/arduino-lesson-hello-world\/\" target=\"_blank\" rel=\"noopener noreferrer\">Hello World Lesson<\/a>, you setup your Arduino IDE and made sure that you could find the right serial port for it to connect to your Arduino board. The time has now come to put that connection to the test and program your Arduino board.<\/p>\n<p>The Arduino IDE includes a large collection of example sketches that you can load up and use. This includes an example sketch for making the &#8216;L&#8217; LED blink.<\/p>\n<p>Load the &#8216;Blink&#8217; sketch that you will find in the IDE&#8217;s menu system under File \u2192 Examples \u2192 01.Basics\u2192Blink.<\/p>\n<p><a href=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/sketchselection.jpg\"><img loading=\"lazy\" class=\"wp-image-7396 aligncenter\" src=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/sketchselection.jpg\" alt=\"\" width=\"464\" height=\"523\" \/><\/a><\/p>\n<h1 id=\"6\">Select Corresponding Board Type\/Port Type<\/h1>\n<p>You&#8217;ll need to select the entry in the <strong>Tools &gt; Board<\/strong> menu that corresponds to your Arduino,we choose &#8220;Arduino\/Genuino Uno&#8221; here.<\/p>\n<p>Select the serial device of the Arduino board from the Tools | Serial Port menu. This is likely to be <strong><span class=\"wikiword\">COM3<\/span><\/strong> or higher (<strong><span class=\"wikiword\">COM1<\/span><\/strong> and <strong><span class=\"wikiword\">COM2<\/span><\/strong> are usually reserved for hardware serial ports). To find out, you can disconnect your Arduino board and re-open the menu; the entry that disappears should be the Arduino board. Reconnect the board and select that serial port.We choose &#8220;COM**(Arduino\/Genuino Uno)&#8221; here.<\/p>\n<p><a href=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/boardportselection.jpg\"><img loading=\"lazy\" class=\"size-full wp-image-7473 aligncenter\" src=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/boardportselection.jpg\" alt=\"\" width=\"486\" height=\"277\" \/><\/a><\/p>\n<h1 id=\"7\">Uploading Blink to the Board<\/h1>\n<p>Click on the &#8216;Upload&#8217; button. The second button from the left on the toolbar.<\/p>\n<p><a href=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/uploadbutton-1.jpg\"><img loading=\"lazy\" class=\"size-full wp-image-7479 aligncenter\" src=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/uploadbutton-1.jpg\" alt=\"\" width=\"486\" height=\"37\" \/><\/a><\/p>\n<p>If you watch the status area of the IDE, you will see a progress bar and a series of messages. At first it will say &#8216;Compiling Sketch..&#8217;. This converts the sketch into a format suitable for uploading to the board.<\/p>\n<p><a href=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/compiling.jpg\"><img loading=\"lazy\" class=\"size-full wp-image-7477 aligncenter\" src=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/compiling.jpg\" alt=\"\" width=\"486\" height=\"147\" \/><\/a><\/p>\n<p>Next, the status will change to &#8216;Uploading&#8217;. At this point, the LEDs on the Arduino should start to flicker as the sketch is transferred.<\/p>\n<p><a href=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/uploading.jpg\"><img loading=\"lazy\" class=\"size-full wp-image-7478 aligncenter\" src=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/uploading.jpg\" alt=\"\" width=\"487\" height=\"147\" \/><\/a><\/p>\n<p>Finally, the staus will change to &#8216;Done&#8217;.<\/p>\n<p><a href=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/doneuploading-1.jpg\"><img loading=\"lazy\" class=\"size-full wp-image-7476 aligncenter\" src=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/doneuploading-1.jpg\" alt=\"\" width=\"486\" height=\"146\" \/><\/a><\/p>\n<h1 id=\"8\" class=\"headline\"><span id=\"how-blink-works\">How &#8216;Blink&#8217; Works<\/span><\/h1>\n<pre><span style=\"color: #95a5a6;\">\/*<\/span> <span style=\"color: #95a5a6;\"> Blink<\/span> <span style=\"color: #95a5a6;\"> Turns on an LED on for one second, then off for one second, repeatedly.<\/span> <span style=\"color: #95a5a6;\"> \r\nMost Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO <\/span> <span style=\"color: #95a5a6;\"> \r\nit is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to<\/span> <span style=\"color: #95a5a6;\"> \r\nthe correct LED pin independent of which board is used.<\/span>  <span style=\"color: #95a5a6;\"> This example code is \r\nin the public domain.<\/span> <span style=\"color: #95a5a6;\">*\/<\/span> \r\n<span style=\"color: #434f54;\">\/\/ the setup function runs once when you press reset or power the board<\/span> \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #5e6d03;\">setup<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n<span style=\"color: #434f54;\">\/\/ initialize digital pin LED_BUILTIN as an output.<\/span> \r\n<span style=\"color: #d35400;\">pinMode<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">LED_BUILTIN<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">OUTPUT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #000000;\">}<\/span> \r\n<span style=\"color: #434f54;\">\/\/ the loop function runs over and over again forever<\/span> \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #5e6d03;\">loop<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n<span style=\"color: #d35400;\">digitalWrite<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">LED_BUILTIN<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">HIGH<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #434f54;\">\/\/ turn the LED on (HIGH is the voltage level)<\/span> \r\n<span style=\"color: #d35400;\">delay<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #434f54;\">\/\/ wait for a second<\/span> \r\n<span style=\"color: #d35400;\">digitalWrite<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">LED_BUILTIN<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">LOW<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #434f54;\">\/\/ turn the LED off by making the voltage LOW<\/span> \r\n<span style=\"color: #d35400;\">delay<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #434f54;\">\/\/ wait for a second<\/span> \r\n<span style=\"color: #000000;\">} <\/span><\/pre>\n<p>The first thing to note is that quite a lot of this sketch is what is called &#8216;comments&#8217;. Comments are not actual program instructions, they are just comments about how the program works. They are there for out benefit, so that there is some explanation to accompany the sketch.<\/p>\n<p>Everything between \/* and *\/ at the top of the sketch is a block comment, that explains what the sketch is for.<\/p>\n<p>There are also single line comments that start with \/\/ and everything up intil the end of the line counts as being a comment.<\/p>\n<p>The first actual line of code is:<\/p>\n<pre><span style=\"color: #00979c;\">void<\/span> <span style=\"color: #5e6d03;\">setup<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n<span style=\"color: #434f54;\">\/\/ initialize digital pin LED_BUILTIN as an output.<\/span> \r\n<span style=\"color: #d35400;\">pinMode<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">LED_BUILTIN<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">OUTPUT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> <span style=\"color: #000000;\">}<\/span><\/pre>\n<p>Every Arduino sketch must have a &#8216;setup&#8217; function, and the part of it where you might want to add instructions of your own is between the { and the }.<\/p>\n<p>In this case, there is just one command there, which, as the comment states tells the Arduino board that we are going to use the LED pin as an output.<\/p>\n<p>It is also mandatory for a sketch to have a &#8216;loop&#8217; function.<strong> Unlike the &#8216;setup&#8217; function that only runs once, after a reset, the &#8216;loop&#8217; function will, after it has finished running its commands, immediately start again.<\/strong><\/p>\n<pre><span style=\"color: #434f54;\">\/\/ the loop function runs over and over again forever<\/span> \r\n<span style=\"color: #00979c;\">void<\/span> <span style=\"color: #5e6d03;\">loop<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #000000;\">{<\/span> \r\n<span style=\"color: #d35400;\">digitalWrite<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">LED_BUILTIN<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">HIGH<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #434f54;\">\/\/ turn the LED on (HIGH is the voltage level)<\/span> \r\n<span style=\"color: #d35400;\">delay<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #434f54;\">\/\/ wait for a second<\/span> \r\n<span style=\"color: #d35400;\">digitalWrite<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #00979c;\">LED_BUILTIN<\/span><span style=\"color: #434f54;\">,<\/span> <span style=\"color: #00979c;\">LOW<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #434f54;\">\/\/ turn the LED off by making the voltage LOW<\/span> \r\n<span style=\"color: #d35400;\">delay<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #000000;\">1000<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #000000;\">;<\/span> \r\n<span style=\"color: #434f54;\">\/\/ wait for a second<\/span> \r\n<span style=\"color: #000000;\">}<\/span><\/pre>\n<p>Inside the loop function, the commands first of all turn the LED pin on (HIGH), then &#8216;delay&#8217; for 1000 milliseconds (1 second), then turn the LED pin off and pause for another second.<\/p>\n<div align=\"center\"><iframe src=\"https:\/\/www.youtube.com\/embed\/T6CiZWiN4fE\" width=\"853\" height=\"480\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/div>\n<h1 id=\"9\" class=\"headline\"><span id=\"blinking-faster\">Blinking Faster<\/span><\/h1>\n<p>You are now going to make your LED blink faster.As you might have guessed, the key to this lies in changing the parameter in () for the &#8216;delay&#8217; command.<\/p>\n<p><a href=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/delay.jpg\"><img loading=\"lazy\" class=\"size-full wp-image-7481 aligncenter\" src=\"https:\/\/osoyoo.com\/wp-content\/uploads\/2017\/06\/delay.jpg\" alt=\"\" width=\"486\" height=\"157\" \/><\/a><\/p>\n<p>This delay period is in milliseconds, and so if you want the LED to blink twice as fast, change the value of 1000 to 500. This would then pause for half a second each delay rather than a whole second. Upload the sketch again and you should see the LED start to flash more quickly.<\/p>\n<p><a href=\"https:\/\/osoyoo.info\/index.php\/2020\/10\/11\/arduino-basic-lesson-6-your-first-arduino-program-hello-world\/\"><img loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/osoyoo.com\/picture\/Arduino_Graphical_Programming_Kit\/Previous.png\" alt=\"\" width=\"206\" height=\"59\" \/><\/a>\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<a href=\"https:\/\/osoyoo.info\/index.php\/2020\/10\/11\/arduino-basic-tutorial-directory\/\"><img loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/osoyoo.com\/picture\/Arduino_Graphical_Programming_Kit\/Tutorial.png\" alt=\"\" width=\"206\" height=\"59\" \/><\/a>\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<a href=\"https:\/\/osoyoo.info\/index.php\/2020\/10\/12\/arduino-basic-lesson-8-use-serial-port-to-control-led\/\"><img loading=\"lazy\" class=\"alignright\" src=\"https:\/\/osoyoo.com\/picture\/Arduino_Graphical_Programming_Kit\/Next.png\" alt=\"\" width=\"206\" height=\"59\" \/><\/a><\/p>\n<div align=\"center\">\n<div align=\"center\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES Buy from JP Content Introduction Preparations Hardware Software The \u2018L\u2019 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":149,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/posts\/66"}],"collection":[{"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":4,"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"predecessor-version":[{"id":73,"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/posts\/66\/revisions\/73"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/media\/149"}],"wp:attachment":[{"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/osoyoo.info\/index.php\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}