Merge pull request 'dev' (#35) from dev into main

Reviewed-on: #35
This commit is contained in:
2025-10-31 11:58:01 +00:00
2 changed files with 39 additions and 69 deletions

View File

@@ -1,33 +0,0 @@
from pybricks.hubs import PrimeHub
from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor
from pybricks.parameters import Button, Color, Direction, Port, Side, Stop
from pybricks.robotics import DriveBase
from pybricks.tools import wait, StopWatch
from pybricks.tools import run_task, multitask
hub = PrimeHub()
left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE)
right_motor = Motor(Port.B)
left_arm = Motor(Port.C, Direction.COUNTERCLOCKWISE)
right_arm = Motor(Port.D)
drive_base = DriveBase(left_motor, right_motor, wheel_diameter=68.8, axle_track=180)
drive_base.settings(600,500,300,200)
drive_base.use_gyro(True)
async def main():
await drive_base.straight(200)
await drive_base.turn(-20)
await drive_base.straight(536)
await drive_base.turn(60, Stop.HOLD)
await drive_base.straight(30)
await right_arm.run_angle(5000,3000)
await drive_base.straight(40)
await right_arm.run_angle(5000,-4000)
await drive_base.straight(-60)
await drive_base.turn(-60)
await drive_base.straight(-670)
run_task(main())

View File

@@ -14,7 +14,7 @@
## Project Overview
Welcome to the official code repository for **Team 65266 Lego Dynamics**! This repository contains all the Pybricks code powering our robot through the UNEARTHED season missions. Our modular approach allows for flexible mission execution and quick color-sensor-based run selection.
Welcome to the official code repository for **Team 65266 - Lego Dynamics**! This repository contains all the Pybricks code powering our robot through the UNEARTHED season missions. Our modular approach allows for flexible mission execution and quick color-sensor-based run selection.
---
@@ -26,8 +26,8 @@ Welcome to the official code repository for **Team 65266 Lego Dynamics**! This r
|-----------|--------------|
| **Robot Name** | Optimus Prime III |
| **Firmware** | Pybricks |
| **Attachment Motors** | 2× Large Motors (Ports C & D) |
| **Drive Motors** | 2× Small Motors (Ports A & B) |
| **Attachment Motors** | 2x Large Motors (Ports C & D) |
| **Drive Motors** | 2x Small Motors (Ports A & B) |
| **Sensors** | Up-facing Color Sensor (Quick Start) |
| **Attachments** | Multiple mission-specific tools |
@@ -46,10 +46,10 @@ Our codebase is organized for maximum efficiency and modularity:
```
Repository
┣ run_1.py # Individual mission runs
┣ run_2.py # Each file = 1+ mission completions
┣ run_2.py
┣ run_3.py
┣ ...
┗ master.py # 🎯 Combined master file with color-start logic
┗ masterFile.py # 🎯 Combined master file with color-start logic - this changes periodically as we release new versions. Check this README if you are unsure what code should be loaded on the robot.
```
### Workflow
@@ -61,34 +61,45 @@ Repository
## How to Use
### Installation & Deployment
### Installation & Deployment - from the server - everyday
1. **Load the Code**
```bash
# Open the master.py file in Pybricks IDE
```
1. Download the file codes_for_scrimmage/hazmat/mainhazmatUPD.py
- You can do this through the repo, by using cURL, or by using git.
- Repo - Go to [codes_for_scrimmage/hazmat/mainhazmatUPD.py](codes_for_scrimmage/hazmat/mainhazmatUPD.py) and click the "Download" button.
- cURL or another HTTP data transferrer -
2. **Connect to Robot**
- Pair your robot via Bluetooth in Pybricks
```curl -o mainhazmatUPD.py https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/main/codes_for_scrimmage/hazmat/mainhazmatUPD.py```
- git CLI -
3. **Upload to Robot**
- Click "Download and Run" or send the program to the robot
```git clone -b dev https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed.git && cd solutions_season_unearthed/codes_for_scrimmage/hazmat```
Then use mainhazmatUPD.py.
2. Open https://code.pybricks.com/ and select the "Import a file" button on the top of the left bar. Import the .py file. Pair your robot via Bluetooth in Pybricks by selecting the Bluetooth button.
- Import button looks like this:
![alt text](https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/do-not-merge/import.png)
- Bluetooth button looks like this:
![alt text](https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/do-not-merge/bluetooth.png)
3. **Upload to Robot** - Click "Download and Run" or send the program to the robot
- Run button looks like this: ![alt text](https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/do-not-merge/run.png)
4. **Start Your Run**
- Hold a colored LEGO brick up to the color sensor
- Different colors trigger different mission runs!
- If starting without Pybricks, press the center circular button on the SPIKE Prime Hub to start the program.
- Hold a colored LEGO brick up to the color sensor.
- Different colors trigger different mission runs - color mapping is below.
### Color Start System
| Color | Mission | Celebration Sound |
|-------|-----------|------------------|
| Green 🟩 | Run 1 | Victory Fanfare |
| White ⚪ | Run 2 | Rickroll Inspired |
| Yellow 🟨 | Run 3 | Success Chime |
| Orange 🟧 | Run 4 | Power Up |
| Blue 🟦 | Run 5 | Power Up |
| Red 🟥 | Run 6 | Ta-Da! |
> **Tip** Organize your colored bricks before the match for quick run selection!
| Color | Mission |
|-------|-----------|
| Green 🟩 | Run 1 |
| Purple 🟪 | Run 2 |
| Red 🟥| Run 3 |
| Yellow 🟨| Run 4 |
| Blue 🟦| Run 5 |
| Orange 🟧| Run 6 |
---
@@ -114,9 +125,7 @@ Team members can contribute by:
**GNU General Public License v3.0**
```
You can take inspiration from our code, but you can't take our exact code.
```
This project is licensed under GPL-3.0 - see the [LICENSE](LICENSE) file for complete details.
@@ -130,14 +139,8 @@ This project is licensed under GPL-3.0 - see the [LICENSE](LICENSE) file for com
## Contact & Support
**Team 65266 Lego Dynamics**
**Team 65266 - Lego Dynamics**
Questions about our approach? Interested in collaboration? Reach out!
---
<div align="center">
Star this repo if you found it helpful!
</div>
---