What Will You Learn in Level B?

Curious what we teach in our Level B Lessons? Level B takes your electronics and coding skills to the next level by teaching you to incorporate a wide variety of sensors into your projects as well as write intermediate-level Python code.

Click here to view sample lesson videos, activity instructions, and more.

 

SCOPE AND SEQUENCE FOR the LEVEL B lessons

Lesson 1: Administrative and File Management

  • Understanding the Raspbian File System
  • Completing File Tasks in the Graphical User Interface (GUI)
    • Creating a Folder
    • Creating a File
    • Renaming a File or Folder
    • Changing Permissions on a File or Folder
    • Root User
    • Deleting Files or Folders
    • Navigating Folders Using File Manager
  • Completing File Tasks Using the Command Line
    • Working Directory
    • Listing Directory Contents
    • Creating a File
    • Creating a Directory
    • Moving to Another Directory
    • Copying a File or Folder
    • Moving or Renaming a File or Folder
    • Deleting a File or Folder
  • Other Useful Command Line Tools
    • Confirming Raspbian Version
    • Taking a Screen Capture
  • Activities:
    • Activity #1: GUI File and Folder Operations
    • Activity #2: Command Line File and Folder Operations


Lesson 2: Functions

  • Understanding Functions
    • Keeping Code Organized
    • Grouping Related Program Blocks
    • Global and Local Variables
    • Functions with Arguments
    • Using Functions in Programs
  • Activities
    • Activity #1: Simple Function Program
    • Activity #2: Calling a Function with a Loop
    • Activity #3: Functions with Passed Arguments


Lesson 3: Program Layout Options and Advanced String Concepts

  • Program Layout Options
    • While True Loops
    • Try, Except, Finally Program Layout
  • Advanced String Concepts
    • Determining the Length of a String
    • Accessing the Value of a Specific String Position
    • Accessing Values from Multiple String Positions
    • Uppercase and Lowercase
    • Replacing Characters in a String
  • Activities
    • Activity #1: While True Loop
    • Activity #2: Error Handling Program
    • Activity #3: Practice with Strings


Lesson 4: Pulse Width Modulation

  • Import Methods
    • Standard Module Import
    • Importing a Module Using an Alias
    • Importing Multiple Modules
    • Importing Specific Functions from a Module
  • Analog Signals vs Digital Signals
  • Pulse Width Modulation (PWM)
    • PWM Duty Cycle and Frequency
    • Hardware PWM vs Software PWM
    • GPIO Commands to Control PWM
  • Activities:
    • Activity #1: Building an LED and Piezo Circuit
    • Activity #2: Controlling an LED with PWM
    • Activity #3: Adjusting LED Brightness


Lesson 5: Switches and Correcting for Switch Bounce

  • Pull-up and Pull-down Options
  • Slide or Toggle Switch
  • Switch Bounce
  • Using a Delay to Save System Resources
  • Activities:
    • Activity #1: Adding Switches to the Circuit
    • Activity #2: Counting Button Presses
    • Activity #3: Tuning a Loop Using a Delay
    • Activity #4: Adding LED Confirmation Using the Slide Switch


Lesson 6: Logical Operators

  • Logical Operators in Python
  • Using a Pushbutton Switch as a Toggle
  • Using a Pushbutton Switch to End a Program
  • Activities:
    • Activity #1: Using a Pushbutton Switch as a Toggle
    • Activity #2: Use And/Or to Control Different Events
    • Activity #3: Add Stop Button Functionality


Lesson 7: Working with a 3x4 Matrix Keypad

  • Matrix Style Input Panel
    • Program Flow for Checking a Matrix
    • Storing Values as Strings Versus Integers
    • Membrane Type Switches
    • Matrix Keypad Warning
  • Variables and Scope
  • Activities:
    • Activity #1: Adding the Switch Matrix
    • Activity #2: Creating a Program to Display Keypad Presses
    • Activity #3: Adding Exit Functionality to the Keypad Program


Lesson 8: Github and Python 2 vs Python 3

  • Library Files
    • What is Github?
    • Cloning a Library from Github
    • When to Clone a Remote Library
    • Completing the Library Installation
    • Viewing Code Inside Files on Github
  • Python 2 vs Python 3
    • Thonny and Python
  • Activities:
    • Activity #1: Cloning and Installing a Github Repository
    • Activity #2: Exploring the Adafruit MCP3008 Repository
    • Activity #3: Viewing Code on Github


Lesson 9: Analog Signal Processing with the Raspberry Pi

  • Voltage Dividers
  • Analog Input on the Raspberry Pi
  • Integrated Circuits (IC)
    • IC Datasheets
    • IC Pin Numbering
    • IC Pinouts
    • ESD and IC Handling Precautions
  • Digital Communication
    • The MCP3008 A/D Converter
  • Activities:
    • Activity #1: Connecting the MCP3008
    • Activity #2: Reading a Value from the MCP3008
    • Activity #3: Adding a Voltage Divider
    • Activity #4: Updating the Raspberry Pi’s Software


