POWERED BY -- teachersduniya.com
This is the based on python programming language which is the very power full language . you can also learn whole about overview python.
POWERED BY -- teachersduniya.com
This is the based on python programming language which is the very power full language . you can also learn whole about overview python.
What is Python…?
Differences between program and scripting language
History of Python
Scope of Python
What can I do with python
Who uses python today
Why do people use Python?
Installing Python IDE
A Sample Code
Python code execution
Running Python
Python Basic(Variable, Strings, Data types etc.)
its only for learning purpose for beginners who wants to understand this protocol.
Life is all about learning, hope u will enjoy in this my PPT.
for any suggestion your always welcome .
In this presentation we can learn about basic concept of Instruction set, Byte Oriented Instructions, Bit Oriented instructions, Literal Instructions clearly.
Every wondered how to make your code physically interact with things in the real world? Got a home automation project in mind? In this presentation we will cover:
o) How to get started with Raspberry Pi and C#
o) The numerous sensors and actuators you can control
o) How to navigate basic electronics
o) Different interfaces and how to program them
o) Demonstrations of devices at work
o) Azure IoT Hub to control your code from the cloud and receive live inputs from your device in a Blazor application
Teach your kids how to program with Python and the Raspberry PiJuan Gomez
RaspberryPis are the new frontier in enabling kids (and curious adults) to get access to an affordable and easy-to-program platform to build cool things. Over a million of these nifty little devices have been sold in less than a year and part of their popularity has been due to how easy it is to start programming on them.
In this session you'll learn how to get started with the Raspberry PI, initial set-up, configuration and some tips and tricks. Then we'll have a brief introduction to basic Python and we'll write a few simple programs that run on the RaspberryPI. The last section of the session will be dedicated to PyGame, we'll learn about surfaces, events, inputs, sprites, etc and demonstrate how to build very simple games that are as much fun for kids to write, than to play!
It is a design of a processor with minimum instructions.
Here we use only two logical operators.
Arithmetic and Logic . we describe each step with picture,
BASIC INFORMATION OF ARCHITECTURE OF MICRO-CONTROLLER 8051 AS PER GTU SYLLABUS. Please Comment if u Like.. n Give u r feedback..
For More Information Go to
http://www.noesiseducation.blogspot.com
Bootloader utilizes to program microcontrollers by providing a medium of communication between them. Hence small bootloader uses to make controller programmable very often as like Arduino series board. Microcontrollers like 8051, PIC without bootloader requires the external programmer to burn the program inside the memory of the microcontroller. In addition to it requires preciously control output states of various pin mode which should be in sequence according to the datasheet of the manufacturer. Here this PPT has portrayed as an example of idle configurations that requires to run the bootloader and what happens if the bootloader is installed inside the memory of the controller.
Class materials for teaching the use of the MPU-6050 with an Arduino Uno. These materials were originally used in Designathon 2016.
They were only created in a few hours notice so pardon my lower quality of this presentation compared to my other work.
The code is available here. https://github.com/SustainableLivingLab/imu-mpu6050-usage
What is Python…?
Differences between program and scripting language
History of Python
Scope of Python
What can I do with python
Who uses python today
Why do people use Python?
Installing Python IDE
A Sample Code
Python code execution
Running Python
Python Basic(Variable, Strings, Data types etc.)
its only for learning purpose for beginners who wants to understand this protocol.
Life is all about learning, hope u will enjoy in this my PPT.
for any suggestion your always welcome .
In this presentation we can learn about basic concept of Instruction set, Byte Oriented Instructions, Bit Oriented instructions, Literal Instructions clearly.
Every wondered how to make your code physically interact with things in the real world? Got a home automation project in mind? In this presentation we will cover:
o) How to get started with Raspberry Pi and C#
o) The numerous sensors and actuators you can control
o) How to navigate basic electronics
o) Different interfaces and how to program them
o) Demonstrations of devices at work
o) Azure IoT Hub to control your code from the cloud and receive live inputs from your device in a Blazor application
Teach your kids how to program with Python and the Raspberry PiJuan Gomez
RaspberryPis are the new frontier in enabling kids (and curious adults) to get access to an affordable and easy-to-program platform to build cool things. Over a million of these nifty little devices have been sold in less than a year and part of their popularity has been due to how easy it is to start programming on them.
In this session you'll learn how to get started with the Raspberry PI, initial set-up, configuration and some tips and tricks. Then we'll have a brief introduction to basic Python and we'll write a few simple programs that run on the RaspberryPI. The last section of the session will be dedicated to PyGame, we'll learn about surfaces, events, inputs, sprites, etc and demonstrate how to build very simple games that are as much fun for kids to write, than to play!
It is a design of a processor with minimum instructions.
Here we use only two logical operators.
Arithmetic and Logic . we describe each step with picture,
BASIC INFORMATION OF ARCHITECTURE OF MICRO-CONTROLLER 8051 AS PER GTU SYLLABUS. Please Comment if u Like.. n Give u r feedback..
For More Information Go to
http://www.noesiseducation.blogspot.com
Bootloader utilizes to program microcontrollers by providing a medium of communication between them. Hence small bootloader uses to make controller programmable very often as like Arduino series board. Microcontrollers like 8051, PIC without bootloader requires the external programmer to burn the program inside the memory of the microcontroller. In addition to it requires preciously control output states of various pin mode which should be in sequence according to the datasheet of the manufacturer. Here this PPT has portrayed as an example of idle configurations that requires to run the bootloader and what happens if the bootloader is installed inside the memory of the controller.
Class materials for teaching the use of the MPU-6050 with an Arduino Uno. These materials were originally used in Designathon 2016.
They were only created in a few hours notice so pardon my lower quality of this presentation compared to my other work.
The code is available here. https://github.com/SustainableLivingLab/imu-mpu6050-usage
Internet Of Things: Hands on: YOW! nightAndy Gelme
Introduction to the Internet Of Things ... using the MeshThing hardware running Contiki mesh-networking software for IPv6 / 6LoWPAN. Also, Daryl Wilding McBride (@darylwmcb) covers building a quadcopter for the Outback Joe competition.
Quadcopter navigation using aakash tablet with on board image processingD Yogendra Rao
Final Presentation for Team Garuda . This quadcopter and its ground control station(GCS) was built in the Integrated Development Lab during my summer internship at IIT Bombay .
https://www.youtube.com/watch?v=0966YNqcisg.
Unit-6: Gyroscope, of Dynamics of machines of VTU Syllabus prepared by Hareesha N Gowda, Asst. Prof, Dayananda Sagar College of Engg, Blore. Please write to hareeshang@gmail.com for suggestions and criticisms.
I²C (Inter-Integrated Circuit), pronounced I-squared-C, is a multi-master, multi-slave, single-ended, serial computer bus invented by Philips Semiconductor (now NXP Semiconductors). It is typically used for attaching lower-speed peripheral ICs to processors and microcontrollers. Alternatively I²C is spelled I2C (pronounced I-two-C) or IIC (pronounced I-I-C).
Since October 10, 2006, no licensing fees are required to implement the I²C protocol. However, fees are still required to obtain I²C slave addresses allocated by NXP.[1]
Several competitors, such as Siemens AG (later Infineon Technologies AG, now Intel mobile communications), NEC, Texas Instruments, STMicroelectronics (formerly SGS-Thomson), Motorola (later Freescale), and Intersil, have introduced compatible I²C products to the market since the mid-1990s.
SMBus, defined by Intel in 1995, is a subset of I²C that defines the protocols more strictly. One purpose of SMBus is to promote robustness and interoperability. Accordingly, modern I²C systems incorporate policies and rules from SMBus, sometimes supporting both I²C and SMBus, requiring only minimal reconfiguration.
The Serial Peripheral Interface (SPI) bus is a synchronous serial communication interface specification used for short distance communication, primarily in embedded systems. The interface was developed by Motorola and has become a de facto standard. Typical applications include sensors, Secure Digital cards, and liquid crystal displays.
SPI devices communicate in full duplex mode using a master-slave architecture with a single master. The master device originates the frame for reading and writing. Multiple slave devices are supported through selection with individual slave select (SS) lines.
Sometimes SPI is called a four-wire serial bus, contrasting with three-, two-, and one-wire serial buses. The SPI may be accurately described as a synchronous serial interface,[1] but it is different from the Synchronous Serial Interface (SSI) protocol, which is also a four-wire synchronous serial communication protocol, but employs differential signaling and provides only a single simplex communication channel.
SPI is a serial bus standard established by Motorola and supported in silicon products from various manufacturers.
It is a synchronous serial data link that operates in full duplex (signals carrying data go in both directions simultaneously).
Devices communicate using a master/slave relationship, in which the master initiates the data frame. When the master generates a clock and selects a slave device, data may be transferred in either or both directions simultaneously.
ijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j iijfij fi fjijfij fijfijif if iji j i
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
call for paper 2012, hard copy of journal, research paper publishing, where to publish research paper,
journal publishing, how to publish research paper, Call For research paper, international journal, publishing a paper, IJERD, journal of science and technology, how to get a research paper published, publishing a paper, publishing of journal, publishing of research paper, reserach and review articles, IJERD Journal, How to publish your research paper, publish research paper, open access engineering journal, Engineering journal, Mathemetics journal, Physics journal, Chemistry journal, Computer Engineering, Computer Science journal, how to submit your paper, peer reviw journal, indexed journal, reserach and review articles, engineering journal, www.ijerd.com, research journals
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
About
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Technical Specifications
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
Key Features
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface
• Compatible with MAFI CCR system
• Copatiable with IDM8000 CCR
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
Application
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfKamal Acharya
The College Bus Management system is completely developed by Visual Basic .NET Version. The application is connect with most secured database language MS SQL Server. The application is develop by using best combination of front-end and back-end languages. The application is totally design like flat user interface. This flat user interface is more attractive user interface in 2017. The application is gives more important to the system functionality. The application is to manage the student’s details, driver’s details, bus details, bus route details, bus fees details and more. The application has only one unit for admin. The admin can manage the entire application. The admin can login into the application by using username and password of the admin. The application is develop for big and small colleges. It is more user friendly for non-computer person. Even they can easily learn how to manage the application within hours. The application is more secure by the admin. The system will give an effective output for the VB.Net and SQL Server given as input to the system. The compiled java program given as input to the system, after scanning the program will generate different reports. The application generates the report for users. The admin can view and download the report of the data. The application deliver the excel format reports. Because, excel formatted reports is very easy to understand the income and expense of the college bus. This application is mainly develop for windows operating system users. In 2017, 73% of people enterprises are using windows operating system. So the application will easily install for all the windows operating system users. The application-developed size is very low. The application consumes very low space in disk. Therefore, the user can allocate very minimum local disk space for this application.
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
Presented at NUS: Fuzzing and Software Security Summer School 2024
This keynote talks about the democratization of fuzzing at scale, highlighting the collaboration between open source communities, academia, and industry to advance the field of fuzzing. It delves into the history of fuzzing, the development of scalable fuzzing platforms, and the empowerment of community-driven research. The talk will further discuss recent advancements leveraging AI/ML and offer insights into the future evolution of the fuzzing landscape.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Quality defects in TMT Bars, Possible causes and Potential Solutions.PrashantGoswami42
Maintaining high-quality standards in the production of TMT bars is crucial for ensuring structural integrity in construction. Addressing common defects through careful monitoring, standardized processes, and advanced technology can significantly improve the quality of TMT bars. Continuous training and adherence to quality control measures will also play a pivotal role in minimizing these defects.
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
2. Starting Notes :
• Everything that I say will be from the point of view of
understanding I2C protocol for communication
between an AVR (specifically ATTiny2313)
microcontroller and the MPU6050 Inertial
Measurement Unit
• I will be explaining both codes & concepts
simultaneously in a way that both compliment each
other’s understanding
3. Mind Map :
• I2C Protocol
• Basics
• Circuit
• Bus Connection
• I/O Port Structure of AVR microcontrollers
• I2C Specifications
• Signal Specifications
• Data Packet Specifications
• Device Specifications
• MPU6050
• Device Specifications
• Register Map
5. Communication Protocol :
A communication Protocol is a set of rules agreed upon
by two or more devices for the purpose of information
exchange
6. Basics :
• Inter Integrated Circuit Bus
• Developed by Philips (now by NXP semiconductors)
• official documentation at
http://www.nxp.com/documents/user_manual/UM10204.pdf
Basic Topology :
Serial Data
Serial Clock
7. • Each Device is recognised by a Unique ID
• A Device may be a :
• A transmitter only
• A receiver only
• A transceiver
• Three flavours :
• Standard mode : 400 Kbits/s
• Fast mode : 1 Mbits/s
• High speed mode : 3.4 Mbits/s
• More that one master is possible
I2C Device Address
Should be supported
by both Master and
Slave Devices
8. Terminology :
• Master : A device which initiates a transfer,
generates clock signals, and terminates a transfer
• Slave : A device Addressed by the Master
9. I2C Bus Circuit :
• When the bus is free (not being used for data transfer),
both lines should be high
That’s why these
pullup resistors
are required
10. ATmega 328 I/O port structure :
• Each microcontroller consists of a number of I/O ports
• There are three registers associated with each port :
• Data Direction Register (DDRx)
• Port Register (PORTx)
• Pin Register (PINx)
11. • DDRxn bit controls whether the pin is configured as an
input pin or an output pin
• PINxn bit stores the “Logic Value” as seen on that pin
of the microcontroller
• PORTxn bit controls the output of the pin when the pin
is configured as an output pin, or else it controls the
activation of the pullup register when the pin is
configured as an input pin.
12. Code :
First, some basics :
HOW DO YOU SET, CLEAR OR OR READ A SINGLE BIT
FROM A BYTE ?
13. Code :
First, some basics :
HOW DO YOU SET, CLEAR OR OR READ A SINGLE BIT
FROM A BYTE ?
uint8_t a = 0b11010010;
a |= (0x01 << 2); //set the second bit of “a”
a &= ~(0x01 << 1); // clear the first bit of “a”
(a & (0x01 << 3))>>3; // gives 3rd bit of a
15. #include <avr/io.h>
DDRA |= (0x01 << 3) // pin3 of portA configured as o/p
DDRA &= ~(0x01 << 3) //pin3 of portA configured as i/p
DDRA |= (0x01<<3)
PORTA |= (0x01<<3) //output Logic 1 on pin3 of portA
PORTA &= ~(0x01<<3)//output Logic 0 on pin3 of portA
DDRA &= ~(0x01<<3)
PORTX |= (0X01<<3) //activate pullup register on pin3 of
//portA
PORTX &= ~(0X01<<3)//deactivate pullup register on pin3
//of portA
16.
17. I2C Specifications :
Can be abstracted into three layers of specifications :
• Signal specifications
• Data Packet specifications
• Device specifications
18. Signal Specifications :
• Data on the SDA line must be stable during the high
period of the clock, th state of data can change only
when the SCL line is LOW.
19. Signal Specifications :
• Data on the SDA line must be stable during the high
period of the clock, th state of data can change only
when the SCL line is LOW.
20. Signal Specifications :
• When Data on the SDA line changes when SCL is
HIGH, a special condition is said to have occurred
START condition STOP condition
21. Signal Specifications :
• When Data on the SDA line changes during the high
period of clock, a special condition is said to have
occurred
START condition STOP condition
(SDA high to low
when SCL high)
(SDA low to high
when SCL high)
22. Signal Specifications :
• After transmission of each byte, the receiver needs to
acknowledge the transmitter that the byte has been
correctly read.
For this, the transmitter releases the control of the
SDA line for one SCL pulse (in our case, configuring the
pin as an input pin), and the receiver pulls SDA low for
that SCL pulse
23. Signal Specifications :
• After transmission of each byte, the receiver needs to
acknowledge the transmitter that the byte has been
correctly read.
For this, the transmitter releases the control of the
SDA line for one SCL pulse (in our case, configuring the
pin as an input pin), and the receiver pulls SDA low for
that SCL pulse
24. Data Packet Specifications :
• Every transmission starts with a START bit
• The first byte on every transmission contains the 7-
bit slave address and the R/W bit
R/W bit - 0 indicates that the master wishes to write data
R/W bit - 1 indicates that the master wishes to read data
25. Data Packet Specifications :
• Every byte is followed by an Acknowledgement bit
• During the “write operation”, the Master controls the
SDA line, whereas during the “read operation”, the
Slave controls the SDA line
• Every transmission starts with a STOP bit
27. Data Packet Specifications :
Master Writes one byte of data to the Slave :
1. START condition
2. 7-bit Slave Address
3. R/W bit - 0
4. Acknowledge by Slave
5. 8 bit data on SDA by master
6. Acknowledge by Slave
7. STOP condition
28. Data Packet Specifications :
Master Writes two bytes of data to the Slave :
1. START condition
2. 7-bit Slave Address
3. R/W bit - 0
4. Acknowledge by Slave
5. 8 bit data on SDA by master
6. Acknowledge by Slave
7. 8 bit data on SDA by master
8. Acknowledge by Slave
9. STOP condition
29. Data Packet Specifications :
Master reads one byte of data from the Slave :
1. START condition
2. 7-bit Slave Address
3. R/W bit - 0
4. Acknowledge by Slave
5. 8 bit data on SDA by Slave
6. Acknowledge by master
7. STOP condition
30. Data Packet Specifications :
Master reads two bytes of data from the Slave :
1. START condition
2. 7-bit Slave Address
3. R/W bit - 0
4. Acknowledge by Slave
5. 8 bit data on SDA by Slave
6. Acknowledge by master
7. 8 bit data on SDA by Slave
8. Acknowledge by master
9. STOP condition
31. Device Specifications :
• In what format does the device expect data in order to
communicate the information
• Varies from device to device
37. Consists of :
• 3 - axis Accelerometer
• 3 - axis Gyroscope
• Temperature Sensor
• Digital Motion Processor
• FIFO buffers
38. Device Specification :
To write data to a register of MPU6050 :
• Send MPU6050 Device ID on the I2C bus
• write Register Address to the FIFO buffer
• write Data to FIFO buffer
To read data from a register of MPU6050 :
• Send MPU6050 Device ID on the I2C BUS
• write Register Address to the FIFO buffer
• read Data from the FIFO buffer
41. MPU6050 Register Map :
• There are 75 8-bit registers in the Register map
• We only 15 of them
42. MPU6050 Register Map :
Power Management Register 1 (PWR_MGMT_1) :
the 6th bit of this register is the SLEEP bit, and it is 1 when MP
write_byte_to_slave(0x68,0x6B,0x00);
43. MPU6050 Register Map :
The values for each of the axes of accelerometer and gyroscop
I will spend much more time in explaining I2C and relevant codes, because once that is understood, interfacing with MPU6050 is very easy
In the case of I2C,
the protocol is a set of rules about the values and precedence of signals on the bus that convey meaningful information
the official documentation is very detailed and informative, read the Part 3 of the documentation to know everything you will need to know about I2C
Serial Data and Serial Clock + plus a GND line
standard mode speed is important because your microcontrollers (even the ATmega’s) can go faster than this speed, and if the slave device does not support speeds faster than 400Kbits/sec, there is going to be a communication problem.
More than one master possible :
bus arbitration should be used to avoid clashes in communication when both master’s try to communicate on the bus.
It is very important that a device which initiates a transfer has to terminate it as well
Next —> To understand how these lines are controlled at the hardware and the software level, we need to understand the I/O port structure of ATmega microcontrollers
When I say “x”, it is the port name
for example : DDRA for portA, …
Each register is 8 bits long, one bit for each pin of the port.
When I say “n”, it is the bit number of the pin in the port :
for example : DDRA0 is the 0th pin of portA
Next —> Lets see what the functions of these registers are
So, let me explain how this works :
when DDRxn = 1, the buffer is activated, and the value of the PORTxn bit is seen as the pin of the microcontroller.
when DDRxn = 0, the buffer is tristated, and the Logic value at the pin is seen on the PINxn bit.
when the buffer is tristated, the PORTxn bit controls the pullup register :
when PORTxn is 1, pullup register is activated
when PORTxn is 0, pullup register is deactivated
next —> Just to quickly explain this
next —> using these three concepts, I can :
configure a port as input or output
change the output of a port to high or low
activate or deactivate a pullup register
read input value from a pin
avr/io.h includes all the definitions for the Port Addresses for the particular AVR microcontroller
next —> So, the actual I2C circuit in our case will look like this
next —> now, having discussed the I2C basics and the circuit, lets move on to the I2C specifications
signal specifications -> how the signal values should change in order to represent meaningful data
data packet specifications -> In what order must the signals change in order to represent meaningful data
device specifications -> what data does the device expect
next —> so, lets start with signal specifications
eg: the register address, how many bytes to read
We will look at I2C device specifications for MPU6050
next —> lets see how these things translate to code
firstly, I write down these very simple functions that will make my code much more readable
next —> now using these functions, we can write down more complicated and interesting functions
All these functions are perfectly obvious from the signal specifications and data packet specifications
All these functions are perfectly obvious from the signal specifications and data packet specifications
Using these 7 functions, all I2C communications can be handled
as can been seen the MPU6050 example I’ll give you later
can interface with other sensors via I2C
DMP can be accessed only through Invensense’s firmware, …
next —> lets translate these steps to code
these functions
error_routine()
acknowledge_routine()
fin_routine()
all blink different lights in different patterns, for me to debug my code
with these two functions, we can do data acquisition from MPU6050, but there is just one more thing we need to know.
Which register of MPU6050 to read the data from?
next —> Since I need to access all these values at once every time, I wrote the following function to do the same.
everything should be obvious, except the USART_transmit_byte(data); statement …
There are two more registers that are important
these registers help in setting the full scale ranges of the accelerometer and gyroscope values
gyro values can range from + or - 250 degrees/sec to + or - 2000 degrees/sec
acc values can range from + or - 2g to + or - 16 g