Bird
Raised Fist0
Raspberry Piprogramming~5 mins

RPi.GPIO library setup in Raspberry Pi - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the RPi.GPIO library in Raspberry Pi?
The RPi.GPIO library allows you to control the Raspberry Pi's GPIO pins to interact with electronic components like LEDs, buttons, and sensors.
Click to reveal answer
beginner
How do you import the RPi.GPIO library in a Python script?
You import it using <code>import RPi.GPIO as GPIO</code>. This lets you use the GPIO functions with the short name <code>GPIO</code>.
Click to reveal answer
beginner
What does GPIO.setmode(GPIO.BCM) do?
It sets the pin numbering system to BCM, which means you refer to the GPIO pins by their Broadcom chip numbers.
Click to reveal answer
beginner
Why should you call GPIO.cleanup() at the end of your program?
Calling GPIO.cleanup() resets the GPIO pins to a safe state, preventing issues when you run other programs later.
Click to reveal answer
beginner
How do you set a GPIO pin as an output using RPi.GPIO?
Use GPIO.setup(pin_number, GPIO.OUT) to set a pin as an output so you can control devices like LEDs.
Click to reveal answer
Which command imports the RPi.GPIO library correctly?
Aimport RPi.GPIO as GPIO
Bimport gpio
Cimport Raspberry.GPIO
Dimport GPIO
What does GPIO.setmode(GPIO.BCM) specify?
ASet all pins as inputs
BUse physical pin numbers
CUse Broadcom chip pin numbers
DDisable GPIO pins
Which function resets GPIO pins to a safe state?
AGPIO.stop()
BGPIO.reset()
CGPIO.close()
DGPIO.cleanup()
How do you set GPIO pin 17 as an output?
AGPIO.setup(17, GPIO.OUT)
BGPIO.setmode(17, GPIO.OUT)
CGPIO.setup(17, GPIO.IN)
DGPIO.output(17, GPIO.OUT)
Why is it important to call GPIO.cleanup()?
ATo start the GPIO pins
BTo reset pins and avoid errors
CTo install the library
DTo import GPIO functions
Explain the steps to set up the RPi.GPIO library for controlling an LED on a Raspberry Pi.
Think about how you prepare the pins and clean up after.
You got /5 concepts.
    Why do we choose between BCM and BOARD modes in RPi.GPIO, and what is the difference?
    Consider how you identify pins on the Raspberry Pi.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the purpose of the GPIO.setmode() function in the RPi.GPIO library?
      easy
      A. It sets the pin numbering system to use (BOARD or BCM).
      B. It cleans up all GPIO pins after use.
      C. It sets the direction of a specific pin (input or output).
      D. It reads the current value of a GPIO pin.

      Solution

      1. Step 1: Understand the role of GPIO.setmode()

        This function tells the Raspberry Pi how to number the pins, either by physical board numbers (BOARD) or by Broadcom chip numbers (BCM).
      2. Step 2: Differentiate from other functions

        Cleaning pins is done by GPIO.cleanup(), setting pin direction is GPIO.setup(), and reading pin value is done by GPIO.input().
      3. Final Answer:

        It sets the pin numbering system to use (BOARD or BCM). -> Option A
      4. Quick Check:

        GPIO.setmode() = sets pin numbering [OK]
      Hint: Remember: setmode chooses pin numbering style [OK]
      Common Mistakes:
      • Confusing setmode() with cleanup()
      • Thinking setmode() sets pin direction
      • Mixing up setmode() with reading pin values
      2. Which of the following is the correct way to import the RPi.GPIO library and set the pin numbering mode to BCM?
      easy
      A. import RPi.GPIO as GPIO\nGPIO.setmode(GPIO.BCM)
      B. import RPi.GPIO as GPIO\nGPIO.setmode(GPIO.BOARD)
      C. import GPIO\nGPIO.setmode(GPIO.BCM)
      D. import RPi.GPIO\nGPIO.setmode(GPIO.BCM)

      Solution

      1. Step 1: Check the correct import syntax

        The standard way is to import RPi.GPIO as GPIO to use GPIO functions easily.
      2. Step 2: Verify the setmode argument

        To set pin numbering to BCM, use GPIO.setmode(GPIO.BCM). import RPi.GPIO as GPIO\nGPIO.setmode(GPIO.BCM) matches both correct import and setmode usage.
      3. Final Answer:

        import RPi.GPIO as GPIO\nGPIO.setmode(GPIO.BCM) -> Option A
      4. Quick Check:

        Import as GPIO + setmode BCM = import RPi.GPIO as GPIO\nGPIO.setmode(GPIO.BCM) [OK]
      Hint: Import as GPIO and use GPIO.BCM for BCM mode [OK]
      Common Mistakes:
      • Forgetting 'as GPIO' in import
      • Using BOARD instead of BCM when BCM is asked
      • Importing just GPIO without RPi
      3. What will be the output of this code snippet?
      import RPi.GPIO as GPIO
      GPIO.setmode(GPIO.BOARD)
      GPIO.setup(7, GPIO.OUT)
      print(GPIO.gpio_function(7))

      Assuming pin 7 is set as output.
      medium
      A. 0
      B. 3
      C. 2
      D. 1

      Solution

      1. Step 1: Understand GPIO.gpio_function()

        This function returns a number representing the pin's current function. For output pins, it returns 1.
      2. Step 2: Check pin setup

        Pin 7 is set as GPIO.OUT, so gpio_function(7) returns 1.
      3. Final Answer:

        1 -> Option D
      4. Quick Check:

        Output pin function code = 1 [OK]
      Hint: Output pins return 1 from gpio_function() [OK]
      Common Mistakes:
      • Assuming gpio_function returns pin number
      • Confusing output code with input code
      • Not setting pin mode before calling gpio_function
      4. Identify the error in this code snippet:
      import RPi.GPIO as GPIO
      GPIO.setmode(GPIO.BOARD)
      GPIO.setup(11, "OUT")
      GPIO.output(11, True)
      GPIO.cleanup()
      medium
      A. Calling GPIO.cleanup() before output.
      B. Using string "OUT" instead of GPIO.OUT in setup.
      C. Missing GPIO.setwarnings(False) before setup.
      D. Not importing time module for delays.

      Solution

      1. Step 1: Check GPIO.setup() syntax

        The direction argument must be GPIO.OUT or GPIO.IN, not a string like "OUT".
      2. Step 2: Verify other lines

        GPIO.setwarnings() is optional, cleanup is correctly called last, and time module is not needed here.
      3. Final Answer:

        Using string "OUT" instead of GPIO.OUT in setup. -> Option B
      4. Quick Check:

        Pin direction must be GPIO.OUT, not "OUT" [OK]
      Hint: Use GPIO.OUT constant, not string "OUT" [OK]
      Common Mistakes:
      • Passing pin direction as string
      • Calling cleanup too early
      • Forgetting to import GPIO properly
      5. You want to control an LED connected to pin 12 using BCM numbering. Which sequence of commands correctly sets up the pin and turns the LED on, then cleans up properly?
      hard
      A. GPIO.setmode(GPIO.BCM)\nGPIO.setup(18, GPIO.OUT)\nGPIO.output(18, True)\nGPIO.cleanup()
      B. GPIO.setmode(GPIO.BOARD)\nGPIO.setup(12, GPIO.OUT)\nGPIO.output(12, True)\nGPIO.cleanup()
      C. GPIO.setmode(GPIO.BCM)\nGPIO.setup(12, GPIO.OUT)\nGPIO.output(12, True)\nGPIO.cleanup()
      D. GPIO.setmode(GPIO.BOARD)\nGPIO.setup(18, GPIO.OUT)\nGPIO.output(18, True)\nGPIO.cleanup()

      Solution

      1. Step 1: Match numbering mode with pin number

        Pin 12 in BCM mode corresponds to GPIO12, so setmode(GPIO.BCM) and setup(12) is correct.
      2. Step 2: Confirm output setup and cleanup

        Pin is set as output, turned on with True, and cleanup is called last to reset pins.
      3. Final Answer:

        GPIO.setmode(GPIO.BCM)\nGPIO.setup(12, GPIO.OUT)\nGPIO.output(12, True)\nGPIO.cleanup() -> Option C
      4. Quick Check:

        BCM mode + pin 12 + output + cleanup = GPIO.setmode(GPIO.BCM)\nGPIO.setup(12, GPIO.OUT)\nGPIO.output(12, True)\nGPIO.cleanup() [OK]
      Hint: Match setmode with pin number system [OK]
      Common Mistakes:
      • Mixing BOARD and BCM numbering
      • Using wrong pin number for chosen mode
      • Forgetting to call cleanup()
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard