Skip to content
Snippets Groups Projects
Select Git revision
  • 3159bc6b8455527b2a6f580050378cc0a0b4dd65
  • ctx default
  • master protected
  • rahix/bhi160-cleanup
  • schneider/ble-hid
  • schneider/bsec
  • schneider/212-reset-hardware-when-entering-repl
  • schneider/exnostat-remove-gapple
  • schneider/g-watch
  • schneider/ble-time
  • schneider/bonding-fail-if-full
  • schneider/bonding-naming
  • schneider/rng-btle
  • schneider/trng-enable-fix
  • schneider/sdk-0.2.1-12
  • schneider/ble-critical-section
  • schneider/covid-tracing
  • schneider/ble-fixes-2020-3
  • schneider/spo2-playground
  • schneider/mpy-portstate
  • schneider/fix-ble-mac-write
  • v1.15
  • v1.14
  • v1.13
  • v1.12
  • v1.11
  • v1.10
  • v1.9
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
40 results

att_uuid.h

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    lcd_skin.rst NaN GiB
    The LCD and touch-sensor skin
    =============================
    
    Soldering and using the LCD and touch-sensor skin.
    
    [<img src="/static/doc/skin-lcd-3.jpg" alt="pyboard with LCD skin" style="width:250px; border:1px solid black; display:inline-block;"/>](/static/doc/skin-lcd-3.jpg)
    [<img src="/static/doc/skin-lcd-1.jpg" alt="pyboard with LCD skin" style="width:250px; border:1px solid black; display:inline-block;"/>](/static/doc/skin-lcd-1.jpg)
    
    The following video shows how to solder the headers onto the LCD skin.
    At the end of the video, it shows you how to correctly connect the LCD skin to the pyboard.
    
    <iframe style="margin-left:3em;" width="560" height="315" src="//www.youtube.com/embed/PowCzdLYbFM?rel=0" frameborder="0" allowfullscreen></iframe>
    
    Using the LCD
    -------------
    
    To get started using the LCD, try the following at the Micro Python prompt.
    Make sure the LCD skin is attached to the pyboard as pictured at the top of this page. ::
    
        >>> lcd = pyb.LCD('X')
        >>> lcd.light(True)
        >>> lcd.write('Hello uPy!\n')
    
    You can make a simple animation using the code::
    
        lcd = pyb.LCD('X')
        lcd.light(True)
        for x in range(-80, 128):
            lcd.fill(0)
            lcd.text('Hello uPy!', x, 10, 1)
            lcd.show()
            pyb.delay(25)
    
    Using the touch sensor
    ----------------------
    
    To read the touch-sensor data you need to use the I2C bus.  The
    MPR121 capacitive touch sensor has address 90.
    
    To get started, try::
    
        >>> i2c = pyb.I2C(1, pyb.I2C.MASTER)
        >>> i2c.mem_write(4, 90, 0x5e)
        >>> touch = i2c.mem_read(1, 90, 0)[0]
    
    The first line above makes an I2C object, and the second line
    enables the 4 touch sensors.  The third line reads the touch
    status and the ``touch`` variable holds the state of the 4 touch
    buttons (A, B, X, Y).
    
    There is a simple driver [here](/static/doc/examples/mpr121.py)
    which allows you to set the threshold and debounce parameters, and
    easily read the touch status and electrode voltage levels.  Copy
    this script to your pyboard (either flash or SD card, in the top
    directory or ``lib/`` directory) and then try::
    
        >>> import pyb
        >>> import mpr121
        >>> m = mpr121.MPR121(pyb.I2C(1, pyb.I2C.MASTER))
        >>> for i in range(100):
        ...   print(m.touch_status())
        ...   pyb.delay(100)
        ...
    
    This will continuously print out the touch status of all electrodes.
    Try touching each one in turn.
    
    Note that if you put the LCD skin in the Y-position, then you need to
    initialise the I2C bus using::
    
        >>> m = mpr121.MPR121(pyb.I2C(2, pyb.I2C.MASTER))
    
    There is also a demo which uses the LCD and the touch sensors together,
    and can be found [here](/static/doc/examples/lcddemo.py).