Recent Changes - Search:

TEAMS Academy Wiki


THS0910


Explore TEAMS!
for visiting sophomores & juniors

Robotics

EnvBioTech

Bat Design

Assistive Tech

Students

Instructors

TEAMS Forum

TEAMS Calendar

TEAMS Web Site

Wiki Info

edit THS0910.SideBar

THS /

MicroAssignments

Note on Q2 grading...

  • We have 7 projects which comprise 90% of your grade, and all of your homework is worth 10% of your grade.
  • Each project will carry equal weight, just as we did for quarter 1.
  • P3, P4, and P5 should have been completed in December. Anything turned in at this point will be steeply discounted (and you must be able to clearly explain what each line of your code means to prove to me that you wrote it yourself).

End of Quarter Tech Support Hotline 781-899-3081

  • Don't call after 8 pm. Leave a message if I don't answer. If I have time, I'll return your call (I have an active daughter to keep up with!!). Erase this telephone number from your memory after Feb 1.

Assignments for 2nd Quarter

P#7: FINAL PROGRAMMING PROJECT! - Can you find the closest object in your field of view? <- Click on link for details
  • Project must be completed and demonstrated by January 29th. It uses skills you have already demonstrated.
  • HW#5 due Tues 1/26: Please turn summary of the process you plan to follow to solve this task (numbered list of clear, concise steps you will take to solve problem). This plan should lead to your code! HW Bonus if you turn this plan in at the beginning of class on Monday.
  • Bonus Opportunities:
    • +5 if completed by Monday, +4 if Tuesday, +3 if Wednesday, +2 if Thursday
  • You should only work on these additional bonus opportunites after P#7 is complete:
    • +5 if you can use any part from our kits to make your project work for a full 360 degree field of view.
    • +5 if you can follow a slowly moving object (e.g. a finger that comes into your field of view)
    • +5 if you build a project that can be put in our display case and can interact with people (it must do something interesting and should not look like a pile of electronics, i.e., create a "skin" for your device)
P#6: Sharp Sensor Analysis Lab <- Click on link for details
  • Data collection and analysis should be complete by Friday, January 22 - You need this model to write your final program!
  • Optional (but strongly recommended): Turn in draft one page report for verbal feedback by Wednesday, January 27
  • Turn in final one page report and Excel work by Friday, January 29
    It is really easy to collect this data and to crunch it in Excel. Ask a peer for help if needed, or ask questions in class. And don't waste your time in class.
HW#4:
  • Read & Notes on Motors, Servos, and Pulse Width Modulation
  • Collect experimental data using Sharp Distance Sensor - one cm increments up to 91 cm
HW#3: Review streamlined sample code for P#2 and understand/explain what each line does. due 12/22
P#5: Hook up your photoresistor, flex sensor, distance sensor, and temperature sensor all at the same time and display all four values and the time once every second. Be sure to use a 10K resistor when using the resistive sensors. Then repeat your min-max experiment for each sensor and verify your predicted Arduino results from P#3.
P#4: Create a wait_for_start procedure
HW#2: Define (a) period (b) duty cycle and (c) frequency (math/physics/engineering concepts). What is the mathematical relationship between the three concepts? What units are used for each? Remember, A picture is worth a thousand words. Due Tues 12/8/09.
P#3: Explore max and min ranges for various analog sensors and write a one page summary of your results. Detailed description here.
P#2: When you push down and release the red push button, the LED on pin 13 "toggles" to the opposite state. On your LED display, display the state of the LED and the number of times the red button has been pushed.
P#1: Display "Hello, World" on your LCD display (play around a bit to see how the LCD display works). Then write a program that counts out "Hello, World" every pi seconds for a total of 10 times. Your LCD display should look something like this...
1. Hello, World!
Time = 3.14 s
2. Hello, World!
Time = 6.28 s
...and so on
HW#1: Write a program that makes your red push button switch control the LED on pin 13.

Assignments for 1st Quarter

Temporary site for textbook: http://yunus.hacettepe.edu.tr/~yurdugul/3/C/c.pdf

1. Read and take notes on Chapter 1.1 to 1.4

2. Write a Hello World program that uses a loop to print out 10 enumerated instances of “Hello World” to your display (using a “for loop”). Your output should appear as follows:

1. Hello World
2. Hello World
3. Hello World
4. Hello World
5. Hello World
6. Hello World
7. Hello World
8. Hello World
9. Hello World
10. Goodbye World

3. Can you revise the program above to count down by tens starting at 100 rather than counting from 1 to 10?

4. Can you revise the program to say “Goodbye World” for the tenth line (see if you can do it with no more than two extra lines of code in your previous program).

5. Repeat #2 using if…then statements rather than a for loop.

6. Repeat #2 using a while loop rather than a for loop.

7. Write an efficient program that generates the following list:

1. Hello World
2. Goodbye World
3. Hello World
4. Goodbye World
5. Hello World
6. Goodbye World
7. Hello World
8. Goodbye World
9. Hello World
10. Goodbye World

No use of the the void loop() function after this point!

Use only void setup() as your "void main()" function!

8. Must Demo! Write a program that converts degrees Celsius to Fahrenheit

 in a mixed fraction format.  The twist:  you may only use integer type declarations!  

Think about the simple process you use for long division as you answer this problem. Your output should look like this…

12 degrees C equals 53 and 3/5 degrees F.
13 degrees C equals 55 and 2/5 degrees F.
.
.
.
Stop when you reach the maximum human internal body temperature.

9. Must Demo! Using only integer type variable, repeat program #8 using the following output format… (i.e., rounded decimal)

12 degrees C equals 53.6 degrees F.
->13 degrees C equals 55.4 degrees F.
->.
.
.
Stop when you reach the maximum human internal body temperature.

10. Must Demo! Write a program that converts the following sequence of fractions into their decimal equivalents, rounded to the nearest thousandth. You may only use integer type variables for this problem.

1/2 = 0.500
1/3 = 0.333
1/4 = 0.250
1/5 = 0.200
1/6 = 0.167
.
.
.
1/20 = 0.050

11. Must Demo! Re-write program #8 using two functions called by your main program. These two functions are:

int Celsius_to_Fahrenheit(int Celsius)
int remainder(int dividend; int divisor)

12. Write a program that determines exactly what number are returned for the following two function calls...

random(50)
random(10,20)
You should loop this enough times to see all the possible numbers that come up, then make a conclusion about what the lowest and highest values should be. Then cut and paste the description for this function into a word document and revise the description to le the user know how the function REALLY works.

Bonus: (+5 point on Q1 grade) Generate a list of "random" numbers between 1 and 50. Stop generating the list as soon as all numbers have been generated at least once.

Edit - History - Print - Recent Changes - Search
Page last modified on January 23, 2010, at 10:47 AM