The AVR Microcontroller and Embedded Systems Using Assembly and C: Using Arduino Uno and Atmel Studio by Sarmad Naimi and Muhammad Ali Mazidi 2nd Ed
Author's Website http://nicerland.com/
Since we will be starting the class in a Virtual mode, the instructor has made parts kits for the semester (this kit suppliments the kit you signed out for TECH 3233 so you do not need to return that kit). You are required to pick up the parts kit the first week of the semester by Signing Up for an Appointment
and then coming to ET227 during that time to pick up the kit and sign a Equipment Signout Form
. Please note that failure to return BOTH lab kits (TECH 3233 and TECH 4234) by the end of the semester will result in an "F" for the course, so make sure you return it.
As stated in an email, you might want to purchase a Jumper Wire Kit
. This will make it easier to connect components to the arduino board and worth the $6 price tag.
Atmel Studio 7
(for avrdude utility)
Because of the Covid-19 Virus, TECH4234 will start via Zoom web based video conferencing at the normal class time by clicking on icon (below).
I will also be available during our lab time to assist via Zoom as well.
Classes will be recorded for future reference.
If you have never used ZOOM before, you might want to check out this Video Tutorial
and the log in instructions
. It is best if you have a mic. A Camera is not required, but I do like seeing who I am talking to. If you do not have a mic, you can ask questions via the Chat function as well. If using a mic, make sure you know how to mute/unmute (to ask questions) and ensure you know how to share your screen so I can see the issues you are having when asking a question on assignments.
Video of Lectures
I will be posting the lectures to OneDrive (CLICK HERE
) for you to veiw anytime.
|Aug 18||Welcome|| || || |
|Sync Serial||Sync Serial Fundamentals||Lecture|
Review Chp 10
|Lab #1 - Due Sep 29, 2020 at start of class. Click HERE for array String.|
|Aug 27||UART/USART||Basics of UART Communication|
Asynchronous Serial (Hackaday)
C Programming and Strings
|Dealing with Strings in C|
| ||Lab #2 - Multiple parts (Submit final code via online submission). Due Oct 6, 2020 at start of class.|
|SPI||What could go wrong: SPI (Hackaday)|
SPI Explained (Note code for different uProc)
|Lecture Notes||Lab #3 - Due date Oct 22, 2020.|
What Could Go Wrong? I2C Edition (Hackaday)
| ||Lab #5a - get program 18-13 working for RTC. We will replace the uart routines in the sample code and use printf instead.|
Due date Oct 27, 2020.
|I2C (Cont)|| || ||Lab #5b - Add the ADXL345 to the I2C Bus and add code to the previous program to read the accelerometer and output a CSV output to the terminal including time and date, x, y, and z values.|
Here is the complete wiring setup.
Due date Oct 29, 2020.
|WiFi Using ESP8266 || ||AT Commands||Lab #6|
We will use a NEW
Software Serial Template Software Serial Template* to start this project. Download, unzip and open to start YOUR code.
* minor fix to code. If you downloaded the first version, add a c=0; line to the end of the usart_response() function.
Due Nov, ??, 2020.
|WiFi Server|| || ||Lab 7 - Using the Software Serial Template and what you learned in Lab #6, we will create a program to set the ESP8266 into server mode, listen for a request and turn on / off and LED via a web request.|
Please read THIS PAGE for how to use the ESP8266 in server mode. We will discuss how to parce the web request and control the LED in class (sorry I do not have a write up done for this lab (as of yet).
|Nov 12|| || || ||Demo of Ethernet Sheild|
| || || || || |
ATmega328P / Arduino pinout
C Quick Reference
Tutorialspoint C Programming
VT100 Escape Codes
C Style Guides
Rigol Digital Oscilloscope - 2000 Series
• (note: to use USB Stick, it MUST be formatted as FAT32)
Arduino Ethernet Shield 2
Real Time Clock
ADXL345 Tripple Axis Accelerometer
Bi-Directional Logic Level Converter
Info needed for Labs
Determine Com Port
With Arduino plugged in to computer's USB port
Win 10 - Search for "Powershell" and open
Type - "Get-WMIObject Win32_SerialPort" (no quotes)
check results for Arduino Uno (Com __ )
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
-C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p atmega328p -c arduino -P COM7 -b 115200 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i"
Atmel Studio add ins:
Go to above link then search for "Microchip Gallery". Click on "Download" on left side of screen and run the downloaded file (if Atmel Studio was opened when you did this, close and reopen Atmel Studio). This should now allow Atmel Studio access to plugins (TOOLS | Extensions and Updates). It is suggested in go ahead and install "Terminal for Atmel Studio"
To get printf to work with floating point values:
Project | nameofproject
Properties | Toolchain : AVR/GNU Linker | General | Check "Use vprintf library(-Wl,-u,vfprintf)"
Project | nameofproject
Properties | Toolchain : AVR/GNU Linker | Miscellaneous | Other Linker Flags put into textbox | "-lprintf_flt" (leave off quotes).