Since we have installed wiringPi, we can now look at the wiringPi pin numbering, as shown in the following screenshot:
The Physical column represents the Raspberry Pi numbering from 1-40. On both sides of the Physical column, you will see the wiringPi (wPi) columns. The arrows pointing from the Physical column to wPi represent the wiringPi pin numbering for a particular physical pin of a Raspberry Pi.
Take a look at the following examples:
- Physical pin number 3 has a wiringPi pin number of 8
- Physical pin number 5 has a wiringPi pin number of 9
- Physical pin number 8 has a wiringPi pin number of 15
- Physical pin number 11 has a wiringPi pin number of 0
- Physical pin number 40 has a wiringPi pin number of 29
By consulting this table, you can figure out which of the remaining physical pins correspond to which wiringPi pins.
To better understand the relationship between the wiringPi pins and the physical pins, you can refer to the following diagram:
The wiringPi pin numbering is what you will need to remember while programming. We can use a total of 28 wiringPi pins for programming. As well as these, we have the following pins, which can be used for providing power and can be used as ground pins:
- Physical pin numbers 6, 9, 14, 20, 25, 30, 34, and 39 are ground pins
- Physical pin numbers 2 and 4 provide a +5V supply
- Physical pin numbers 1 and 17 provide a +3.3V supply
Let's move on to writing our first C++ program for Raspberry Pi.