Enchanting - programming environment for children

Post your NXJ projects, project ideas, etc here!

Moderators: 99jonathan, roger, imaqine

Enchanting - programming environment for children

Postby clintonb » Tue Nov 02, 2010 3:15 am

Jump here for announcement of Enchanting 0.0.7.

-----

As I think it is really important to help children be able to program their NXT robots, I've been working on an alternative graphical coding environment called Enchanting. It is based on Scratch and exports code to LeJOS.

The Enchanting site has a video that shows off the application, and a link for you to download an early version for Windows, Mac OS X, and Linux. I'd really love to have some people try it out and tell me what they think, and I figured this was the best place to get some people who wouldn't have any trouble installing LeJOS first :-) and might be interested in helping out on the project.

Take a look!
Last edited by clintonb on Sat Jun 18, 2011 6:48 pm, edited 1 time in total.
clintonb
Active User
 
Posts: 121
Joined: Fri May 28, 2010 1:44 am
Location: Cardston, Alberta, Canada

Postby gloomyandy » Tue Nov 02, 2010 9:35 am

Hi,
This is very cool and I love the demo.....

Andy
User avatar
gloomyandy
leJOS Team Member
 
Posts: 4077
Joined: Fri Sep 28, 2007 2:06 pm
Location: UK

Amazing!!!

Postby roborig » Tue Nov 02, 2010 10:51 am

Hi,

Just saw the demo of Enchanting its amazing. Keep up the good work!!! And all the best!.

Thanks

RoboRig
roborig
New User
 
Posts: 5
Joined: Tue Nov 02, 2010 12:49 am

Postby gloomyandy » Tue Nov 02, 2010 12:06 pm

Hi,
Could you say a little more about this works?So for instance do you need a connection between the robot and the PC for the program to run or can you download and run the program on the NXT?

Andy
User avatar
gloomyandy
leJOS Team Member
 
Posts: 4077
Joined: Fri Sep 28, 2007 2:06 pm
Location: UK

Postby clintonb » Tue Nov 02, 2010 2:33 pm

Right now the robot needs to be connected via a USB cable. If you use the green flag to upload the program, it always goes up as enchanting.nxj. You can, alternatively, go to the file menu, choose "Export Code" and name the java class whatever you'd like, and compile it manually. Regardless, when you remove the USB cable, the program continues to reside and work on the robot.

In a little more depth:
- Enchanting is based on Scratch, and you put code together as you do in Scratch.
- Enchanting has been augmented to export the script as source code.
- When you push the green flag, it exports the code as lejos nxj code and then sends a message to the back end -- a Java app running on your computer using the LeJOS libraries -- and asks it to compile, link, upload, and run the file, which it does (if it can).

I hope that answers your question -- I am happy to answer more, and I've written more about the project at enchanting.robotclub.ab.ca and robotclub.ab.ca.
clintonb
Active User
 
Posts: 121
Joined: Fri May 28, 2010 1:44 am
Location: Cardston, Alberta, Canada

Postby gloomyandy » Tue Nov 02, 2010 2:47 pm

Hi,
Thanks for that. It all sounds pretty cool. I like the way that you've used Java as the intermediate language, and it all looks pretty impressive... When I get chance I'll try and grab a copy and try it out. Thanks for the links I'm off to take a look at them now...

All the best

Andy
User avatar
gloomyandy
leJOS Team Member
 
Posts: 4077
Joined: Fri Sep 28, 2007 2:06 pm
Location: UK

Postby clintonb » Mon Nov 08, 2010 2:13 pm

Howdy.

I was just wondering if anyone here has tries out Enchanting and if they got it to work.

I'm happy to help troubleshoot or answer any other questions about the workings. [I hope those links I put up, Andy, helped with some of your questions. I'm glad you guys made it possible for me to output code in an intermediate language, and that it works so nicely!]

Cheers,
Clinton
clintonb
Active User
 
Posts: 121
Joined: Fri May 28, 2010 1:44 am
Location: Cardston, Alberta, Canada

Enchanting 0.0.4 is now out

Postby clintonb » Tue Jan 04, 2011 9:10 pm

Enchanting v0.0.4 is now out!

The enchanting website has a demonstration video, and, of course, you can download the latest version, which works with LeJOS NXJ 0.85. You are now able to configure which port a sensors or motor belongs and program some fairly interesting robots.

I've also put up some screencasts for how to hack on Enchanting, should anyone be interested in helping out on the project. I believe that this will be an excellent way for children to program their robots!

Cheers,
Clinton Blackmore
clintonb
Active User
 
Posts: 121
Joined: Fri May 28, 2010 1:44 am
Location: Cardston, Alberta, Canada

Postby gloomyandy » Tue Jan 04, 2011 9:38 pm

Hi,
Very nice... I must admit to being a little confused with the auto calibration steps, I'm not really sure what they are calibrating against...

Andy
User avatar
gloomyandy
leJOS Team Member
 
Posts: 4077
Joined: Fri Sep 28, 2007 2:06 pm
Location: UK

Postby clintonb » Wed Jan 05, 2011 12:18 am

Andy,

I can explain it best to you in code.

"start auto-calibrating [light sensor]"

runs:

Code: Select all
int brightness = light_sensor.getRawValue();
light_sensor.setHigh(brightness);
light_sensor.setLow(brightness);


and

"auto-alibrate [light sensor] to include current reading"

runs:

Code: Select all
int brightness = light_sensor.getRawValue();
if (light_sensor.getHigh() < brightness) { light_sensor.setHigh(brightness); }
if (light_sensor.getLow() > brightness) { light_sensor.setLow(brightness); }



So, the first prepares the system for having the range automatically calibrated based upon a series of readings, and the second expands the range of known values to include every value seen, thus giving the sensor a good idea of where the white point and black points lie.


I feel those two blocks are really important for helping children actual do effective line following, and contemplated what to name them. I'm certainly open to other terms for them, or any other block for that matter.


Also, I hoped you liked seeing how well the light sensor and color sensor were interchangeable for each other.
clintonb
Active User
 
Posts: 121
Joined: Fri May 28, 2010 1:44 am
Location: Cardston, Alberta, Canada

Enchanting 0.0.7 is out

Postby clintonb » Sat Jun 18, 2011 6:46 pm

Greetings, everyone.

Enchanting v 0.0.7.2 is now out.

Enchanting now works with the LeJOS 0.9 firmware. Thank you,LeJOS developers, for the great work, and thank you, Lawrie Griffiths, for helping me update the application and add exciting new features, such as the following:
* Enchanting is now easy to install under Windows and Mac OS X; you don't need to install a JDK or LeJOS beforehand.
* Enchanting interoperates with Scratch -- see the demo video on the enchanting site to see what I mean
* Sound blocks and blocks for gyro sensors have been added; motor blocks were tweaked
* All sort of polish and bug fixes have been added

Please see http://enchanting.robotclub.ab.ca for details, videos, and downloads!
clintonb
Active User
 
Posts: 121
Joined: Fri May 28, 2010 1:44 am
Location: Cardston, Alberta, Canada


Return to NXJ Projects

Who is online

Users browsing this forum: No registered users and 1 guest

more stuff