{"id":1787,"date":"2015-04-23T10:15:54","date_gmt":"2015-04-23T10:15:54","guid":{"rendered":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1787"},"modified":"2015-04-23T10:15:54","modified_gmt":"2015-04-23T10:15:54","slug":"ardublock-graphical-programming-language-for-arduino","status":"publish","type":"post","link":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/ardublock-graphical-programming-language-for-arduino\/","title":{"rendered":"Ardublock: GRAPHICAL PROGRAMMING LANGUAGE FOR ARDUINO"},"content":{"rendered":"\n<!-- Facebook Like Button v1.9.6 BEGIN [http:\/\/blog.bottomlessinc.com] -->\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=http%3A%2F%2Finspiredtoeducate.net%2Finspiredtoeducate%2Fardublock-graphical-programming-language-for-arduino%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px; height: 30px; align: left; margin: 2px 0px 2px 0px\"><\/iframe>\n<!-- Facebook Like Button END -->\n<p><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/crane1.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1780\" src=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/crane1.jpg\" alt=\"Lego Crane\" width=\"500\" height=\"281\" srcset=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/crane1.jpg 500w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/crane1-300x168.jpg 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Thanks to projects like <a href=\"http:\/\/Code.org\" target=\"_blank\">Code.org<\/a> and <a title=\"Benefits of Teaching Kids To Code That No One Is Talking About\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/benefits-of-teaching-kids-to-code-that-no-one-is-talking-about\/\" target=\"_blank\">MIT Scratch<\/a>, students can encounter ideas from computer science\u00a0using rich puzzle interfaces. Using these puzzle interfaces, students grow their skills of creativity and critical thinking while building something fun. Puzzle based programming interfaces put emphasis on the student learning sequencing, loops, and connecting appropriate pieces together. In this post, I wanted to share my experiences with <a href=\"http:\/\/blog.ardublock.com\/engetting-started-ardublockzhardublock\/\" target=\"_blank\">Ardublock<\/a>, a puzzle based programming interface for the Arduino platform. Using the most recent beta of Ardublock, I found that I could create an Arduino program to control motors quickly. I&#8217;m looking forward to seeing how students in <a href=\"http:\/\/sparkmacon.com\" target=\"_blank\">our makerspace<\/a> will enjoy the software.<\/p>\n<p>The Arduino platform enables makers and students to program experiences involving electronics or sketches. You can learn more about this platform from the <a title=\"Massimo Banzi: How Arduino is open-sourcing imagination\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/massimo-banzi-how-arduino-is-open-sourcing-imagination\/\" target=\"_blank\">following blog post<\/a>. In <a title=\"How to build a Lego Crane using Arduino [Tutorial]\" href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/building-lego-crane-using-arduino\/\" target=\"_blank\">our previous blog post<\/a>, we used Arduino, Lego&#8217;s, and a few servo motor&#8217;s to create a small toy crane. In this sketch, the user can move the crane by sending a character to the Arduino through the serial monitor.<\/p>\n<ul>\n<li>w &#8211; moves the crane up.<\/li>\n<li>s &#8211; stops the crane.<\/li>\n<li>x &#8211; moves the crane down.<\/li>\n<li>a &#8211; moves the crane left.<\/li>\n<li>d &#8211; moves the crane right.<\/li>\n<\/ul>\n<p>In the crane setup, pin 9 of the Arduino is connected to a standard servo. Pin 9 will be used to move the crane left and right. Pin 10 will be used to move the crane up and down. We initialize our variable for the direction or angle of the crane. We also send an angle of 90 degrees to both servo motors to ensure that the motors stop moving.<\/p>\n<p><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_setup.jpg\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-1791\" src=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_setup-1024x574.jpg\" alt=\"Ardublock setup\" width=\"608\" height=\"340\" srcset=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_setup-1024x574.jpg 1024w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_setup-300x168.jpg 300w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_setup-900x504.jpg 900w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_setup.jpg 1876w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>In the Arduino platform, the programmer needs to define a main loop of functionality. \u00a0 In the crane control program, we start the process by accepting a character from the serial port and storing the character in a variable called &#8220;input.&#8221; \u00a0 If we receive the character &#8216;d&#8217; for move left, then the system changes the angle variable and writes the angle to the servo motor. \u00a0You can see the Ardublock code below. \u00a0 The character &#8216;a&#8217; for move right operates in a similar manner. \u00a0 \u00a0When we receive the characters x and w to move up and down, we write an appropriate value to the continuous rotation servo. \u00a0 (0 = move up, 180 = move down)<\/p>\n<p><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_loop.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1792\" src=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_loop.jpg\" alt=\"Ardublock main loop\" width=\"684\" height=\"862\" srcset=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_loop.jpg 684w, http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2015\/04\/ardublock_loop-238x300.jpg 238w\" sizes=\"(max-width: 684px) 100vw, 684px\" \/><\/a><\/p>\n<p>When using Ardublock, the student is not hidden from the C code generated by the tool. \u00a0The student can be encouraged to change the C code. \u00a0I see this as a nice learning advantage. \u00a0 I want our students to make the connection between puzzle pieces and traditional code.<\/p>\n<p>If you&#8217;re interested in learning more about this free and open source product, check out the following link:<\/p>\n<p><a href=\"http:\/\/blog.ardublock.com\/engetting-started-ardublockzhardublock\/\" target=\"_blank\">http:\/\/blog.ardublock.com\/engetting-started-ardublockzhardublock\/<\/a><\/p>\n<p><strong>Top Stories on InspiredToEducate.NET<\/strong><\/p>\n<p><strong>Learning To Code<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1319\">Easy Data Visualization with Google Charts and JavaScript<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=795\">Learn to Build Your Own Conversational Bot using ChatScript<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1285\">10 Free Resources for Learning JavaScript and HTML5<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1238\">17 Fun Tools To Teach Kids To Code by @ChrisBetcher<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=623\">Benefits of Teaching Kids To Code That No One Is Talking About<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1349\">Easy Recipes for Building Android Apps using MIT App Inventor<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=738\">12 Steps To 3D Print Your Minecraft Creations<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=849\">How to Build Your Mobile App using HTML<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1079\" target=\"_blank\">Simple Minecraft Programming Using ScriptCraftJS<\/a><\/li>\n<\/ul>\n<p><strong>Science Education<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1093\">Why hate science?<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=374\">7 ideas for creating a student centered learning environment by Paul Andersen<\/a><\/li>\n<li><a href=\"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/?p=1022\">Using candy to teach DNA structure<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<!-- Facebook Like Button v1.9.6 BEGIN [http:\/\/blog.bottomlessinc.com] -->\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=http%3A%2F%2Finspiredtoeducate.net%2Finspiredtoeducate%2Fardublock-graphical-programming-language-for-arduino%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px; height: 30px; align: left; margin: 2px 0px 2px 0px\"><\/iframe>\n<!-- Facebook Like Button END -->\n","protected":false},"excerpt":{"rendered":"<p>Thanks to projects like Code.org and MIT Scratch, students can encounter ideas from computer science\u00a0using rich puzzle interfaces. Using these puzzle interfaces, students grow their skills of creativity and critical thinking while building something fun. Puzzle based programming interfaces put emphasis on the student learning sequencing, loops, and connecting appropriate [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,24,16,23,11,8,1],"tags":[],"_links":{"self":[{"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/1787"}],"collection":[{"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/comments?post=1787"}],"version-history":[{"count":1,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/1787\/revisions"}],"predecessor-version":[{"id":1793,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/1787\/revisions\/1793"}],"wp:attachment":[{"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/media?parent=1787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/categories?post=1787"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/tags?post=1787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}