Activity 3.1.1
TABLE WITH OBSERVATIONS:
Activity 3.1.2
PART ONE WITH FULL COMMENTS:
PART THREE WITH FULL COMMENTS:
PART FOUR #24 WITH FULL COMMENTS:
Activity 3.1.3
PART TWO #11 WITH FULL COMMENTS:
PART THREE #17 WITH FULL COMMENTS:
PART FOUR #23 WITH FULL COMMENTS:
PART FIVE #30 WITH FULL COMMENTS:
PART SIX #36 WITH FULL COMMENTS:
Activity 3.1.4
PART FOUR (A) WITH FULL COMMENTS:
PART FOUR (B) WITH FULL COMMENTS:
PART FOUR (C) WITH FULL COMMENTS:
PART FOUR (D) WITH FULL COMMENTS:
Activity 3.1.5
PART ONE #7 WITH FULL COMMENTS:
PART TWO #17 WITH FULL COMMENTS:
Activity 3.1.6
NUMBER THREE WITH FULL COMMENTS:
NUMBER NINE WITH FULL COMMENTS:
Videos of Motors/Sensors
Conclusion Questions
3.1.1
1. Describe how these motors and sensors may be used.
The motors and sensors can collect data from the environment and in turn the test bed can use this data to perform various functions.
2. Describe scenarios where the motors or sensors did not respond as you would predict.
The motors or sensors didn't respond as predicted for various reasons. One scenario being the motors/sensors weren't connected to the testbed properly which meant they wouldn't perform the tasks laid out in the ROBOTC program. Another scenario would be not having the test bed turned on or connected to the computer via USB cable, which meant no programs could be downloaded and compiled to run a test. The last scenario that would result in motors not responding properly would be the use of a faulty battery. This could occur when the battery wasn't charged properly beforehand or it has been used too much for too long without a charge.
3.1.2
1. Describe any challenges that you encountered while developing the program.
I encountered MANY challenges while developing the ROBOTC program. I first had to troubleshoot the challenge of not having the ROBOTC software up to date since it was causing an error to occur every time I tried to compile and download a specific command for the test bed. This was solved with Ms.Harlan's help and my incredible engineering skills. I then had to format my coding so that it synced with the software and furthermore would transfer those commands to the test bed. I also had to fix any errors in my coding because the ROBOTC program is case sensitive and if the program I created had any small error, I would not be able to compile and download the program to the test bed. For example, if I inserted -127 instead of 127, it would completely change the direction of the rotating motor.
2. Describe how these outputs might be used in an application.
The outputs, specifically in activity 3.1.2, could be used in a variety of ways. the first program was the skill of controlling LEDs, which can be used a variety of ways. Any application in need of light(s) could use the output created in activity 3.1.2. The program of controlling a motor(s), can be used in many applications as well. The motors can be used to move wheels forward or backward (clockwise or counterclockwise) as it was done in the test bed I built. However, you can use the motors to lift a load, power a gear train etc.
3.1.3
1. Describe any challenges that you encountered while developing the program.
I encountered a couple challenges along the way in this activity. One of the issues that I had was the overall ability to read the constraints of a given request and fulfill it using my coding skills. The reason why this took some time to get used to was that there were multiple possibilities, which means not everyone would go through the same process to reach a solution. The second issue I had to overcome was the requirement of "commenting". It took some practice to get used to interpreting code and then adding in easy, line-by-line explanations as to what I was doing in the ROBOTC program.
2. Describe three applications for the use of sensors that you worked with in this activity.
>An application for the use of a potentiometer would be with a device that includes a rotating mechanism since the sensor value changes as the potentiometer is rotated and then you could even calculate the angle between the whole number values recorded by the potentiometer.
>An application for the use of a light sensor would be in any situation requiring the measure of the amount of light. For example, a light sensor would need to be included in a room with a "flashlight" mechanism. The light sensor would be connected so that when the amount of light in the room got be a certain number or lower, the flashlight would turn on
>An application for the use of a ultrasonic sensor would be to measure distance. So a device that only needs to start working once a person/object is "x" amount of distance away, would need to include an ultrasonic sensor to be able to complete that task.
3.1.4
1. Describe any challenges that you encountered while developing the programs.
By the time I was completing activity 3.1.4 I was getting more used to the ROBOTC software, however the tasks I was required to code were getting more complex and harder for me to interpret. I had to insert "while loops" and "if-else" structures in my coding which was very time-consuming and challenging. The biggest challenge I faced during this activity was time management. I spent the most time on thid packet and figuring out how to accomplish all the tasks required in it.
2. Describe one application each for While loops and If-Else structures.
>While loops~ while loops are used to allow a portion of code to be run over and over again, as long as a certain condition remains true. A while loop would be inserted to make sure a flashlight always turned on when the light sensor # was below a certain range. The loop would ensure the task occurred more than once...as long as the specific conditions remained true.
>If-Else structures~ if-else statement is a way to allow a computer to make a decision. With this command, the computer will execute one of two pieces of code, depending on whether the condition is true or false. An example would be programming so that a flashlight should turn on when it is in a dark room when the limit switch is pressed, but when the limit switch is not pressed, the flashlight should always be off.
3.1.5
1. Describe any challenges that you encountered while developing the program.
I encountered one MAJOR challenge that I had to essentially maneuver around because it was too huge of an obstacle to overcome in the limited amount of time I had to finish this activity. This challenge was the activation/use of the global variables setting. I have yet to pinpoint specifically where in the ROBOTC software the glitch is for the problem, but our whole engineering class had the same outcome. That being the inability to set up global variables to use in this activity.
2. Describe applications for variables and functions.
>Variables are used to have a program complete its task or function "x" amount of times. Generally the variable is the number/data that changes. So they would need to be a part of any system that had factors that change.
>Functions are used/created to test, calculate and use variables in order to come out with a desired result. They are used in almost every scenario without even realizing it.
3.1.6
1. Describe an open loop system that has not already been given as an example. Could the system benefit from feedback? Justify your answer.
An open loop system is a control system in which an input alters the output, but the output has no feedback loop, and therefore, has no effect on the input. An example of an open loop system would be a remote manipulator arms working with radioactive materials because it displays an open loop mechanism controlled by hand controls. This system could benefit from feedback because it would be able to engage in machine learning and could correct any errors it could make. However, a true open loop system does not use feedback.
2. Describe a closed loop system that has not already been given as an example. Describe the feedback utilized. Explain why this type of feedback is utilized.
A closed loop system is a control system that has an active feedback loop. An example of a closed loop system would be a pump to an aquarium because the controllers would be carrying a fluid from point A to point B and then back again. The feedback utilized is the data from the output that can be used to correct any errors as well as make the system able to take part in machine learning.
1. Describe how these motors and sensors may be used.
The motors and sensors can collect data from the environment and in turn the test bed can use this data to perform various functions.
2. Describe scenarios where the motors or sensors did not respond as you would predict.
The motors or sensors didn't respond as predicted for various reasons. One scenario being the motors/sensors weren't connected to the testbed properly which meant they wouldn't perform the tasks laid out in the ROBOTC program. Another scenario would be not having the test bed turned on or connected to the computer via USB cable, which meant no programs could be downloaded and compiled to run a test. The last scenario that would result in motors not responding properly would be the use of a faulty battery. This could occur when the battery wasn't charged properly beforehand or it has been used too much for too long without a charge.
3.1.2
1. Describe any challenges that you encountered while developing the program.
I encountered MANY challenges while developing the ROBOTC program. I first had to troubleshoot the challenge of not having the ROBOTC software up to date since it was causing an error to occur every time I tried to compile and download a specific command for the test bed. This was solved with Ms.Harlan's help and my incredible engineering skills. I then had to format my coding so that it synced with the software and furthermore would transfer those commands to the test bed. I also had to fix any errors in my coding because the ROBOTC program is case sensitive and if the program I created had any small error, I would not be able to compile and download the program to the test bed. For example, if I inserted -127 instead of 127, it would completely change the direction of the rotating motor.
2. Describe how these outputs might be used in an application.
The outputs, specifically in activity 3.1.2, could be used in a variety of ways. the first program was the skill of controlling LEDs, which can be used a variety of ways. Any application in need of light(s) could use the output created in activity 3.1.2. The program of controlling a motor(s), can be used in many applications as well. The motors can be used to move wheels forward or backward (clockwise or counterclockwise) as it was done in the test bed I built. However, you can use the motors to lift a load, power a gear train etc.
3.1.3
1. Describe any challenges that you encountered while developing the program.
I encountered a couple challenges along the way in this activity. One of the issues that I had was the overall ability to read the constraints of a given request and fulfill it using my coding skills. The reason why this took some time to get used to was that there were multiple possibilities, which means not everyone would go through the same process to reach a solution. The second issue I had to overcome was the requirement of "commenting". It took some practice to get used to interpreting code and then adding in easy, line-by-line explanations as to what I was doing in the ROBOTC program.
2. Describe three applications for the use of sensors that you worked with in this activity.
>An application for the use of a potentiometer would be with a device that includes a rotating mechanism since the sensor value changes as the potentiometer is rotated and then you could even calculate the angle between the whole number values recorded by the potentiometer.
>An application for the use of a light sensor would be in any situation requiring the measure of the amount of light. For example, a light sensor would need to be included in a room with a "flashlight" mechanism. The light sensor would be connected so that when the amount of light in the room got be a certain number or lower, the flashlight would turn on
>An application for the use of a ultrasonic sensor would be to measure distance. So a device that only needs to start working once a person/object is "x" amount of distance away, would need to include an ultrasonic sensor to be able to complete that task.
3.1.4
1. Describe any challenges that you encountered while developing the programs.
By the time I was completing activity 3.1.4 I was getting more used to the ROBOTC software, however the tasks I was required to code were getting more complex and harder for me to interpret. I had to insert "while loops" and "if-else" structures in my coding which was very time-consuming and challenging. The biggest challenge I faced during this activity was time management. I spent the most time on thid packet and figuring out how to accomplish all the tasks required in it.
2. Describe one application each for While loops and If-Else structures.
>While loops~ while loops are used to allow a portion of code to be run over and over again, as long as a certain condition remains true. A while loop would be inserted to make sure a flashlight always turned on when the light sensor # was below a certain range. The loop would ensure the task occurred more than once...as long as the specific conditions remained true.
>If-Else structures~ if-else statement is a way to allow a computer to make a decision. With this command, the computer will execute one of two pieces of code, depending on whether the condition is true or false. An example would be programming so that a flashlight should turn on when it is in a dark room when the limit switch is pressed, but when the limit switch is not pressed, the flashlight should always be off.
3.1.5
1. Describe any challenges that you encountered while developing the program.
I encountered one MAJOR challenge that I had to essentially maneuver around because it was too huge of an obstacle to overcome in the limited amount of time I had to finish this activity. This challenge was the activation/use of the global variables setting. I have yet to pinpoint specifically where in the ROBOTC software the glitch is for the problem, but our whole engineering class had the same outcome. That being the inability to set up global variables to use in this activity.
2. Describe applications for variables and functions.
>Variables are used to have a program complete its task or function "x" amount of times. Generally the variable is the number/data that changes. So they would need to be a part of any system that had factors that change.
>Functions are used/created to test, calculate and use variables in order to come out with a desired result. They are used in almost every scenario without even realizing it.
3.1.6
1. Describe an open loop system that has not already been given as an example. Could the system benefit from feedback? Justify your answer.
An open loop system is a control system in which an input alters the output, but the output has no feedback loop, and therefore, has no effect on the input. An example of an open loop system would be a remote manipulator arms working with radioactive materials because it displays an open loop mechanism controlled by hand controls. This system could benefit from feedback because it would be able to engage in machine learning and could correct any errors it could make. However, a true open loop system does not use feedback.
2. Describe a closed loop system that has not already been given as an example. Describe the feedback utilized. Explain why this type of feedback is utilized.
A closed loop system is a control system that has an active feedback loop. An example of a closed loop system would be a pump to an aquarium because the controllers would be carrying a fluid from point A to point B and then back again. The feedback utilized is the data from the output that can be used to correct any errors as well as make the system able to take part in machine learning.