{"id":5783,"date":"2017-03-08T16:17:48","date_gmt":"2017-03-08T08:17:48","guid":{"rendered":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/?p=5783"},"modified":"2024-04-09T07:51:03","modified_gmt":"2024-04-08T23:51:03","slug":"%e6%96%b0%e5%8c%97%e5%b8%82%e7%a8%8b%e5%bc%8f%e9%96%8b%e7%99%bc%e7%a4%be%e7%be%a4%e5%b7%a5%e4%bd%9c%e5%9d%8a1060308","status":"publish","type":"post","link":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783","title":{"rendered":"\u65b0\u5317\u5e02\u7a0b\u5f0f\u958b\u767c\u793e\u7fa4\u5de5\u4f5c\u574a-Scratch\u64f4\u5145\u7a4d\u6728\u8a2d\u8a08(1060308\u30010315\u30010322)"},"content":{"rendered":"<h3>\u65e5\u671f\uff1a106\u5e743\u67088\u65e5\u30013\u670815\u65e5\u30013\u670822\u65e5<\/h3>\n<h3>\u5730\u9ede\uff1a\u65b0\u5317\u5e02\u6559\u7814\u4e2d\u5fc3<\/h3>\n<h3>\u8b1b\u5e2b\uff1a\u8521\u4f73\u502b\u8001\u5e2b<\/h3>\n<h3>\u4e09\u5468\u7684\u8ab2\u7a0b\u5982\u4e0b\uff1a<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<span class=\"text_exposed_show\"><br \/>\n3\/8 \u7b2c\u4e00\u7bc0\u8ab2\u6703\u5148\u8b1b\u8a9e\u8a00\u7684\u8f49\u63db<br \/>\n3\/15 \u7b2c\u4e8c\u7bc0\u8b1b\u8b1bmblock\u7684\u7a4d\u6728\u64b0\u5beb<br \/>\n3\/22 \u7b2c\u4e09\u7bc0\u6703\u8b1bpython\u8ddfscratch<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/h3>\n<p>\u8a2d\u5099\u4f7f\u7528 Arduino\u6a21\u64ec\u5668 \u548c S2A\uff0c\u4e0d\u7528\u6e96\u5099\u786c\u9ad4\uff01<\/p>\n<h2>\u8ab2\u7a0b\u5167\u5bb9\uff1a<\/h2>\n<h3>Scratch \u64f4\u5145\u7a4d\u6728\u8a2d\u8a08\uff1a<\/h3>\n<ul>\n<li><a href=\"https:\/\/scratch.mit.edu\/scratch2download\/\" target=\"_blank\" rel=\"noopener\">Scratch2.0\u684c\u9762\u7248(\u96e2\u7dda\u7248)\u4e0b\u8f09<\/a><\/li>\n<li><a href=\"https:\/\/wiki.scratch.mit.edu\/wiki\/Scratch_Extension\" target=\"_blank\" rel=\"noopener\">Scratch Extension &#8211; Scratch Wiki<\/a>\n<ul>\n<li><a href=\"https:\/\/wiki.scratch.mit.edu\/w\/images\/ExtensionsDoc.HTTP-9-11.pdf\" target=\"_blank\" rel=\"noopener\">Creating Scratch 2.0 Extensions<\/a><\/li>\n<\/ul>\n<\/li>\n<li>BlocklyDesigner \u6a94\u6848\u4e0b\u8f09\n<ul>\n<li><strong><span style=\"color: #0000ff;\">\u5b89\u88dd Python 3.5.2<\/span><\/strong>\n<ul>\n<li><a href=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/2700\" target=\"_blank\" rel=\"noopener\">Python \u8a9e\u8a00\u53ca\u5176\u61c9\u7528<\/a><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #0000ff;\"><strong>avrdude.exe \u662f Arduino \u71d2\u9304\u7a0b\u5f0f<\/strong><\/span>\n<ul>\n<li><a href=\"http:\/\/yehnan.blogspot.com\/2013\/09\/avr-ispadafruit-usbtinyisp.html\" target=\"_blank\" rel=\"noopener\">\u8449\u96e3: \u958b\u7bb1\u6587\uff1aAVR ISP\u71d2\u9304\u5668Adafruit USBtinyISP<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong><span style=\"color: #0000ff;\">esptool.exe \u662f NodeMCU \u71d2\u9304\u7a0b\u5f0f<\/span><\/strong>\n<ul>\n<li><a href=\"https:\/\/github.com\/espressif\/esptool\/issues\/181\" target=\"_blank\" rel=\"noopener\">Install esptool.exe on Windows<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Scratch Extension URL &#8211; \u81fa\u4e2d\u5e02\u6559\u80b2\u5c40-\u6578\u4f4d\u6559\u5b78\u5e73\u53f0\n<ul>\n<li><a href=\"http:\/\/beardad1975.blogspot.tw\/2015\/08\/pythonscratch2basic.html\" target=\"_blank\" rel=\"noopener\">\u7528Python\u64f4\u5145\u6211\u7684Scratch2 &#8212; \u539f\u7406\u8207Hello World\u7bc7<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u6559\u5b78\u7bc4\u4f8b\uff1a<\/h3>\n<h4><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/3.bp.blogspot.com\/-SJJ_u9i2DLg\/Vc735K2JetI\/AAAAAAAABDY\/p1rMZibzLHQ\/s400\/blockSpec.png\" width=\"400\" height=\"300\" border=\"0\" \/><\/h4>\n<h4><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/1.bp.blogspot.com\/-NzjNv4NdJj4\/Vc77hOebUlI\/AAAAAAAABDk\/22k56asPL7I\/s400\/scratch_extension.png\" width=\"400\" height=\"270\" border=\"0\" \/><\/h4>\n<h4>base_helper.s2e<\/h4>\n<hr \/>\n<p>{<\/p>\n<p style=\"padding-left: 30px;\">&#8220;extensionName\": \" \u81ea\u8a02\u7a4d\u6728 &#8220;,<br \/>\n&#8220;extensionPort\": 50000,<br \/>\n&#8220;blockSpecs\": [<br \/>\n[&#8220;r\", &#8220;\u8cc7\u6599\", &#8220;hello\"],<br \/>\n[&#8220;r\", &#8220;\u8cc7\u65991&#8243;, &#8220;hello1&#8243;],<br \/>\n]<\/p>\n<p>}<\/p>\n<hr \/>\n<h3><a href=\"http:\/\/beardad1975.blogspot.tw\/2015\/08\/pythonscratch2basic.html\" target=\"_blank\" rel=\"noopener\">\u7528Python\u64f4\u5145\u6211\u7684Scratch2 &#8212; \u539f\u7406\u8207Hello World\u7bc7<\/a><\/h3>\n<h4>base_helper_py3.py<\/h4>\n<hr \/>\n<p><span style=\"color: #0000ff;\"><strong>def do_GET(self):<br \/>\n<\/strong><\/span><\/p>\n<p><strong><span style=\"color: #ff0000;\">\u00a0 try:<\/span><\/strong><\/p>\n<pre style=\"padding-left: 30px;\"> \"\"\"\n process HTTP GET requests\n \"\"\"<\/pre>\n<pre style=\"padding-left: 90px;\"># skip over the first \/ . example: \/poll -&gt; poll \n cmd = self.path[1:]<\/pre>\n<pre style=\"padding-left: 30px;\"> # create a command list . \n cmd_list = cmd.split('\/')\n \n s = \"\u4e0d\u56de\u50b3\u8cc7\u6599\"<\/pre>\n<pre class=\"language-javascript\" style=\"padding-left: 30px;\"> ###### \u8655\u7406Scratch\u9001\u51fa\u7684\u547d\u4ee4\n ###### \u82e5\u9700\u56de\u61c9Scratch\u7684Poll\u547d\u4ee4\uff0c\u518d\u628a\u6587\u5b57\u5b58\u5728\u8b8a\u6578s ##\n ##############################################################\n \n crlf = \"\\r\\n\"\n if cmd_list[0] == \"poll\":\n s=\"hello \" + \"hello\" + crlf\n s+=\"hello1 \" + \"hello1\" + crlf\n \n #############################################################\n<\/pre>\n<p><strong><span style=\"color: #ff0000;\">except:<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px;\">s = &#8220;\u4e0d\u56de\u50b3\u8cc7\u6599\"<\/p>\n<p><strong><span style=\"color: #ff0000;\">finally:<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px;\">self.send_resp(s)<\/p>\n<hr \/>\n<h3><a href=\"https:\/\/wiki.scratch.mit.edu\/w\/images\/ExtensionsDoc.HTTP-9-11.pdf\" target=\"_blank\" rel=\"noopener\">Creating Scratch 2.0 Extensions<\/a>\u00a0\u6458\u8981\u8aaa\u660e\uff1a<\/h3>\n<h4><strong><span style=\"color: #000000;\">Block description<\/span><\/strong><\/h4>\n<p>Each block is described by an array with the following fields:<\/p>\n<ul>\n<li><strong><span style=\"color: #0000ff;\">block type<\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">block format<\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">operation or remote variable name <\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">(optional) zero or more default parameter values <\/span><\/strong><\/li>\n<\/ul>\n<p>The block type is one of these strings:<\/p>\n<ul>\n<li><strong><span style=\"color: #0000ff;\">\" \" &#8211; command block <\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">&#8220;w\" &#8211; command block that waits <\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">&#8220;r\" &#8211; number reporter block (round ends)\u00a0<\/span><\/strong><span style=\"color: #0000ff;\">==&gt; \u524d\u9762\u6709\u5e36\u4e00\u500b checkbox<\/span><\/li>\n<li><strong><span style=\"color: #0000ff;\">&#8220;b\" &#8211; boolean reporter block (pointy ends)<\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">&#8220;R\" &#8211;\u00a0Reporters that wait (round ends)<\/span><\/strong><\/li>\n<\/ul>\n<p>The block format is a string that describes the labels and parameter slots that appear on the block. Parameter slots are indicated by a word starting with &#8220;%\" and can be one of:<\/p>\n<ul>\n<li><strong><span style=\"color: #0000ff;\">%n &#8211; number parameter (round ends) <\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">%s &#8211; string parameter (square ends) <\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">%b &#8211; boolean parameter (pointy ends)<\/span><\/strong><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Menu parameters<\/strong><\/span><\/h4>\n<p>Both command and reporter blocks can include menu parameters:<\/p>\n<ul>\n<li><strong><span style=\"color: #0000ff;\">%m.menuName &#8211; menu parameter (not editable) <\/span><\/strong><\/li>\n<li><strong><span style=\"color: #0000ff;\">%d.menuName &#8211; editable number parameter with menu<\/span><\/strong><\/li>\n<\/ul>\n<pre class=\"language-javascript\">{ \n  \"extensionName\": \"Kinect\",\n  \"extensionPort\": 12345,\n  \"blockSpecs\": [ \n    [\"r\", \"get %m.coordinate position of %m.bodyPart\", \"position\"],\n  ], \n  \"menus\": { \n    \"coordinate\": [\"x\", \"y\", \"z\"],\n    \"bodyPart\": [\"head\", \"shoulder\", \"elbow\", \"hand\"],\n  },\n}<\/pre>\n<p style=\"padding-left: 30px;\"><span style=\"color: #0000ff;\"><strong>position\/y\/hand 247 =&gt; \u56de\u50b3\u503c\u70ba 247 <span style=\"color: #ff0000;\">(\u9375\u3001\u503c\u7528<span style=\"color: #0000ff;\">\u7a7a\u683c<\/span>\u5206\u9694)<\/span><\/strong><\/span><\/p>\n<h4><strong>Polling <\/strong><span style=\"color: #ff0000;\">(\u6bcf\u79d2 30 \u6b21)<\/span><\/h4>\n<p style=\"padding-left: 30px;\">Scratch to retrieves sensor values and status information from the helper app by sending a poll command:<\/p>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #0000ff;\"><span style=\"color: #ff0000;\">request:<\/span><\/span><span style=\"color: #0000ff;\"> \/poll<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px;\">Here&#8217;s an example poll response:<\/p>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #ff0000;\">response:\u00a0<\/span><\/strong><span style=\"color: #0000ff;\">\u9375\u3001\u503c\u7528<strong>\u7a7a\u683c<\/strong>\u5206\u9694\uff0c\u6bcf\u4e00\u7b46\u8cc7\u6599\u7528\u00a0<strong>crlf (\\r\\n)\u00a0<\/strong>\u5206\u9694<\/span><\/p>\n<p style=\"padding-left: 60px;\"><strong><span style=\"color: #0000ff;\">brightness 75\u00a0+ crlf (\\r\\n)<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">slider 17\u00a0+ crlf (\\r\\n)<\/span><\/strong><\/p>\n<h4><strong>Commands<\/strong><\/h4>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #0000ff;\">\/beep<\/span><\/strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (command with no parameters)<br \/>\n<strong><span style=\"color: #0000ff;\">\/setVolume\/5<\/span><\/strong> \u00a0 (command with a numeric parameter)<\/p>\n<h4><strong><span style=\"color: #000000;\">Commands that wait<\/span><\/strong><\/h4>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #0000ff;\">turn motor on for 3 seconds <\/span><\/strong><\/p>\n<p>turns on the motor, waits three seconds, then turns it off again. When this block is used in a script, execution does not continue to the next block until the command completes. A command that waits is indicated by <span style=\"color: #ff0000;\"><strong>the &#8220;w\" block type<\/strong><\/span> in the command descriptor.<\/p>\n<p>When a <strong><span style=\"color: #ff0000;\">&#8220;w\"<\/span><\/strong> command is invoked, <strong><span style=\"color: #0000ff;\">Scratch adds a unique <\/span><em><span style=\"color: #0000ff;\"><span style=\"color: #ff0000;\">command_id<\/span><\/span><\/em><span style=\"color: #0000ff;\"> parameter to the request (before any other parameters)<\/span><\/strong>. For example, for the motor command above Scratch would send:<\/p>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #0000ff;\"><span style=\"color: #ff0000;\">request:<\/span>\u00a0 \u00a0 \u00a0\/motorOn\/2437\/3 <\/span><\/strong><\/p>\n<p>The first parameter, 2437, is a unique identifier for this invocation of the command. For the three seconds that this command takes to complete, the helper app adds a busy line to the poll request:<\/p>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #ff0000;\">response:<\/span><span style=\"color: #0000ff;\">\u00a0 _busy 2437 \u2026 <\/span><\/strong><\/p>\n<p>A busy line consists of the string &#8220;_busy\" followed by a list of unique identifiers separated by spaces. When Scratch gets a poll result that doesn&#8217;t include 2437 in the busy line (or doesn&#8217;t even have a busy line), it knows that the command is complete and allows the script that invoked that command to proceed.<\/p>\n<h4>Reporters that wait <span style=\"color: #ff0000;\">(\u76ee\u524d\u5df2\u5be6\u4f5c\u51fa\u4f86) =&gt; &#8220;R\"<\/span><\/h4>\n<p style=\"padding-left: 30px;\"><span style=\"color: #0000ff;\"><strong>temperature in city_name<\/strong><\/span><\/p>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #ff0000;\">request:<\/span><\/strong>\u00a0 \u00a0 \u00a0<strong><span style=\"color: #0000ff;\">\/getTemperature\/7639\/Boston<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #ff0000;\">response:<\/span><\/strong> \u00a0<strong><span style=\"color: #0000ff;\">_result 7639 82<\/span><\/strong><\/p>\n<h4><strong>Reset command<\/strong><\/h4>\n<p>Scratch extensions can control motors or music synthesizers. Users expect to be able to stop everything &#8212; turn off motors, silence music synthesizers, and reset hardware back to it&#8217;s original state &#8212; by clicking the stop button in the Scratch editor. Thus, when the stop button is clicked, <span style=\"color: #0000ff;\"><strong>Scratch sends a reset command to all active extensions:<\/strong><\/span><\/p>\n<p style=\"padding-left: 30px;\"><strong><span style=\"color: #0000ff;\"><span style=\"color: #ff0000;\">request:<\/span> \/reset_all<\/span><\/strong><\/p>\n<hr \/>\n<h3>\u53c3\u8003\u8cc7\u6599\u8207\u7bc4\u4f8b\uff1a<\/h3>\n<ul>\n<li>ScratchX<\/li>\n<li>Scratch Extension URL &#8211; \u81fa\u4e2d\u5e02\u6559\u80b2\u5c40-\u6578\u4f4d\u6559\u5b78\u5e73\u53f0\n<ul>\n<li><a href=\"http:\/\/beardad1975.blogspot.tw\/2015\/08\/pythonscratch2basic.html\" target=\"_blank\" rel=\"noopener\">\u7528Python\u64f4\u5145\u6211\u7684Scratch2 &#8212; \u539f\u7406\u8207Hello World\u7bc7<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/blog.arduino.cc\/2015\/05\/11\/scratch-extension-for-arduino\" target=\"_blank\" rel=\"noopener\">Arduino Blog \u2013 Scratch extension for Arduino (experimental release)<\/a><\/li>\n<li>\u7bc4\u4f8b\u7a0b\u5f0f\uff1a<a href=\"https:\/\/github.com\/jimmyscratchlab\/ScratchCoin\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/jimmyscratchlab\/ScratchCoin<\/a><\/li>\n<li><a href=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/2700\" target=\"_blank\" rel=\"noopener\">Python \u8a9e\u8a00\u53ca\u5176\u61c9\u7528<\/a><\/li>\n<\/ul>\n<h3>mBlock \u64f4\u5145\u7a4d\u6728\u8a2d\u8a08\uff1a<\/h3>\n<ul>\n<li>Create Extensions for mBlock\n<ul>\n<li><a href=\"http:\/\/download.makeblock.com\/mblock\/mblock_extension_guide.pdf\" target=\"_blank\" rel=\"noopener\">View\/Download Guide (PDF)<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/swf.com.tw\/?p=917\" target=\"_blank\" rel=\"noopener\">Arduino 4\u00d74\u8584\u819c\u9375\u76e4\u6a21\u7d44\u5be6\u9a57\uff08\u4e00\uff09\uff1a\u6309\u9375\u6383\u63cf\u7a0b\u5f0f\u539f\u7406\u8aaa\u660e<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Makeblock-official\" target=\"_blank\" rel=\"noopener\">github-Makeblock-official | mblock<\/a><\/li>\n<\/ul>\n<h3>mBlock \u7a4d\u6728\u7a0b\u5f0f\u8f49Arduino \u7a0b\u5f0f\u6559\u5b78\uff1a<\/h3>\n<ul>\n<li><a href=\"http:\/\/yehnan.blogspot.com\/2012\/02\/arduinoled.html\" target=\"_blank\" rel=\"noopener\">\u8449\u96e3: Arduino\u7df4\u7fd2\uff1a\u4ee5\u958b\u95dc\u5207\u63dbLED\u660e\u6ec5\u72c0\u614b<\/a><\/li>\n<li>mBlock \u5b98\u65b9\u7db2\u7ad9 \u2013 \u7528\u65bcArduino\/\u6a5f\u5668\u4eba\u7684Scratch\u5206\u652f\n<ul>\n<li>\u4e00\u5957\u5927\u9678\u767c\u5c55\u7684 S2A \u7a4d\u6728\u7a0b\u5f0f\uff0c\u53ef\u4ee5\u5c07 S2A \u7a4d\u6728\u7a0b\u5f0f\u8f49\u63db\u6210 Arduino \u7a0b\u5f0f\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/circuits.io\/\" target=\"_blank\" rel=\"noopener\">Arduino\u7dda\u4e0a\u96fb\u8def\u8207\u7a0b\u5f0f\u6a21\u64ec\u8edf\u9ad4-123D Circuits<\/a>\n<ul>\n<li><a href=\"https:\/\/circuits.io\/users\/794678\/designs\" target=\"_blank\" rel=\"noopener\">Autodesk 123D circuits &#8211; rousekimo Tom(\u8521\u4f73\u502b\u4f5c\u54c1\u96c6)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u7bc4\u4f8b\u4e00\uff1a<\/h3>\n<h4>Autodesk 123D circuits\u00a0\u7e6a\u5716<\/h4>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-5899 size-full\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/SwitchLed_bb-e1489557820617.jpg\" width=\"383\" height=\"498\" srcset=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/SwitchLed_bb-e1489557820617.jpg 383w, http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/SwitchLed_bb-e1489557820617-115x150.jpg 115w\" sizes=\"(max-width: 383px) 100vw, 383px\" \/><\/p>\n<h4>mBlock \u7a4d\u6728\u7a0b\u5f0f\uff1a<\/h4>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-5901\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_1.png\" alt=\"\" width=\"524\" height=\"239\" srcset=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_1.png 524w, http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_1-150x68.png 150w, http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_1-400x182.png 400w\" sizes=\"(max-width: 524px) 100vw, 524px\" \/><\/p>\n<h4>Arduino \u7a0b\u5f0f<\/h4>\n<p><code>#include &lt;Arduino.h&gt;<\/code><br \/>\n<code> #include &lt;Wire.h&gt;<\/code><br \/>\n<code> #include &lt;SoftwareSerial.h&gt;<\/code><\/p>\n<p><code>double angle_rad = PI\/180.0;<\/code><br \/>\n<code> double angle_deg = 180.0\/PI;<\/code><br \/>\n<code> double switchStatus;<\/code><\/p>\n<p><code>void setup(){<\/code><br \/>\n<code> Serial.begin(<strong><span style=\"color: #ff0000;\">9600<\/span><\/strong>); \/\/\u6539\u62109600\uff0c\u624d\u80fd\u65bc123D\u4e2d\u57f7\u884c<\/code><br \/>\n<code> pinMode(2,INPUT);<\/code><br \/>\n<code> }<\/code><\/p>\n<p><code>void loop(){<\/code><br \/>\n<code> switchStatus = digitalRead(2);<\/code><br \/>\n<code> Serial.println(switchStatus);<\/code><br \/>\n<code> _loop();<\/code><br \/>\n<code> }<\/code><\/p>\n<p><code>void _delay(float seconds){<\/code><br \/>\n<code> long endTime = millis() + seconds * 1000;<\/code><br \/>\n<code> while(millis() &lt; endTime)_loop();<\/code><br \/>\n<code> }<\/code><\/p>\n<h3>\u7bc4\u4f8b\u4e8c\uff1a<\/h3>\n<h4>Autodesk 123D circuits\u00a0\u7e6a\u5716<\/h4>\n<h4><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-5902\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_2.png\" alt=\"\" width=\"656\" height=\"577\" srcset=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_2.png 656w, http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_2-600x528.png 600w, http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_2-150x132.png 150w, http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_2-400x352.png 400w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><\/h4>\n<h4>mBlock \u7a4d\u6728\u7a0b\u5f0f\uff1a<\/h4>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-5903\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_21.png\" alt=\"\" width=\"429\" height=\"420\" srcset=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_21.png 429w, http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_21-150x147.png 150w, http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/1060315_21-400x392.png 400w\" sizes=\"(max-width: 429px) 100vw, 429px\" \/><\/p>\n<h4>Arduino \u7a0b\u5f0f<\/h4>\n<pre><code><span style=\"color: #990000;\">#include<\/span> &lt;Arduino.h&gt;\n<span style=\"color: #990000;\">#include<\/span> &lt;Wire.h&gt;\n<span style=\"color: #990000;\">#include<\/span> &lt;SoftwareSerial.h&gt;\n\n<span style=\"color: #990000;\">double<\/span> angle_rad = PI\/180.0;\n<span style=\"color: #990000;\">double<\/span> angle_deg = 180.0\/PI;\n<span style=\"color: #990000;\">double<\/span> Button;\n<span style=\"color: #990000;\">double<\/span> LED;\n\n<span style=\"color: #990000;\">void<\/span> <span style=\"color: #996600;\">setup<\/span>(){\n    Button = 2;\n    LED = 12;\n    pinMode(Button,INPUT);\n    pinMode(LED,OUTPUT);\n}\n\n<span style=\"color: #990000;\">void<\/span> <span style=\"color: #996600;\">loop<\/span>(){\n    <span style=\"color: #996600;\">if<\/span>(((digitalRead(Button))==(1))){\n        digitalWrite(LED,1);\n    }<span style=\"color: #996600;\">else<\/span>{\n        digitalWrite(LED,0);\n    }\n    _<span style=\"color: #996600;\">loop<\/span>();\n}\n\n<span style=\"color: #990000;\">void<\/span> _delay(float seconds){\n    long endTime = millis() + seconds * 1000;\n    <span style=\"color: #996600;\">while<\/span>(millis() &lt; endTime)_<span style=\"color: #996600;\">loop<\/span>();\n}\n\n<span style=\"color: #990000;\">void<\/span> _<span style=\"color: #996600;\">loop<\/span>(){\n}<\/code><\/pre>\n<hr \/>\n<h2>\u53c3\u8003\u8cc7\u6599\uff1a<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.facebook.com\/jialun.cai1\" target=\"_blank\" rel=\"noopener\">\u8521\u4f73\u502b Facebook<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/blockly\/\" target=\"_blank\" rel=\"noopener\">Blockly | Google Developers<\/a><\/li>\n<li>BlocklyDesigner \u6559\u5b78\u7db2\u7ad9<\/li>\n<li>BlocklyDesigner \u6559\u5b78\u6587\u4ef6 (Arduino UNO)<\/li>\n<li>BlocklyDesigner \u6a94\u6848\u4e0b\u8f09<\/li>\n<li><a href=\"http:\/\/ruten-proteus.blogspot.com\/2015\/05\/esp8266-lua-nodemcu-firmware-update.html\" target=\"_blank\" rel=\"noopener\">ESP8266 ( ESP-01 ) \u7121\u7dda\u6a21\u7d44\u71d2\u9304 NodeMCU \u97cc\u9ad4 ( Lua \u8a9e\u6cd5\u652f\u63f4 )<\/a><\/li>\n<li><a href=\"http:\/\/www.nodemcu.com\/index_cn.html\" target=\"_blank\" rel=\"noopener\">NodeMCU \u7269\u806f\u7db2\u958b\u767c\u5e73\u53f0<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nodemcu\/nodemcu-firmware\" target=\"_blank\" rel=\"noopener\">NodeMCU GitHub<\/a><\/li>\n<li><a href=\"https:\/\/zh.wikipedia.org\/wiki\/NodeMCU\" target=\"_blank\" rel=\"noopener\">Wiki : NodeMCU<\/a><\/li>\n<li><a href=\"https:\/\/www.google.com.tw\/search?q=nodeMCU&amp;source=lnms&amp;tbm=isch&amp;sa=X&amp;ved=0ahUKEwiOpbynhMfSAhWEpZQKHe2LCbcQ_AUICCgB&amp;biw=1280&amp;bih=920\" target=\"_blank\" rel=\"noopener\">\u300cnodeMCU\u300d\u7684\u5716\u7247\u641c\u5c0b\u7d50\u679c<\/a><\/li>\n<li><a href=\"https:\/\/thearduinostore.wordpress.com\/products\/joystick-shield-v1-a\/\" target=\"_blank\" rel=\"noopener\">JOYSTICK SHIELD V1.A<\/a><\/li>\n<li><a href=\"https:\/\/circuits.io\/users\/794678\/designs\" target=\"_blank\" rel=\"noopener\">Autodesk 123D circuits &#8211; rousekimo Tom(\u8521\u4f73\u502b\u4f5c\u54c1\u96c6)<\/a><\/li>\n<li><a href=\"https:\/\/www.arduino.cc\/\" target=\"_blank\" rel=\"noopener\">Arduino \u5b98\u65b9\u7db2\u7ad9<\/a><\/li>\n<li>mBlock \u7a0b\u5f0f\u8a2d\u8a08 \u2014 mBot \u6a5f\u5668\u4eba | \u78a7\u83ef\u570b\u5c0f\u5275\u5ba2\u6559\u80b2\u4e2d\u5fc3\u3002<\/li>\n<li><a href=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/4979\" target=\"_blank\" rel=\"noopener\">Arduino\u3001S4A\u3001S2A\u3001Transformer<\/a><\/li>\n<li><a href=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/3606\" target=\"_blank\" rel=\"noopener\">Webduino<\/a><\/li>\n<li><a href=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5282\" target=\"_blank\" rel=\"noopener\">WFduino<\/a><\/li>\n<li><a href=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/2700\" target=\"_blank\" rel=\"noopener\">Python \u8a9e\u8a00\u53ca\u5176\u61c9\u7528<\/a><\/li>\n<\/ul>\n<h4>BlocklyDesigner \u5b89\u88dd\u6559\u5b78\uff1a<\/h4>\n<div class=\"epyt-video-wrapper\"><iframe  style=\"display: block; margin: 0px auto;\"  id=\"_ytid_79384\"  width=\"640\" height=\"480\"  data-origwidth=\"640\" data-origheight=\"480\"  data-relstop=\"1\" src=\"https:\/\/www.youtube.com\/embed\/1IPloyy9R94?enablejsapi=1&autoplay=0&cc_load_policy=0&cc_lang_pref=&iv_load_policy=1&loop=0&rel=0&fs=1&playsinline=0&autohide=2&theme=dark&color=red&controls=1&disablekb=0&\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div>\n<h4>\u8521\u4f73\u502b\u6559\u5b78\u5f71\u7247\uff1a<\/h4>\n<div class=\"epyt-video-wrapper\"><iframe  style=\"display: block; margin: 0px auto;\"  id=\"_ytid_74365\"  width=\"640\" height=\"360\"  data-origwidth=\"640\" data-origheight=\"360\"  data-relstop=\"1\" src=\"https:\/\/www.youtube.com\/embed\/?enablejsapi=1&listType=playlist&list=UUn_lLx7m1aa-SLc7w_6wjDA&autoplay=0&cc_load_policy=0&cc_lang_pref=&iv_load_policy=1&loop=0&rel=0&fs=1&playsinline=0&autohide=2&theme=dark&color=red&controls=1&disablekb=0&\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div>\n<h3>\u6d3b\u52d5\u7167\u7247\uff1a<\/h3>\n\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-1 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t\t#gallery-1 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-1' class='gallery galleryid-5783 gallery-columns-3 gallery-size-thumbnail'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17201059_10208598478704938_1502093143080485938_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17201059_10208598478704938_1502093143080485938_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17264184_10208689878389873_535202224332075004_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17264184_10208689878389873_535202224332075004_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17155521_10208598478184925_2357815393700461615_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17155521_10208598478184925_2357815393700461615_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><br style=\"clear: both\" \/><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17361939_10208689877909861_1699969053602742134_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17361939_10208689877909861_1699969053602742134_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17264579_10208689878829884_4856312082913190230_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17264579_10208689878829884_4856312082913190230_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17156272_10208598473464807_3155801183779726790_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17156272_10208598473464807_3155801183779726790_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><br style=\"clear: both\" \/><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17191299_10208598474344829_3871021872692718049_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17191299_10208598474344829_3871021872692718049_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17191487_10208598476464882_568776903270501613_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17191487_10208598476464882_568776903270501613_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17202915_10208598477704913_8877787497295563473_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17202915_10208598477704913_8877787497295563473_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><br style=\"clear: both\" \/><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17191398_10208598472904793_7241400692123152395_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17191398_10208598472904793_7241400692123152395_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17191078_10208598475104848_5660470838376743875_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17191078_10208598475104848_5660470838376743875_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17191188_10208598477064897_7507130023804329393_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17191188_10208598477064897_7507130023804329393_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><br style=\"clear: both\" \/><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17361961_10208689875509801_603570084113994726_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17361961_10208689875509801_603570084113994726_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17352369_10208689875709806_4669395110986743989_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17352369_10208689875709806_4669395110986743989_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17352096_10208689877669855_3229326296885558441_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17352096_10208689877669855_3229326296885558441_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><br style=\"clear: both\" \/><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17190488_10208598473904818_5581066985787833998_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17190488_10208598473904818_5581066985787833998_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17362050_10208689876149817_7663740461074147778_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17362050_10208689876149817_7663740461074147778_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17361761_10208689876829834_16086153210892778_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17361761_10208689876829834_16086153210892778_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><br style=\"clear: both\" \/><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17264505_10208689877109841_4317430852680148286_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17264505_10208689877109841_4317430852680148286_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17342812_10208689875269795_4165032143143278110_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17342812_10208689875269795_4165032143143278110_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/archives\/5783\/17353518_10208689874869785_5704314248923772690_n'><img width=\"150\" height=\"150\" src=\"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-content\/uploads\/2017\/03\/17353518_10208689874869785_5704314248923772690_n-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/dt><\/dl><br style=\"clear: both\" \/>\n\t\t<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>\u65e5\u671f\uff1a106\u5e743\u67088\u65e5\u30013\u670815\u65e5\u30013\u670822\u65e5 \u5730\u9ede\uff1a\u65b0\u5317\u5e02\u6559\u7814\u4e2d\u5fc3 \u8b1b\u5e2b\uff1a\u8521\u4f73\u502b\u8001\u5e2b \u4e09\u5468\u7684\u8ab2\u7a0b\u5982\u4e0b\uff1a &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 3\/8 \u7b2c\u4e00\u7bc0\u8ab2\u6703\u5148\u8b1b\u8a9e\u8a00\u7684\u8f49\u63db 3\/15 \u7b2c\u4e8c\u7bc0\u8b1b\u8b1bmblock\u7684\u7a4d\u6728\u64b0\u5beb 3\/22 \u7b2c\u4e09\u7bc0\u6703\u8b1bpython\u8ddfscratch &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- <\/p>\n<p>\u8a2d\u5099\u4f7f\u7528 Arduino\u6a21\u64ec\u5668 \u548c S2A\uff0c\u4e0d\u7528\u6e96\u5099\u786c\u9ad4\uff01<\/p>\n<p> \u8ab2\u7a0b\u5167\u5bb9\uff1a Scratch \u64f4\u5145\u7a4d\u6728\u8a2d\u8a08\uff1a Scratch2.0\u684c\u9762\u7248(\u96e2\u7dda\u7248)\u4e0b\u8f09 Scratch Extension &#8211; Scratch Wiki Creating Scratch 2.0 Extensions BlocklyDesigner \u6a94\u6848\u4e0b\u8f09 \u5b89\u88dd Python 3.5.2 Python \u8a9e\u8a00\u53ca\u5176\u61c9\u7528 avrdude.exe \u662f Arduino \u71d2\u9304\u7a0b\u5f0f \u8449\u96e3: \u958b\u7bb1\u6587\uff1aAVR ISP\u71d2\u9304\u5668Adafruit USBtinyISP esptool.exe \u662f NodeMCU \u71d2\u9304\u7a0b\u5f0f Install esptool.exe on Windows Scratch Extension URL [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10,34,30],"tags":[],"_links":{"self":[{"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/posts\/5783"}],"collection":[{"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/comments?post=5783"}],"version-history":[{"count":0,"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/posts\/5783\/revisions"}],"wp:attachment":[{"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/media?parent=5783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/categories?post=5783"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/webnas.bhes.ntpc.edu.tw\/wordpress\/wp-json\/wp\/v2\/tags?post=5783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}