Description
Hi2C Says
The first project is designed to familiarize you with serial communication on the STM32F446 Nucleo board. To do this each student will be assigned a unique I2C slave address for their processor board. The instructor will have a “master” controller set up with an I2C bus that multiple students can connect to simultaneously. We will play a modified version of “Simon says,” where the master will signal a specific slave to respond. The game will be played with the following protocol:
1. The master will initiate communication by sending a start condition followed by a random
address.
2. If the master sends a “write” command the following data byte will a number between 1-15.
The owner of the address should then blink an LED the number of times indicated by the data byte sent. (Note: the frequency of blinks should be such that the number of blinks can be easily counted by a human).
3. If the master sends a “read” command the owner of the address should send back a list of all
data bytes received since the start of the game. For example:
a. If no data has been received by the owner of the address a zero should be returned.
b. If the owner of the address has received only a 7 then the owner should send only a 7.
c. If the owner of the address has received 7, 12, 2, 5 over the course of the game then all of those numbers should be sent in a 4-byte sequence.
Optional Features
1. Students may use an alternate method for displaying data. For example, students may use a
liquid crystal display, 7-segment LED display, etc.
2. Students may write a “master” routine to control the game. Be warned that the master routine
is much more sophisticated. Students must demonstrate the abilities outlined above in addition to controlling the game.
Grading and Verification:
1. This is an individual project. NO TEAMS.
2. Project verification (by Dr. Mitchell) is due by 2pm on the due date.
3. A penalty of 10% grade deduction per “school day” (MTWTF) will be assessed on late projects
(2pm is the cutoff time for each day).
4. Projects verified after 5 school days will be assessed a 50% grade deduction.
5. Final project grades are calculated as:
60% technical (based on verification of the project as outlined above)
10% refinement (i.e. error handling, user interface, packaging, etc.)
15% project description
15% code organization
6. Technical grade depends on quality of final project at time of verification.
Project description should include:
1. Statement of the project
2. Possible utility or purpose
3. Identification of specifications
4. Identification of design issues and solutions
5. Schematic of components external to the STM32F446 board
6. Code
7. Informational resource used (researching things online is allowed, just tell me about what you
find)
8. Be concise, don’t write a book
Code organization:
1. Code should be well documented
2. Use descriptive constant, variable, and function names
3. Use functions when appropriate
4. Minimize use of global variables
the slave address should be 0x04
note:- I use Kiel, C language,no Arduino pins
Unformatted Attachment Preview
Purchase answer to see full attachment