<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Python Programming &#8211; Greg Laden&#039;s Blog</title>
	<atom:link href="https://gregladen.com/blog/tag/python-programming/feed/" rel="self" type="application/rss+xml" />
	<link>https://gregladen.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 15 Feb 2019 01:23:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.8</generator>

<image>
	<url>https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2017/10/Greg_Ladens_Blog_Favicon_black_GLb.png?fit=32%2C32&#038;ssl=1</url>
	<title>Python Programming &#8211; Greg Laden&#039;s Blog</title>
	<link>https://gregladen.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">77525483</site>	<item>
		<title>Serious Python Programming</title>
		<link>https://gregladen.com/blog/2019/02/09/serious-python-programming/</link>
					<comments>https://gregladen.com/blog/2019/02/09/serious-python-programming/#comments</comments>
		
		<dc:creator><![CDATA[Greg Laden]]></dc:creator>
		<pubDate>Sat, 09 Feb 2019 16:56:14 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[advanced python]]></category>
		<category><![CDATA[Book review]]></category>
		<category><![CDATA[Python coding]]></category>
		<category><![CDATA[Python Programming]]></category>
		<guid isPermaLink="false">https://gregladen.com/blog/?p=31559</guid>

					<description><![CDATA[Julien Danjou&#8217;s Serious Python: Black-Belt Advice on Deployment, Scalability, Testing, and More is serious. This book takes Python programming well beyond casual programming, and beyond the use of Python as a glorified scripting language to access statistical or graphics tools, etc. This is level one or even level two material. If you are writing software &#8230; <a href="https://gregladen.com/blog/2019/02/09/serious-python-programming/" class="more-link">Continue reading <span class="screen-reader-text">Serious Python Programming</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Julien Danjou&#8217;s <a target="_blank" href="https://www.amazon.com/gp/product/1593278780/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1593278780&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=1b3afa8818eafa178ee2060504728f99">Serious Python: Black-Belt Advice on Deployment, Scalability, Testing, and More</a><img decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=1593278780" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> is serious.</p>
<p><img fetchpriority="high" decoding="async" data-attachment-id="31561" data-permalink="https://gregladen.com/blog/2019/02/09/serious-python-programming/seriouspythoncover/" data-orig-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/02/SeriousPythonCover.jpg?fit=378%2C499&amp;ssl=1" data-orig-size="378,499" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SeriousPythonCover" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/02/SeriousPythonCover.jpg?fit=227%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/02/SeriousPythonCover.jpg?fit=378%2C499&amp;ssl=1" src="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/02/SeriousPythonCover-227x300.jpg?resize=227%2C300" alt="" width="227" height="300" class="alignright size-medium wp-image-31561" srcset="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/02/SeriousPythonCover.jpg?resize=227%2C300&amp;ssl=1 227w, https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/02/SeriousPythonCover.jpg?w=378&amp;ssl=1 378w" sizes="(max-width: 227px) 100vw, 227px" data-recalc-dims="1" />This book takes Python programming well beyond casual programming, and beyond the use of Python as a glorified scripting language to access statistical or graphics tools, etc. This is level one or even level two material.  If you are writing software to distribute to others, handling time zones, want to optimize code, or experiment with different programming paradigms (i.e. functional programming, generating code, etc.) then you will find <a target="_blank" href="https://www.amazon.com/gp/product/1593278780/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1593278780&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=d35818f9a127a8c170e1eed120fc430c">Serious Python</a><img decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=1593278780" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> informative and interesting.  Multi-threading, optimization, scaling, methods and decorators, and integration with relational databases are also covered.  (A decorator is a function that &#8220;decorates,&#8221; or changes or expands, a function without motifying i.) The material is carefully and richly explored, and the writing is clear and concise. <span id="more-31559"></span></p>
<p>An example of the kind of information in this book: Objects you create in your Python programming have to be kept track of by Python. But you might create simple objects that can&#8217;t, and don&#8217;t need to, do much. Such an object still carries with it overhead as thought the object might be asked to do more. But if it never will be, you can create a simper version of that object that is less powerful (but powerful enough) but that uses, maybe, 20% of the memory space to exist, which can add up if this is an object you need a lot of instances of.  But is that always the best solution? What if you don&#8217;t need the object to be stored with full-on meta-information, but you do want something more than the simplest possible. There is a way to do that too, so you get considerable memory savings but maybe not as much.  This book tells you how to do this.</p>
<p>Another example: Say you have a function that does nothing but return a single value, and you use it a lot. But, the value you send it, while it varies across the use of the program (otherwise you wouldn&#8217;t have a function, most likely) it is often the same.  You are computing a simple conversion, but over several thousand conversions, there are only a few hundred possible values you ever actually convert.  Wouldn&#8217;t it be great to have the ability to cache the results of a function, so if the same thing is asked of it again, it simply returns the previously calculated value rather than re-doing what it just did? Well, you can do that, it is in this book.</p>
<p>This is a great advanced Python book. To give you a better idea if it is good for you, specifically, here is the TOC:</p>
<p>Chapter 1: Starting Your Project<br />
Chapter 2: Modules, Libraries, and Frameworks<br />
Chapter 3: Documentation and Good API Practice<br />
Chapter 4: Handling Timestamps and Time Zones<br />
Chapter 5: Distributing Your Software<br />
Chapter 6: Unit Testing<br />
Chapter 7: Methods and Decorators<br />
Chapter 8: Functional Programming<br />
Chapter 9: The Abstract Syntax Tree, Hy, and Lisp-like Attributes<br />
Chapter 10: Performances and Optimizations<br />
Chapter 11: Scaling and Architecture<br />
Chapter 12: Managing Relational Databases<br />
Chapter 13: Write Less, Code More</p>
<p>Author Julien Danjou is a Principal Software Engineer at Red Hat and a contributor to OpenStack, the largest existing open source project written in Python. He has been a Free Software and Open Source hacker for the past 15 years.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gregladen.com/blog/2019/02/09/serious-python-programming/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">31559</post-id>	</item>
		<item>
		<title>Making Raspberry Pi Robots</title>
		<link>https://gregladen.com/blog/2019/01/29/making-raspberry-pi-robots/</link>
					<comments>https://gregladen.com/blog/2019/01/29/making-raspberry-pi-robots/#respond</comments>
		
		<dc:creator><![CDATA[Greg Laden]]></dc:creator>
		<pubDate>Wed, 30 Jan 2019 00:57:49 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[Book review]]></category>
		<category><![CDATA[Python Programming]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Robots]]></category>
		<category><![CDATA[STEM]]></category>
		<guid isPermaLink="false">https://gregladen.com/blog/?p=31471</guid>

					<description><![CDATA[At the core of this post is a review of a new book, Learn Robotics with Raspberry Pi: Build and Code Your Own Moving, Sensing, Thinking Robots. I recommend it as a great above-basic level introduction to building a standard robot, learning a bit about the Linux operating system, learning to program in Python, and &#8230; <a href="https://gregladen.com/blog/2019/01/29/making-raspberry-pi-robots/" class="more-link">Continue reading <span class="screen-reader-text">Making Raspberry Pi Robots</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>At the core of this post is a review of a new book, <a target="_blank" href="https://www.amazon.com/gp/product/1593279205/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1593279205&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=8cbfb4df00081f437abd71274c0a39bd">Learn Robotics with Raspberry Pi: Build and Code Your Own Moving, Sensing, Thinking Robots</a><img decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=1593279205" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.  I recommend it as a great above-basic level introduction to building a standard robot, learning a bit about the Linux operating system, learning to program in Python, and learning some basic electronics.  However, I want to frame this review in a bit more context which I think will chase some readers away from this book while at the same time making others drool.  But don&#8217;t drool on the electronics.<span id="more-31471"></span></p>
<p><H3>The Raspberry Pi</H3></p>
<p>The <a target="_blank" href="https://www.amazon.com/gp/product/B01CD5VC92/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B01CD5VC92&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=4193f1e9884b77c3de3e0cfba67f6bdb">Raspberry Pi model 3</a><img loading="lazy" decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=B01CD5VC92" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> is a small computer.  At its core, it is similar to the computer inside a modern smart phone.  It has a Quad Core 1.2 GHx Boradcam 64 bit CPU, 1GB of non-upgradable RAM, Ethernet, Wireless, Bluetooth, and HDMI output.  It has a special connector for a camera, a special connector for a small touchscreen display, a micro SD port which serves as the operating system&#8217;s &#8220;hard drive&#8221; including storage of your data.  You plug it into a 2.5 amp Micro USB cabled power brick.</p>
<p><figure id="attachment_31473" aria-describedby="caption-attachment-31473" style="width: 300px" class="wp-caption alignright"><img loading="lazy" decoding="async" data-attachment-id="31473" data-permalink="https://gregladen.com/blog/2019/01/29/making-raspberry-pi-robots/raspberry-pi-3-ports-1-1833x1080/" data-orig-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?fit=1833%2C1080&amp;ssl=1" data-orig-size="1833,1080" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Raspberry-Pi-3-Ports-1-1833&#215;1080" data-image-description="" data-image-caption="&lt;p&gt;A Raspberry Pi 3.&lt;/p&gt;
" data-medium-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?fit=300%2C177&amp;ssl=1" data-large-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?fit=604%2C356&amp;ssl=1" src="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080-300x177.jpg?resize=300%2C177" alt="" width="300" height="177" class="size-medium wp-image-31473" srcset="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?resize=300%2C177&amp;ssl=1 300w, https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?resize=500%2C295&amp;ssl=1 500w, https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?resize=768%2C453&amp;ssl=1 768w, https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?resize=650%2C383&amp;ssl=1 650w, https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?resize=1833%2C1080&amp;ssl=1 1833w, https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/Raspberry-Pi-3-Ports-1-1833x1080.jpg?w=1208&amp;ssl=1 1208w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /><figcaption id="caption-attachment-31473" class="wp-caption-text">A Raspberry Pi 3.</figcaption></figure>The other models, which are mainly 2 and 1 (I oversimplify) lack some of these features, are not quite as powerful, but any one of them can be used in the same manner if you add some upgrade hardware to them.</p>
<p>The Raspberry Pi also has 4 USB 2 ports.</p>
<p>It costs $35.  All you need to do is to add a power brick, an SD card, an HDMI monitor of some sort, maybe a case, a keyboard, a mouse, and perhaps a few other accessories, and pretty soon you nave a reasonably powerful $35 computer for a mere $200!</p>
<p>Or, you can leave off much of that stuff, hook it temporarily to a monitor, keyboard, and mouse (optional, I suppose) and set it up for SSH, then turn it back into a headless (and keyboardless, mouseless) server, communicating with it via wireless from your desktop or laptop.</p>
<p>Then, you take the thing and build stuff with it. Think of the Raspberry Pi, potentially, as a controller you might use for any device that requires controlling, but a very very smart one. Not yet mentioned is one of the key features of the Raspberry Pi: The GPIO header. This is the General Purpose Input Output array of 40 pins that are controlled by the computer, for both output and input, and power supply, to any of a very large range of sensors, actuators, and other devices.</p>
<p>I&#8217;ll stop right here and mention the <a target="_blank" href="https://www.amazon.com/gp/product/B014HDG74S/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B014HDG74S&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=b674df558c37fbe483f20398bce467e2">Raspberry Pi Sense HAT</a><img loading="lazy" decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=B014HDG74S" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.  A &#8220;hat&#8221; or &#8220;shield&#8221; is a circuit board designed to stick right on top of another circuit board (in this case, the Rapsberry Pi) to give it a bunch of added functionality all at once. Often, a hat or shield has pass through pins for all or most of the GPIO pins, so you still have the same device you had before, but with a bunch of stuff added.  The standard sense hat for this device has environmental sensors such as temperature, humidity, atmospheric pressure, and orientation.  But I digress.</p>
<p>Anyway, a robot requires a &#8220;brain&#8221; that may or may not be hooked up via, say, Bluetooth, to a hand held remote of some sort, and also, to the motors that control the wheels (or anything else on the motor that moves), lights, sensors, all that.  The most efficient way to build a robot probably uses a more basic controller than a Raspberry Pi, and indeed, most robots use a controller that is built with the specifications of an  <a target="_blank" href="https://www.amazon.com/gp/product/B008GRTSV6/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B008GRTSV6&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=757be60a5e18f56d99df54c8359f18bb">Arduino Uno</a><img loading="lazy" decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=B008GRTSV6" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, which costs typically less than $20 (and cheap Chinese knockoffs much cheaper, but they don&#8217;t all work quite like they are supposed to).</p>
<p>The difference between a dedicated basic controller and a fancier full on computer like a Raspberry Pi is like the difference between teaching your pet to do a trick and teaching your child to do a trick. The latter has way more overhead, but you can do fancier tricks and you can also teach the child to bring you a beer.  On the other hand, the pet will just do the trick, while your kid will probably, eventually, give you lip and you&#8217;ll have to be nice to it or it will stop working right.</p>
<p><H3>A Veritable Robot Army</H3></p>
<p>Today, there is a veritable robot army out there, of robot kits you can build that are based on Raspberry Pi. I myself have built a version of <a target="_blank" href="https://www.amazon.com/gp/product/B06XWSVLL8/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B06XWSVLL8&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=1e34e301f7a0b50f8ecd03064829c01e">SunFounder Smart Video Car</a><img loading="lazy" decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=B06XWSVLL8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> and it is a great robot.  The <a target="_blank" href="https://www.amazon.com/gp/product/B07HVGK22F/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B07HVGK22F&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=8fa0fc261b1f92f5d17052d2e62e3f92">Adeept PiCar-A Wireless </a><img loading="lazy" decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=B07HVGK22F" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> is very cool looking, and is a bit cheaper. Do not, however, that most, probably all, ready to build Raspberry Pi based robot kits do NOT come with the actual Raspberry Pi.</p>
<p><H3>The Basic Robot</H3></p>
<p>It might be helpful to know what the basic robot typically consists of.</p>
<p>Robots have two drive wheels, each powered by a separate tightly programmed specialized motor.  There is a third wheel or some other roundy object to keep the robot balanced (usually) so the vehicle turns by moving the two drive wheels at different speeds. This works great on small robot scales.  Robots typically have lights or sound making devices that are fun for the kids to program.  Most robots have this sensor out front that looks like a set of eyes, but it is really a distance sensor, so you can program the robot to almost but not quite run into things, stopping at the last second. Many robots have a separate sensor facing down, out front, that allows the robot to follow lines or edges, if the lines or edges are just right and the programming is well done, and the sensor is set at just the right height (and thus, when they are installed, they should always be adjustable for height!).</p>
<p>And, of course, a basic robot has some kind of controlling device, such as a bit of software on a smart phone, a simple remote control, or, in the case of the robot you build with the book I&#8217;m about to tell you about, a Wii remote.</p>
<p><H3>Learning Robotics with a Raspberry Pi</H3></p>
<p><a target="_blank" href="https://www.amazon.com/gp/product/1593279205/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1593279205&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=8cbfb4df00081f437abd71274c0a39bd">Learn Robotics with Raspberry Pi: Build and Code Your Own Moving, Sensing, Thinking Robots</a><img decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=1593279205" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> is written by The Raspberry Pi Guy, aka Matt Timmons-Brown.  Matt is an old teenager (probably still, maybe he&#8217;s 20) and runs a Youtube Channel called &#8220;The Raspberry Pi Guy.&#8221;</p>
<p><img loading="lazy" decoding="async" data-attachment-id="31474" data-permalink="https://gregladen.com/blog/2019/01/29/making-raspberry-pi-robots/learnroboticscover/" data-orig-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/LearnRoboticsCover.png?fit=315%2C408&amp;ssl=1" data-orig-size="315,408" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="LearnRoboticsCover" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/LearnRoboticsCover.png?fit=232%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/LearnRoboticsCover.png?fit=315%2C408&amp;ssl=1" src="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/LearnRoboticsCover.png?resize=315%2C408" alt="" width="315" height="408" class="alignright size-full wp-image-31474" srcset="https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/LearnRoboticsCover.png?w=315&amp;ssl=1 315w, https://i0.wp.com/gregladen.com/blog/wp-content/uploads/2019/01/LearnRoboticsCover.png?resize=232%2C300&amp;ssl=1 232w" sizes="(max-width: 315px) 100vw, 315px" data-recalc-dims="1" />In this book, the reader is given an introduction to the Raspberry Pi, and some basic electronics.  Then, you start building the robot, adding more and more capabilities, until you have the basic robot described above, but then going to the next level so it will have the power of vision and a modest bit of artificial intelligence.  The book includes five helpful appendixes revealing additional powers of the Raspberry Pi, and basic information about things like resistors and how to solder.</p>
<p>One of the coolest things is using the Wii remote to control the robot.  If you don&#8217;t have a Wii, you can get a remote on line, <a target="_blank" href="https://www.amazon.com/gp/product/B0094X227I/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B0094X227I&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=d77a383ab88d7eecd60a09e3ed4ec69f">new, like this one from Nintendo</a><img loading="lazy" decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=B0094X227I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> or much cheaper used, at your local Goodwill, or on eBay.</p>
<p>Most of the chapters require that you get or have some sort of equipment or parts to put this thing together. The total cost, though, is not much and everything is readily available.  You just have to plan it out a little, checking a chapter ahead for what you might need. And then, go step by step and you will learn a lot about robots, electronics, and the Raspberry Pi.  I strongly recommend this experience.</p>
<p><H3>Linux and beyond</H3></p>
<p>When you are done building this, and you want to have some fun with the Raspberry Pi itself, then it may be time for you to play around with Mathematica, Minecraft, Python or other programming, or just use LibreOffice and the other software you can run to write your next novel, run a printer server, build an entertainment center, or who knows what else?</p>
<p>The Pi is a real computer that runs the very powerful and versitile Linux operating system (though it can run other OSs as well).  If you haven&#8217;t messed around with Linux, now is your chance! And, the software mentioned above, Minecraft, and Wolfram&#8217;s Mathematica, comes free and in special more or less kid friendly form, on the Pi.</p>
<p>In any event, if you really want to play around with the Pi, you may want to get a kit that lets you access more of its functions, such as the <a target="_blank" href="https://www.amazon.com/gp/product/B01C6Q4GLE/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B01C6Q4GLE&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=c14cd08502a704d15ceede58b07e5fba">CanaKit Raspberry Pi 3 Ultimate Starter Kit &#8211; 32 GB Edition</a><img loading="lazy" decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=B01C6Q4GLE" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> or the <a target="_blank" href="https://www.amazon.com/gp/product/B01C6EQNNK/ref=as_li_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B01C6EQNNK&#038;linkCode=as2&#038;tag=grlasbl0a-20&#038;linkId=eb7ca3761290176698badd2beeacb3c0">CanaKit Raspberry Pi 3 Kit with Clear Case and 2.5A Power Supply</a><img loading="lazy" decoding="async" src="//ir-na.amazon-adsystem.com/e/ir?t=grlasbl0a-20&#038;l=am2&#038;o=1&#038;a=B01C6EQNNK" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, depending on what parts you want.</p>
<p>See also: <a href="https://gregladen.com/blog/2018/11/16/a-beginners-guide-to-circuits/">A Beginner&#8217;s Guide to Circuits</a> and <a href="https://gregladen.com/blog/2017/02/01/how-to-learn-python-programming/">How to learn Python programming</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://gregladen.com/blog/2019/01/29/making-raspberry-pi-robots/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">31471</post-id>	</item>
	</channel>
</rss>
