Wednesday, February 21, 2018

Some background




The classic intro on "talk like a pirate day"


Also: lots about LEDs:

More LEDs and good planning.


LED Pixel Matrix Project

http://www.youtube.com/watch?v=hEKEM6ZOsZE

A good intro via Jaycar (but slightly different Arduino)

Another Arduino introduction. This time for the Uno.

Also  an introduction the Chinese clone Arduinos. Cheap but don't help the Arduino community.


Another good introduction, a bit more modern than some of above.

Some interesting projects. And some amazing school projects.


Simple circuit




1 amp per second means that 1.6x10^19 electrons pass a given point each second. That comes from the definition of a Coulomb as 1 amp per second and that one Coulomb is 1.6x10^19 electrons.




Checklist for first two weeks

Checklist for first two weeks

Make sure you have addressed the following topics.

Week one
Access class Moodle site.
Access class blog.
Created own blog.
Put blog URL into Moodle wiki.
Started tasks from class blog.
Purchased Arduino kit.
Unpacked kit and got default led flash after plug in.

Week two
Get Arduino IDE going.
Look at main Arduino site.
Checked pages on how to get started.
Found example programs in IDE.
Run famous Blink Program.
Did simple mods to Blink and ran them.
Understand structure of Arduino sketch.
Found the Arduino C language reference.
Installed kit's project software in examples.
Do blink sketch from kit book.
Download Fritzing.
Accessed specs for LED project.
Continued with blog tasks.

Wednesday, February 7, 2018

The kit guide





Find the contents here:

Please note that the 2018 version has a mistake on page 73 where the diagram has swapped the negative and positive rails on the breadboard picture.

Tasks

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

Welcome

Welcome to the 2018 Embedded class




Most of our work will come from tasks set on this blog and you will respond with your own work in your blog. For example you will have to write a short program to flash a LED early on the course. You get this going in the Arduino environment then transfer the code, and perhaps, pictures, links or movies onto your blog page that corresponds with the task. Please remember to put the task number somewhere in or near the title for easy marking purposes.

Sometimes extra information is given in our Moodle pages.

A outline of what's in the test. The test will be in our normal classroom on Tuesday 19 June at 8:00 There will be a picture of...