# Digital Input

{% tabs %}
{% tab title="1" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FGBZiZYlpdDzFdaSIceuc%2F24-04-22%2022-08-33%202753.jpg?alt=media&#x26;token=3df47659-3725-4dc1-915c-31130538d0de" alt=""><figcaption><p>3.3V and Gnd bus rails, a toggle switch on D4, and a momentary switch on D6.</p></figcaption></figure>
{% endtab %}

{% tab title="2" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FPV8h3B8HkECv8kEK03ip%2F24-04-22%2022-08-46%202754.jpg?alt=media&#x26;token=09c8ff3e-747f-4ccc-995e-621ae87f68dc" alt=""><figcaption><p>Blue bus rail connected to gnd with an orange jumper wire. Red bus rail connected to 3.3V with a yellow jumper wire.</p></figcaption></figure>
{% endtab %}

{% tab title="3" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2F1fY2ho0kMoTzQ582ESiA%2F24-04-22%2022-08-56%202755.jpg?alt=media&#x26;token=c488dbaf-53de-4868-9b3d-31b42a385a10" alt=""><figcaption><p>Center pin of toggle switch connected directly to D4. Normally-open momentary switch connects D6 to Gnd when pushed.</p></figcaption></figure>
{% endtab %}

{% tab title="4" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FQEnTIxWS3OYeV74Znjtq%2F24-04-22%2022-09-06%202756.jpg?alt=media&#x26;token=f86dd87f-9184-4753-bd2b-fe39d64379ec" alt=""><figcaption><p>Toggle switch in "On" possition, conecting D4 to 3.3V.</p></figcaption></figure>
{% endtab %}

{% tab title="5" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2F8O4XjjUm1QN7XiZfqHuM%2F24-04-22%2022-09-14%202757.jpg?alt=media&#x26;token=568ff621-6a51-4e6d-833c-f45441d64b32" alt=""><figcaption><p>Toggle switch in "Off" possition, conecting D4 to Gnd.</p></figcaption></figure>
{% endtab %}

{% tab title="6" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FNX53RIbnujbnGEv6nOCA%2F24-04-22%2022-09-22%202758.jpg?alt=media&#x26;token=5276e3cd-17b5-459c-a071-631d43cafa26" alt=""><figcaption><p>Momentary switch unpushed, internal pull-up resistor connects D6 to 3.3V.</p></figcaption></figure>
{% endtab %}

{% tab title="7" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FKz2DyptELD90w8GOVHog%2F24-04-22%2022-09-30%202759.jpg?alt=media&#x26;token=e4748ba0-2899-4eca-9828-3d9a7f09ade7" alt=""><figcaption><p>Momentary switch pusshed, pulls D6 down to Gnd.</p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Circuit Python Library

<https://docs.circuitpython.org/en/latest/shared-bindings/digitalio/index.html>

## Pull-Up Resistors

<https://en.wikipedia.org/wiki/Pull-up_resistor>

## Code

```python
"""
Digital Input Demo Code
Breadstick Innovations
April 22, 2024
https://learn.breadstick.ca/breadstick/breadsticks/raspberry-breadstick/code-examples/digital-input
"""

from board import *
from time import sleep
from digitalio import DigitalInOut, Direction, Pull
from adafruit_dotstar import DotStar

"""LED Setup"""
leds = DotStar(DOTSTAR_CLOCK, DOTSTAR_DATA, 24, brightness=0.02, auto_write=False)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
OFF = (0, 0, 0)
leds.fill(OFF)
leds.show()

"""Toggle Switch Setup"""
toggle_4 = DigitalInOut(D4)
toggle_4.switch_to_input()

"""Momentary Switch Setup"""
button_6 = DigitalInOut(D6)
button_6.switch_to_input(Pull.UP)

"""Loop"""
while True:
    if toggle_4.value == True:
        leds[0] = GREEN
    else:
        leds[0] = RED

    if button_6.value == True:
        leds[8] = GREEN
    else:
        leds[8] = RED
        
    leds.show()
    sleep(0.03)

```
