<div> </div>
<br><div class="gmail_quote">On Fri, Jan 7, 2011 at 4:59 PM, Walter Bender <span dir="ltr"><<a href="mailto:walter.bender@gmail.com">walter.bender@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

On Fri, Jan 7, 2011 at 4:54 PM, Martin Langhoff<br>
<div class="im"><<a href="mailto:martin.langhoff@gmail.com">martin.langhoff@gmail.com</a>> wrote:<br>
</div><div><div></div><div class="h5">> On Fri, Jan 7, 2011 at 4:32 PM, Rafael Enrique Ortiz Guerrero<br>
> <<a href="mailto:rafael@sugarlabs.org">rafael@sugarlabs.org</a>> wrote:<br>
>>> is there a standard-ish Arduino robot + sensots kit I can buy? I don't<br>
> ...<br>
>> No that i know, best shot for now is hacking or working with<br>
>> handmade analogue and digital sensors, like the ones used for turtle-art<br>
>> sensors.<br>
><br>
> Hmmm. Looking at the NXT, and the little I know of Arduino, it's clear<br>
> that to work in a user-friendly manner in something like TA, you have<br>
> to make some assumptions about which sensor goes into each input;<br>
> which motor to which controller, and how to pair up the tachometers<br>
> with the right motor.<br>
><br>
> That is because in a graphical programming environment, you want to<br>
> offer "easy" sensor and motion blocks. To make that happen, you need<br>
> those assumptions.<br>
><br>
> For a full-blown programming env (C, python, etc), where users are<br>
> expected to have variables, and can call functions with many named<br>
> parameters, it's ok to use "raw" input/output ports. It's up to the<br>
> user to "map" those using variables or constants.<br>
><br>
> So for example, in the case of NXT, if you are going to use the<br>
> graphical NXT-G you have to put the right sensor in the right port,<br>
> same with motors. So NXT-G has a "read distance sensor" block  that<br>
> you can put in an if condition. And "run left motor" block. And "run<br>
> both motors forward, synchronized via tachometer".<br>
><br>
> Those blocks make it easy and fun and that's where I think we need to be headed.<br>
><br>
> So I'd strongly suggest (for an initial implementation) settling on an<br>
> arduino set that has a couple of sensors, and 2 motors with<br>
> tachometers. Light-color sensors are great because you can get started<br>
> with "follow the border of the thick black line" programs.<br>
><br>
> If we go that way, we can have various "modes", matching the robot and<br>
> motor/sensor configurations -- NXT, various Arduino models, etc.<br>
><br>
<br></div></div></blockquote><div>This has a conceptual basis that one might follow in order to know which and what sensors to use, and which projects to implement </div><div><br></div><div><a href="http://wiki.laptop.org/go/Education_and_Psychology">http://wiki.laptop.org/go/Education_and_Psychology</a></div>

<div><br></div><div>Looking at various of the basic robotics projects that a children can make  </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>

<div class="h5">
</div></div>I think we have a pretty good handle on auto-detecting the NXT. If we<br>
can do the same for Arduino, we can have the appropriate palettes just<br>
appear when needed all from one codebase </blockquote><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
If someone wants to override the simple assumptions above, they have<br>
the option of using a Python block and/or jumping into the code<br>
itself. For the former, we could bundle in some examples.<br></blockquote><div><br></div><div>We had some examples working with turtle art and arduino</div><div><br></div><div><a href="http://wiki.sugarlabs.org/go/Development_Team/Arduino#Turtle_Art">http://wiki.sugarlabs.org/go/Development_Team/Arduino#Turtle_Art</a></div>

<div><br></div><div> should be easy to complement those..</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888"><br>
-walter<br>
</font><div class="im"><br>
> cheers,<br>
><br>
><br>
><br>
> m<br>
> --<br>
>  <a href="mailto:martin.langhoff@gmail.com">martin.langhoff@gmail.com</a><br>
>  <a href="mailto:martin@laptop.org">martin@laptop.org</a> -- School Server Architect<br>
>  - ask interesting questions<br>
>  - don't get distracted with shiny stuff  - working code first<br>
>  - <a href="http://wiki.laptop.org/go/User:Martinlanghoff" target="_blank">http://wiki.laptop.org/go/User:Martinlanghoff</a><br>
><br>
<br>
<br>
<br>
</div><div><div></div><div class="h5">--<br>
Walter Bender<br>
Sugar Labs<br>
<a href="http://www.sugarlabs.org" target="_blank">http://www.sugarlabs.org</a><br>
</div></div></blockquote></div><br>