Tasks
List of Tasks. You have to respond to all of these in your blog.
Please number your tasks in your blog so they can be found easily.
1. Start your blog.
2. Edit the permissions in your blog so that just prjbrook@gmail.com is invited to see it.
3. Make sure you can access the Arduino environment. Find the Blink program in the examples and paste into your blog. Test that it compiles in the Arduino IDE but you don't have to send it to your Arduino yet.
4. What is the name of the Atmel microprocessor in your Arduino board? Insert the link to the large pdf from Atmel associated with this chip. Insert an image of the first page of this pdf. Finally insert a picture of the pin-out of this chip.
5. Find the forum associated with main Arduino site. Take a screen shot of something in the forum that interests you with a comment on what appeals to you.
6. Find a picture of your Arduino publish it in your blog and label the main parts. You may need a special graphics program to do this. Add another interesting Arduino variation. You can see some on this page.
7. Put the url for your blog into the wiki in Moodle. Add some other contact details. If you wish your cell phone number to remain private that's OK too.
8. Check out the following sites. Insert a screen shot and a URL link into your blog. Small images or large ones are both OK .
The Arduino environment version 1.5 or (stop press) 1.8.5
The Processing environment.
The Fritzing files.
Link to Blogger.
GNU gcc
Moodle
AVR Studio download. Latest version.
PDF of ATMega 328
PDF of specs of USB-to_serial chip. The one used in the Duemilanove.
Good pic of our arduino clone
The MindKits site.
One cool video on Youtube.
One other interesting internet resources. eg "Make" site or electonics sites.
The Nice Gear store in Timaru that sells good Arduinos.
9. Find 4 more Arduino LED related videos in Youtube, BlipTV etc. Put a link and a two-sentence review about each one in your blog. Be prepared to talk about one or more of them to the class.
10. Establish a sketchpad folder in the D Drive or in a USB pen or somewhere you can get to.
All programs from now on need their source code to be entered into your blog with comments. Make sure you comment the the top of your blog posting with the number of the task and enter too the task number as a //coment in your code.
11. Copy the famous Blink program to your blog and make sure you can run it on you Arduino.
12. Create a variation in timing and put your new program into your blog. Indicate with a comment what your change was.
13. Write a program that will have the LED mostly off. That is it only blips on once a second if you look closely.
14. Same as 13 but this time have your LED mostly on.
15. Repeat 14 with an external LED on a breadboard.
16. Copy the two LED program into your blog and run it.
17. Insert a variation so that the LEDs blink together.
18. Write a program so that one LED is blinking fast while the other blinks slowly.
19. Write a diagram of how flash, SRAM and EEPROM memory are organised. You can use pencil and paper if you like and take an image, or any other way is fine. Show where r0-r31 are located as well as PORTB, DDRC and the stack pointer, SP. Show where the stack typically starts in SRAM.
20. Find a binary instruction equivalent of out PORTB, r18. (Hint: starts 1011..)
21. Write instructions to set the stack to start at 0x6ff. Give a screen shot of a debug screen that shows the stack pointer in the processor status window as well as the disassembly window that shows the binary codes, line numbers as well as your own assembler code.
22. State the value of these variables in the m32def.inc file that sits at the top of your lss file:
RAMEND, PORTB3, PIND7, FLASHEND, SRAM_SIZE.
23. Write a subroutine that uses one register to delay outputs to the B port. Try to get the maximum delay using just this one register. Remember your routine and the time it takes for a question in the upcoming test.
24. Find the list of special purpose registers that sit in SRAM above r0-r31. Give the address of these registers. PORTB, SP (the stack pointer), DDRD, SPIR (the SPI data register), TWDR (2 wire data register.)
25. Explain what these instructions do and write a little code segment to use them with comments.
(a) ld Rd, X+
(b) st -Z,Rr
19. Write a diagram of how flash, SRAM and EEPROM memory are organised. You can use pencil and paper if you like and take an image, or any other way is fine. Show where r0-r31 are located as well as PORTB, DDRC and the stack pointer, SP. Show where the stack typically starts in SRAM.
20. Find a binary instruction equivalent of out PORTB, r18. (Hint: starts 1011..)
21. Write instructions to set the stack to start at 0x6ff. Give a screen shot of a debug screen that shows the stack pointer in the processor status window as well as the disassembly window that shows the binary codes, line numbers as well as your own assembler code.
22. State the value of these variables in the m32def.inc file that sits at the top of your lss file:
RAMEND, PORTB3, PIND7, FLASHEND, SRAM_SIZE.
23. Write a subroutine that uses one register to delay outputs to the B port. Try to get the maximum delay using just this one register. Remember your routine and the time it takes for a question in the upcoming test.
24. Find the list of special purpose registers that sit in SRAM above r0-r31. Give the address of these registers. PORTB, SP (the stack pointer), DDRD, SPIR (the SPI data register), TWDR (2 wire data register.)
25. Explain what these instructions do and write a little code segment to use them with comments.
(a) ld Rd, X+
(b) st -Z,Rr
No comments:
Post a Comment