Git Product home page Git Product logo

ese5190-2022-lab1-firefly's Introduction

University of Pennsylvania, ESE 5190: Intro to Embedded Systems, Lab 1

Xingqi Pan
    LinkedIn: https://www.linkedin.com/in/xingqipan
Tested on: MacBook Pro (14-inch, 2021), macOS Monterey 12.5.1

Content:

  • Section 3.2 Firefly
    • Description: Firefly-like light flashing with RP2040 and APDS9960
    • Details:
      • In this section, we aim to use APDS9960 and RP2040 to simulate firefly flashing with LED.
      • Components:
        • APDS9960: Collect firefly flashing data every cycle
        • RP2040: Using firefly flashing data to change the intensity of LED on the board with a Python program
      • Functionalities: The LED on RP2040 will flash synchronize with firefly
    • Visualization:
      alt text

  • Section 4.4 Smart Keyboard with RP2040 and APDS9960
    • Description: Using RP2040 to control PC keyboard input and cursor movement with proximity, luminous and gesture data sensed by APDS9960
    • Details:
      This embedded system mainly aims to contrust a smart kerboard with only human interaction. This kind of design can help people, espectially disabled people, to record their thoughts and ideas easily on computer.
      • Components:

        • APDS9960: Sensing human interaction data (luminous, gesture, proximity, etc.)
        • RP2040: Compiling and running a Python program to transfer interaction data to computer control instruction.
        • PC: receive the instrucions and take actions.
          The architecture of this embedded system is shown below in the diagram.


        alt text

      • Functionalities:

        • Interaction mode switcher via luminous
          • Collect luminous data on the clear channel as luminous
          • 0 < clear < 30000: Keyboard control mode
          • 30000 < clear < 45000: Mouse control mode
          • 45000 < clear < 65535: cursor control mode
          • clear == 65535: Shut down the program
        • Cursor control mode via gesture
          • If entering cursor control mode, the sensor will stay collecting gesture until it receive a non-zero data.
          • 1: up gesture detected, moving up cursor
          • 2: down gesture detected, moving down cursor
          • 3: left gesture detected, moving cursor to the left
          • 4: right gesture detected, moving cursor to the right
        • Keyboard control mode via proximity
          • Divided the proximity with range(0,65535) into 40 steps in range(0-39), each steps represents a keycode for typing letters.
          • Include a-z, 1-9, 0, Enter, Escape, Backspace, Tab, Space
        • Mouse control mode via proximity
          • Using the differece between current proximity data and previous proximity data to move the mouse, then left click mouse.
    • Visualization:
      alt text
    • Code: See code.py for more details

ese5190-2022-lab1-firefly's People

Contributors

anniepan8215 avatar pixelflipping avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.