https://github.com/javaplus/PicoProjects Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + For + Enterprise + Teams + Startups + Education + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} javaplus / PicoProjects Public * Notifications * Fork 7 * Star 6 6 stars 7 forks Star Notifications * Code * Issues 7 * Pull requests 0 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights javaplus/PicoProjects This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 1 branch 0 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/j] Use Git or checkout with SVN using the web URL. [gh repo clone javapl] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @javaplus javaplus Update README.md ... d65d495 Jan 15, 2023 Update README.md d65d495 Git stats * 159 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time diagrams add diagram and description for f03 Jan 6, 2023 game modularization Dec 30, 2022 images add sidways pinout pic Jan 10, 2023 labs Update 15_seven_segment.md Jan 10, 2023 leds Create pwmfade.py Sep 7, 2022 models added 3d models Jan 2, 2023 reference add sidways pinout pic Jan 10, 2023 servos added class version of sg90 library Jan 2, 2023 README.md Update README.md Jan 15, 2023 View code [ ] Pico Projects Prerequisites Overview Intro to Circuits. Resistors. Variable Resistors (Photoresistor) Variable Resistor (Potentiometer) Buttons/Switches Use Code to Flash LED (First Lab with Pico and MicroPython) Working with Buttons and the Pico Pulse Width Modulation (PWM) PWM to Control Servos Threading in MicroPython Reading PhotoResistor Values Seven Segment Display Build the Laser Shooting Shark Game: References: Parts List Python: Pico: README.md Pico Projects This is our amazing introduction to basic electronics and working with the Raspberry Pi Pico microcontroller. These lessons will help you bring code to life and release your inner mad scientist! Prerequisites Basically you just need the simple Python editor called Thonny which allows you write code on your laptop and execute it on the Pico via a USB cable. USB cables will be provided just make sure you have a laptop with Thonny installed and an available USB jack on your laptop. We will have a few USB C to USB A adapters for those with only tiny ports. We will not have Mac dongles so make sure you have a way to connect a USB A cable into your laptop. Please download and install the latest version(4.x or higher) of Thonny. Download Thonny For these labs, you do NOT have to be a Python expert. You can probably get by fine without having ever done Python programming before. However, some general programming knowledge is required. As long as you are comfortable with basic programming constructs(IF/ELSE statements, For/While loops, etc...) in other languagues we will have enough of the code for you to figure out the Python bits. If you want to get a little familar with Python before coming you can check out this free tutorial get comfortable with Python. We will have code samples and links to reference materials if you just need to see how to do "normal" programming things in Python. Python Tutorial Overview We start with a basic introduction to circuits and some basic electronics. So, the first several labs only use the Pico as a power source to introduce basic circuits and some electronic components we will be working with. Without this foundational knowledge, it will be difficult to build useful solutions that integrate code and electronics. If you aren't familar with how to use a breadboard, please take a moment and look at our introduction to them before starting the labs: Introduction to Breadboards NOTE on LABS We provide working code for each lab, but you are welcome to try to code some of the stretch goals or solutions on your own once you get the hang of things. If you finish a lab quickly and see others that are struggling, your stretch goal is to help a neighbor! Intro to Circuits. Simple circuit with LED using power from Pico and turn on LED. Lab 1 Resistors. Same simple circuit from above and just add resistors to control the brightness of the LED. Lab 2 Variable Resistors (Photoresistor) Working with Light Sensitive Resistors. Also known as Photoresistors. Lab 3 Variable Resistor (Potentiometer) Use a Potentiometer to control brightness of LED. Lab 4 Buttons/Switches Introduction to using Buttons/Switches with cicuits: Lab 5 Use Code to Flash LED (First Lab with Pico and MicroPython) Finally, we will use code to light up LEDs: Lab 6 Lab 7 Working with Buttons and the Pico Use the Pico to detect when a button is pressed. Lab 8 Lab 9 Lab 10 Pulse Width Modulation (PWM) Explain PWM and use PWM to fade an LED in and out and control brightness. Lab 11 Buzzer lab with PWM. Lab 11b PWM to Control Servos Use PWM to control a servo: Lab 12 Threading in MicroPython Threading on the Pico: Lab 13 Reading PhotoResistor Values Using Analog input with the Pico: Lab 14 Seven Segment Display Seven Segment Display: Lab 15 Build the Laser Shooting Shark Game: Final Lab 01 Final Lab 02 Final Lab 03 References: Parts List * Pico, Pico H, or Pico W (Pico H is less work since it has pins soldered already) * Breadboard * Jumper Wires * LEDs * Button (push button switch) * micro USB cable * Active Buzzer * Photoresistor(5528, but others would work) * Resistors(220 Ohm, 10K Ohm) 2 of each * sg90 type mini servo * 10K Ohm Trim Potentiometer * 3D printed parts for final 3 game labs & paint stirring stick. Models Spreadsheet with Links where I ordered most parts Python: * While loops * for loops * if statements * time calculations/deltas Pico: * Pico GPIO Pinout * MicroPython RP Pico Library * RP2040 Datasheet About No description, website, or topics provided. Resources Readme Stars 6 stars Watchers 4 watching Forks 7 forks Releases No releases published Packages 0 No packages published Contributors 3 * @javaplus javaplus Barry * @barthba barthba * @cyclump cyclump Languages * Python 100.0% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.