IR shield Fabrication and Test
IR shield Fabrication and Test
Written by Charles Banuelos(Division Manager Design and Manufacturing) & Muhannad Al Mohamed(Division Manager E&C)
Approved by Charles Banuelos(Division Manager Design and Manufacturing), Muhannad Al Mohamed(Division Manager E&C), Mark Huffman(Project Manager Goliath), Zach Oyog (E&C Sojourner)
Fabrication
Fabrication of the 3DoT IR shield occurred on 12/5/2017 due to the fact that Color Sensor Shield fabrication was not able to be completed. There was no stencil available to use to solder the IR shield; therefore, hand soldering is needed. The IR sensors themselves where placed flushed to the board to ensure that the IR sensors do not come contact the ground during the mission.
The fabrication process did have some setbacks while soldering parts. The first major set back was placing the surface mount parts on top of the IR shield without using the pick and place machine. The lack of the pick and place machine caused many dead joints at surface mount parts due to improper placement. The other setback was the actual look of the solder themselves and many needed to be redone due to none uniformity.
Test
Testing the IR shield was done by applying an Arduino code to it. Since the IR shield uses the six pins of the front header of the 3DoT board (A2,A3,SDA,SCL,3.3V VCC,GND), the code optimizes direct reading from the pins using Arduino’s built in read function. The used code was applied to a 3Dot board to ensure a proper running of the sensors. The test revealed that we were successful on fabricating four shields out of five. The fifth IR shield will be taken back to fab to ensure that all are working.
Update 12/7/2017
The following code is used to test the distance measurement for each IR ICon the 3DoT IR shield.
Update: 12/15/2017
The following code was altered by changing the reading commands from “analogRead” to “digitalRead.” The reason for this change was because the SDA and SCL pins are not actually analog pins, thus, the function “analogRead” would not return actual measurements. Therefore, the command “digitalRead” was used instead to get binary inputs as an indication that the pins are actually working.
Code :
//////////////////////////////////////////////////////////////// // Name : 400D IR Shield Testing Code // // Author : Muhannad Al Mohamed // // Date : 5 December, 2017 // //////////////////////////////////////////////////////////////// //defining variables to save measurements int farRight_IR; int innerRight_IR; int innerLeft_IR; int farLeft_IR; void setup() { Serial.begin(9600); pinMode(A3,INPUT); //Top view, pins up, far right IR sensor pinMode(SDA,INPUT); //Top view, pins up, second right IR sensor pinMode(SCL,INPUT); //Top view, pins up, second left IR sensor pinMode(A2,INPUT); //Top view, pins up, far left IR sensor } void loop() { //reading values of IR sensing into variables farRight_IR = digitalRead(A3); innerRight_IR = digitalRead(SDA); innerLeft_IR = digitalRead(SCL); farLeft_IR = digitalRead(A2); //printing measurments in searial monitor Serial.print("farRight_IR = "); Serial.print(farRight_IR); Serial.print(" "); Serial.print("innerRight_IR = "); Serial.print(innerRight_IR); Serial.print(" "); Serial.print("innerLeft_IR = "); Serial.print(innerLeft_IR); Serial.print(" "); Serial.print("farLeft_IR = "); Serial.println(farLeft_IR); delay(250); }