Welcome to Mr. Campbell's page at Kellenberg Memorial High School. Mr. Campbell is an instructor for the Computer 12 - Computer Science elective, moderator of the Computer Club, and moderator of the KM2ARC Amateur Radio Club

Robot Arm Progress and Servo Testing

At today’s meeting of the Intermediate / Advanced group of Computer Club we began testing servos and controlling the movement of part of a robot arm using the Arduino microprocessor.  Our teams were successful in moving the servo and arm from 0 degrees to 90 degrees and then 180 followed by a sweep back and forth.


mrcampbell / October 14, 2016 / Computer Club

October Amateur Radio Club Update

Amateur radio club is off to a great start this year.  We have a core group of students preparing to get their technician class license.  After a couple of meetings of reviewing materials to prepare for the exam we stepped into the radio shack and got some air time.

Members of the club stepped into the radio room last week and went on the air as KM2ARC – our FCC assigned call sign and spoke with other friendly amateur radio operators through a local repeater.  One operator was headed home from New York City and the other was located an the North Shore.  These experiences help students get over their “mic fright” and comfortable speaking to others on the radio.

Next week, From Monday, October 17, 2016 through Friday, October 21, 2016, is the School Club Roundup. The School Club Roundup is an event where schools all over the country will be on the air trying to make contact with one another and other amateur radio operators. We hope to have participation from many students at Kellenberg. You don’t have to be a member of our radio club to try getting on the air and making some contacts.  The more students helping out the more chances we will have at making contact with other schools around the country.  Any student wishing to participate please see Mr. Campbell.

mrcampbell / October 14, 2016 / KM2ARC

Computer Club Update October 12, 2016

Our computer club is off to a good start – even with the days off.  Our beginners have only had a chance to meet once but we are already moving ahead logging into our Linux server using our iPads and the Putty client on the computers in the computer lab and library.  Be sure to log in to the Computer Club Google Classroom for links and instructions.  

Our Wednesday intermediate group has begun preparing for building a 3D printed hand that will be controlled by servos connected to an Arduino and a glove with flexible sensors attached. At today’s meeting we looked at the parts we will be using.  We also looked at the source code we will use as a reference for reading the flexible sensor and controlling the servos.  

Our Friday intermediate / advanced group has started exploring the Pitop computer build assembling them.  Our next steps with the Pitop will include coding and using the GPIO headers in projects, including out robotic arm. 

For all of our computer club groups, as we work on our projects, think about what else we can do with what we are working on.  What can it be used for?  How can it be extended?  What improvements can we make?   

mrcampbell / October 12, 2016 / Computer Club

No meeting Monday 9/26/2016

Due to the debate and road closures all students are encouraged to take their regularly scheduled bus home and we will not hold a meeting on Monday afternoon.  Please check your email for updates.  

mrcampbell / September 25, 2016 / Uncategorized

mrcampbell / September 23, 2016 / KM2ARC, Radio News

2016 – 2017 Computer Club Schedule

We have a big group this year for computer club and I am excited to start working on projects.

Our Latin School Computer Club Members will meet on Mondays at 3:00 PM in Room 215

Our High School Beginners group will meet on Mondays at 3:30 in the Library / Library Conference Room

Our High School Intermediate group will meet on Wednesdays at 3:15 in the Library Conference Room

Our High School Advanced group will meet on Fridays at 3:15 in the Library Conference Room

We will hold general meetings on Tuesdays as needed.

All members should make sure they have joined the Google Classroom.  If you have an iPad, please be sure you bring it to our meetings!


mrcampbell / September 23, 2016 / Computer Club

Welcome Back!!

The 2016-2017 school year has begun!  We will hold our first meetings of the school year as follows:

Computer Club will meet on Tuesday 9/13/2016 at 3:15 in the library conference room.

Amateur Radio Club will meet on Thursday 9/15/2016 in the library conference room.

If you would like to sign up for either club and can’t make either of those meetings, please see Mr. Campbell by Friday 9/16/2016.  You will need to attend meetings and participate in club activities to receive credit for these clubs.


mrcampbell / September 10, 2016 / Computer Club, KM2ARC

Arduino to detect Valid Audio from Bridgecom Repeater

We are using a Bridgecom Repeater that we wanted to try linking to another site.  Based on the documentation we used the DB25 port on the back of the repeater to get audio in, audio out and trigger the PTT through use of a Signalink  USB.  We found out that the repeater audio output emits all audio regardless of whether or not it had a valid PL tone (CTCSS).

Pin 17 of the DB25 port of the repeater is documented as COS (Carrier Operated Switch).  We found that the pin outputs random voltages until a valid signal is detected at which point the voltage drops to zero.  Using analog pin 0 of the Arduino we read the voltage.  Once the voltage is 0 we turn on the relay which causes audio to pass through to the Signalink.

Here is a diagram of our wiring:

Bridgecom Repeater COS Detector

Click on image to enlarge.


Below is the code we are currently running to implement this operation:

//Connect pin A0 to Pin 17 on repeater
//Connect Ground of arduino to ground of repeater
//When sensor is 0 key radio

const int analogInPin = A0; // This is the COS output on the repeater.
int sensorValue = 0; // value read from the pot

const int relayPin = 2; //This relay is used to connect the audio output of the repeater to
//Audio input on the computer.

void setup() {
     // initialize serial communications at 9600 bps:
     Serial.begin(9600); //We will use the serial line to debug this program
     pinMode(relayPin, OUTPUT); // set pin as an output

void loop() {
     // read the analog in value:
     sensorValue = analogRead(analogInPin);
     // map it to the range of the analog out:
     // change the analog out value:

     Serial.print("sensor = ");
     if (sensorValue==0){ //When the value goes to 0 that means a valid signal is detected.
          Serial.println("Relay On");
          digitalWrite(relayPin, HIGH); // turn the relay on
          do{ //Keep the relay on until the the COS is not 0
     digitalWrite(relayPin, LOW); // turn the relay off


mrcampbell / July 20, 2016 / Computer Club, KM2ARC

mrcampbell / May 11, 2016 / KM2ARC

Computer Club Addendum for Meeting on 5/10/2016

At our meeting on 5/10/2016 we went through our presentation on installing the Java Development Kit and Netbeans.  After installing the we went through the creation of our first Java program “Hello, World” within the Netbeans IDE.

A question came up as part of the meeting.  What happens when we want to execute on a mac?  This was after we demonstrated executing a program on the Windows command line and how you would do the same in a Mac shell.  To execute one a Mac hit the command+space bar keys to start Spotlight Search.  Then type terminal and press return.  Once in terminal go to the location of your jar file and type java -jar [name of jar file].

Remember to “Clean and Build” from the run menu (or shift+F11) to create the dist folder with the jar file.

mrcampbell / May 10, 2016 / Computer Club