Go Down

Topic: Learn I2C Bus based Serial Data Communication by Solving Questions (Read 775 times) previous topic - next topic

GolamMostafa

The following diagram depicts the connection of UNO (Master) and NANO (Slave) using I2C Bus. Here, the Master sends 'temperature signal from LM35 sensor' to Slave and Slave sends (on request from Master) Pot value and 'temperature signal from DS18B20 sensor' to Master using I2C Bus.


There are questions (along with selective answers of few questions) in the attached pdf file. The interested readers may download it and practice the solutions of the questions as a  'Self Learning Approach'.

Reviews and recommendations are cordially invited.

J-M-L

Thx for sharing

Good start and Probably worth a second read

Points i'd Suggest to review: Some typos, approximations on types and pointers, use of non C++ conformant rule for union access, the floating point example and explanation is probably a unnecessary digression, weird statement about transferring only 1 byte versus framed messages,  signaling on the bus and behavior of slaves,  mention the 3 typical modes, the role of the open collector, role of the 8th bit of the address, role of the reserved address, notion of deciding who is the master (Multiple masters on bus), timing challenge with slow equipment, etc...
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

GolamMostafa

Thx for sharing

Good start and Probably worth a second read

Points i'd Suggest to review: Some typos, approximations on types and pointers, use of non C++ conformant rule for union access, the floating point example and explanation is probably a unnecessary digression, weird statement about transferring only 1 byte versus framed messages,  signaling on the bus and behavior of slaves,  mention the 3 typical modes, the role of the open collector, role of the 8th bit of the address, role of the reserved address, notion of deciding who is the master (Multiple masters on bus), timing challenge with slow equipment, etc...
Warm congratulation for the very constructive criticisms and directives to bring considerable improvements in my works on I2C Bus. I would like to convey my best regards for making a meaningful review of the works. I am in a position to assure you that the posted file will be extensively overhauled at the best level of my knowledge and ability in order to bring reflection of every aspect of your review. Your voluntary interest at my works has encouraged me to prepare a 'Text Book Chapter on I2C Bus' which, I am sanguine, will be lucky to receive your review/recommendation.    

These questions/answers have been hurriedly prepared to distribute among my 4x50(200) undergraduate students of EEE Department after the delivery of only 3 classes (of 50 minute duration each).  As the pupils have reported that the questions set (along with selective answers) has helped them to understand the 'theory of operation of the I2C Bus' in an alternative way, I have felt pleasure to share this resource with my readers of the Arduino Forum.      

J-M-L

There is already some pretty good literature out there you could review for inspiration

https://www.nxp.com/docs/en/application-note/AN10216.pdf
https://developer.electricimp.com/resources/i2c
http://www.ti.com/lit/an/slva704/slva704.pdf
https://learn.sparkfun.com/tutorials/i2c/all
https://robot-electronics.co.uk/i2c-tutorial
https://www.aurel32.net/elec/i2c.pdf
https://www.best-microcontroller-projects.com/i2c-tutorial.html
https://howtomechatronics.com/tutorials/arduino/how-i2c-communication-works-and-how-to-use-it-with-arduino/
https://developer.electricimp.com/resources/i2cerrors
https://i2c.info

or videos to reach learners who are more visual
https://www.youtube.com/watch?v=6IAkYpmA1DQ

ans tons more... basically there are 1 380 000+ results for "I2C tutorial"

As I do also help learners from time to time, my recommendation would be to focus on the topic at hand and avoid bringing confusion by digression into non related fields (like IEEE-754 Standard which has nothing to do with I2C). Keep it simple, talk about sending structures or multi-byte data (an unsigned long would do for example)

but again, thanks for sharing.
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

GolamMostafa

@ J-M-L

So much thanks for putting all these reading materials at my door steps -- for sure, half of the 'light' that I will be  gathering from the 'deep dark' would go to your part in the form of 'Light Upon Light'.  

Go Up