Lesson 10: Potentiometers, Phototransitors, and Advanced List Commands

  • Variable Resistors
  • Light Sensors
  • Advanced List Commands
    • Creating a List Using the Split Command
    • Adding Items to a List
    • Finding Items in a List
    • Determining if an Item is Part of a List
    • Finding the Length of a List
    • Sorting a List
    • Printing all Items in a List Along with Their Index Values
    • Removing Items from a List
    • Clearing All Items from a List
  • Activities
    • Activity #1: Adding the Potentiometer and Phototransistor
    • Activity #2: Incorporating the LED as an Indicator
    • Activity #3: Working with Lists


Lesson 11: RFID Systems

  • RFID Technology
    • How RFID Works
    • RFID for Access Control
    • Security Concerns for RFID
    • MFRC522 Tag Reader
    • RFID Tags
      • Reading Text from the RFID Tag
  • Removing Trailing Spaces in Python
  • Determining Program Type: Python Code SHEBANG or #!
  • Reading and Writing Tags
  • Activities:
    • Activity #1: Adding the RFID Reader and Software
    • Activity #2: Reading and Writing Tags
    • Activity #3: Creating an Access Control Program


Lesson 12: RFID II

  • Using a File for Input
    • Input File Types and Formatting
    • Opening a File in Your Program
    • Reading Values from a File
  • Multithreaded Operation
    • Important Notes About Multithreaded Operation
  • Formatting and Displaying Time and Date
  • Breaking Out of a Loop
  • Activities:
    • Activity #1: Read an External File in Python
    • Activity #2: Tag Reader Indicator
    • Activity #3: Adding Date and Time Messages


Lesson 13: Level Shifting and Infrared Sensors

  • Signal Level Shifting
    • Hardware Level Shifting
  • Infrared (IR) Obstacle Sensor
    • Alignment of Obstacle Sensors
  • Infrared Line Sensor
    • Alignment of Line Sensors
  • Activities
    • Activity #1: Level Shifter and the RGB LED
    • Activity #2: Adding the IR Obstacle Sensor
    • Activity #3: Adding the IR Line Sensor


Lesson 14: Ultrasonic Range Sensing and NUMPY

  • Ultrasonic Rangefinders
    • Ultrasonic Signals
    • Finding Range with an Ultrasonic Sensor
    • Using Distance Information in Programs
    • Error Handling
  • NumPy
  • Integers and Floats
  • Printing with Notation
  • Activities:
    • Activity #1: Adding the Ultrasonic Range Sensor
    • Activity #2: Creating a Program to Read Ranges
    • Activity #3: Averaging the Range Values Using NumPy
    • Activity #4: Adding the RGB LED as a Distance Indicator


Lesson 15: I2C and Temperature Sensing

  • I2C Communication
    • I2C Addressing
    • Enabling I2C on the Raspberry Pi
    • List of I2C Devices
    • Detecting Attached I2C Devices
  • The BMP280 Temperature Sensor
    • BMP280 Wiring
    • BMP280 Commands
    • Temperature Conversion
  • The WGET Command
  • Running Modules as Imports vs Directly
  • The SYSTEMEXIT() Command
  • Activities:
    • Activity #1: Enabling the I2C Interface
    • Activity #2: Adding the BMP280 Temperature Sensor
    • Activity #3: Creating a Program to Display Temperature
    • Activity #4: Adding the RGB LED to Indicate Temperature


Lesson 16: OLED I2C Display

  • OLED Display Hardware
    • Resolution and Pixels
    • OLED Technology
    • I2C Communication
  • SSD1306 Display Driver
    • Required Modules
    • Size Configuration
    • Starting the Display
    • Variables that Simplify Communication with the Display
    • Drawing on the Display
  • Unicode Characters
  • Activities
    • Activity #1: Modify the Circuit
    • Activity #2: Create a Program to Display Text
    • Activity #3: Modify the Program to Display Sensor Information


Lesson 17: Capacitive Touch Sensor

  • Capacitors
    • Construction
    • Current Limiting
    • Charge Time
      • Calculating Charge Time
    • Parallel vs. Series
  • Capacitive Touch Sensor
  • Male-to-Female Jumper Wires
  • GPIO Pin Level Sensing
  • Activities:
    • Activity #1: Powering a Circuit Using a Capacitor
    • Activity #2: Measuring Capacitor Discharge Time
    • Activity #3: Using the Capacitive Touch Sensor


Lesson 18: Range Sensing Game (Final Project)

  • Level Shifting with Resistors
  • Absolute Value in Python
  • Modifying a File for Import Use
  • Activities:
    • Activity #1: Modifying Ultrasonic.py
    • Activity #2: Adding the Ultrasonic Range Sensor
    • Activity #3: Building the Range Game




Older Post
Newer Post
Close (esc)

Popup

Use this popup to embed a mailing list sign up form. Alternatively use it as a simple call to action with a link to a product or a page.

Age verification

By clicking enter you are verifying that you are old enough to consume alcohol.

Search

Your cart is currently empty.
Shop now