I think this Announcements forum should be the right place for this message, but if it’s not I hope the moderator can relocate it to the right forum.

Parallax customers (teachers) from schools that switched to Arduino have been asking Parallax Education staff for a while about generating some Parallax hardware and documentation that would be compatible with Arduino.

Our answer was the Board of Education Shield for Arduino (or BOE Shield for short). The new BOE Shield was just listed for pre-order and we’re beginning to post material that not only explains how to use the Parallax BOE Shield, but also Arduino in general.http://www.parallax.com/BOEShield

We will print the “Robotics with the BOE Shield for Arduino” book soon but first will be posting the whole book online (for free access) as it comes available chapter by chapter at learn.parallax.com:http://learn.parallax.com/ShieldRobot

You can currently access the first chapter of the book which shows an introduction on Arduino and students can follow this chapter with just an Arduino hooked to their PC (they don’t even need any Parallax hardware in Chapter 1).

Adafruit is already setup as Parallax distributor and if Adafruit customers are interested in buying these products I’m sure Adafruit could carry them.

I hope you find this information useful and a good fit and use of your Announcements forum.

Hello! I recently purchased the Parallax Robotics Shield Kit for Arduino. I am a beginner but bought this kit to familiarize myself with Arduino & robotics in general.

My question is: can the BOE shield be used in conjunction with the Arduino to handle two servos AND a linear actuator? I am building an articulated arm and I am hoping the BOE shield can do the job since I've already got it.

As mentioned, my project also has two standard servos. Do you know of any example code that is close in nature to the control I described (servo 1: up & down, servo 2: left & right of a single analog 2-axis thumb joystick)?

Also, how does one set limits to the servos movement? For example, I only wish for the servos to move + or - 45 degrees from center (my apparatus will not physically support continuous movement).

void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180) myservo.write(val); // sets the servo position according to the scaled value delay(15); // waits for the servo to get there }

Further, how would I control the rate at which the servos move? For example, my articulated arm is purposed to hold a mirror for precision optics. Is there a way to make very fine adjustments - like one degree at a time?

Idea:val = map(val, 0, 5115, 45, 135); <~Would changing 0,1023 to 0,5115 make the rate at which the potentiometer move 5X slower (making it very user friendly to make fine adjustments)?

The 0 and 1023 parameters to the map function represent the raw range (10 bits) of the analog input. Changing that would not affect the speed. To control the speed of an RC servo, you have to move it in small increments over time: e.g.:

RC servos may not be your best choice for precision optics. Servo precision varies, but +/- 1 degree is typical. Incremental movement as described above tends to be a little jerky and you will likely have a bit of vibration and jitter even when not moving. You might be better off with a geared stepper, or a gearmotor with an encoder.https://learn.adafruit.com/adafruit-mot ... tion-guide