{
  "appVersion": "0.12.0",
  "savedAt": "2026-09-30T03:48:09.706Z",
  "workspace": {
    "blocks": {
      "languageVersion": 0,
      "blocks": [
        {
          "type": "controls_whileUntil",
          "id": "mJ[$[;U+C13d/v3b]t$k",
          "x": 12,
          "y": 132,
          "fields": {
            "MODE": "WHILE"
          },
          "inputs": {
            "BOOL": {
              "block": {
                "type": "logic_boolean",
                "id": "-+E0FoCWka[+Z)xnVw~a",
                "fields": {
                  "BOOL": "TRUE"
                }
              }
            },
            "DO": {
              "block": {
                "type": "controls_if",
                "id": "hI*W4zacfzx}?HJ;p_*r",
                "extraState": {
                  "elseIfCount": 3
                },
                "inputs": {
                  "IF0": {
                    "block": {
                      "type": "logic_operation",
                      "id": "Z;KXSftw96w2koHB(Ap]",
                      "fields": {
                        "OP": "AND"
                      },
                      "inputs": {
                        "A": {
                          "block": {
                            "type": "logic_compare",
                            "id": "k6gHG`Teg*FZ?{Kfhetk",
                            "fields": {
                              "OP": "GT"
                            },
                            "inputs": {
                              "A": {
                                "block": {
                                  "type": "apm_mini_sensor",
                                  "id": "Cfn;t8^*QY/$ILRuQz6!",
                                  "fields": {
                                    "CH": "1"
                                  }
                                }
                              },
                              "B": {
                                "block": {
                                  "type": "math_number",
                                  "id": "/L4Da#nLElg.3nZu_Wg(",
                                  "fields": {
                                    "NUM": 50
                                  }
                                }
                              }
                            }
                          }
                        },
                        "B": {
                          "block": {
                            "type": "logic_compare",
                            "id": "y4uFG4+P/A)0muoSmIzQ",
                            "fields": {
                              "OP": "GT"
                            },
                            "inputs": {
                              "A": {
                                "block": {
                                  "type": "apm_mini_sensor",
                                  "id": "c`D*_ku.SG!Ru7j+:2X_",
                                  "fields": {
                                    "CH": "5"
                                  }
                                }
                              },
                              "B": {
                                "block": {
                                  "type": "math_number",
                                  "id": "SUf.%J@zwfgpC%l2j^]9",
                                  "fields": {
                                    "NUM": 50
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "DO0": {
                    "block": {
                      "type": "apm_mini_rpm",
                      "id": "2RT!Mrf^7c2Zer*KUN,E",
                      "inputs": {
                        "LEFT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "{|nPt*F982%A(I-rty,V",
                            "fields": {
                              "NUM": 30
                            }
                          }
                        },
                        "RIGHT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "*9X,XE:N{r,h;sIVt3Vx",
                            "fields": {
                              "NUM": 30
                            }
                          }
                        }
                      }
                    }
                  },
                  "IF1": {
                    "block": {
                      "type": "logic_operation",
                      "id": "5GU?}G0DITIU)?[oX#i@",
                      "fields": {
                        "OP": "AND"
                      },
                      "inputs": {
                        "A": {
                          "block": {
                            "type": "logic_compare",
                            "id": "}Gk;,KZ8E;jHMUBgSn%f",
                            "fields": {
                              "OP": "LT"
                            },
                            "inputs": {
                              "A": {
                                "block": {
                                  "type": "apm_mini_sensor",
                                  "id": "YchSp`(#xbZotK4U{4Si",
                                  "fields": {
                                    "CH": "1"
                                  }
                                }
                              },
                              "B": {
                                "block": {
                                  "type": "math_number",
                                  "id": "k.v4;IDAbbZ(Qinj9[r1",
                                  "fields": {
                                    "NUM": 50
                                  }
                                }
                              }
                            }
                          }
                        },
                        "B": {
                          "block": {
                            "type": "logic_compare",
                            "id": "u9THSCfQ_[mzaDXQX:o`",
                            "fields": {
                              "OP": "GT"
                            },
                            "inputs": {
                              "A": {
                                "block": {
                                  "type": "apm_mini_sensor",
                                  "id": "5;s=ix$9X8idgCCp4h=e",
                                  "fields": {
                                    "CH": "5"
                                  }
                                }
                              },
                              "B": {
                                "block": {
                                  "type": "math_number",
                                  "id": "d:lu=zJt/$2XJe;OfaQ+",
                                  "fields": {
                                    "NUM": 50
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "DO1": {
                    "block": {
                      "type": "apm_mini_rpm",
                      "id": "j7IpjTVmeAhkJLAgL;%8",
                      "inputs": {
                        "LEFT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "6@nZo8fh6.0JEOs`,oDA",
                            "fields": {
                              "NUM": 0
                            }
                          }
                        },
                        "RIGHT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "/ub|g=0xpz/`-%Py{CdS",
                            "fields": {
                              "NUM": 30
                            }
                          }
                        }
                      }
                    }
                  },
                  "IF2": {
                    "block": {
                      "type": "logic_operation",
                      "id": "Mdyt6n|1EI+`|g@q2M:/",
                      "fields": {
                        "OP": "AND"
                      },
                      "inputs": {
                        "A": {
                          "block": {
                            "type": "logic_compare",
                            "id": "6Dtp@e]Yx,xs4cm0b[CN",
                            "fields": {
                              "OP": "GT"
                            },
                            "inputs": {
                              "A": {
                                "block": {
                                  "type": "apm_mini_sensor",
                                  "id": "mb`0w13:a_oMI7@4wp(g",
                                  "fields": {
                                    "CH": "1"
                                  }
                                }
                              },
                              "B": {
                                "block": {
                                  "type": "math_number",
                                  "id": ",f,S~g]mrPaOK_Dg%)%)",
                                  "fields": {
                                    "NUM": 50
                                  }
                                }
                              }
                            }
                          }
                        },
                        "B": {
                          "block": {
                            "type": "logic_compare",
                            "id": "#X)#z!y]{zkEUiu]aH_c",
                            "fields": {
                              "OP": "LT"
                            },
                            "inputs": {
                              "A": {
                                "block": {
                                  "type": "apm_mini_sensor",
                                  "id": "(ApftLZz^v`gPU`%.kgZ",
                                  "fields": {
                                    "CH": "5"
                                  }
                                }
                              },
                              "B": {
                                "block": {
                                  "type": "math_number",
                                  "id": "};{p}Z[;F^1[0{YeOzS$",
                                  "fields": {
                                    "NUM": 50
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "DO2": {
                    "block": {
                      "type": "apm_mini_rpm",
                      "id": "l8Uw25nIcBfVu9wA1}-?",
                      "inputs": {
                        "LEFT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "ahal3CS{W,i-jf;{/7Z|",
                            "fields": {
                              "NUM": 30
                            }
                          }
                        },
                        "RIGHT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "djky8/5JPbb_P?jEGT2{",
                            "fields": {
                              "NUM": 0
                            }
                          }
                        }
                      }
                    }
                  },
                  "IF3": {
                    "block": {
                      "type": "logic_operation",
                      "id": "7.W]jjlf5IkpDTZ[*:u6",
                      "fields": {
                        "OP": "AND"
                      },
                      "inputs": {
                        "A": {
                          "block": {
                            "type": "logic_compare",
                            "id": "+.Bg-kox1CkVzC[!N)0G",
                            "fields": {
                              "OP": "LT"
                            },
                            "inputs": {
                              "A": {
                                "block": {
                                  "type": "apm_mini_sensor",
                                  "id": "}/@cZj6Xxs:_67#{l490",
                                  "fields": {
                                    "CH": "1"
                                  }
                                }
                              },
                              "B": {
                                "block": {
                                  "type": "math_number",
                                  "id": "s:WGA(uz2Q9wBSqVP(x$",
                                  "fields": {
                                    "NUM": 50
                                  }
                                }
                              }
                            }
                          }
                        },
                        "B": {
                          "block": {
                            "type": "logic_compare",
                            "id": "E~SQ?*XX;}ewwUZUIdV/",
                            "fields": {
                              "OP": "LT"
                            },
                            "inputs": {
                              "A": {
                                "block": {
                                  "type": "apm_mini_sensor",
                                  "id": "s`L6EvqOShB#27*gMbHg",
                                  "fields": {
                                    "CH": "5"
                                  }
                                }
                              },
                              "B": {
                                "block": {
                                  "type": "math_number",
                                  "id": "b5Z7tA}V0SIg:{OF!jx3",
                                  "fields": {
                                    "NUM": 50
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "DO3": {
                    "block": {
                      "type": "apm_mini_stop",
                      "id": "Vjb$3=o+A$::,b_]L;y|",
                      "fields": {
                        "MOTOR": "0"
                      }
                    }
                  }
                },
                "next": {
                  "block": {
                    "type": "apm_mini_wait",
                    "id": "?w)VHT?QroRfjNh0o{C`",
                    "icons": {
                      "comment": {
                        "text": "防止程序运行太快导致小失控",
                        "pinned": true,
                        "height": 80,
                        "width": 160,
                        "x": -165.0410009711371,
                        "y": 510.37964444444447
                      }
                    },
                    "inputs": {
                      "MS": {
                        "shadow": {
                          "type": "math_number",
                          "id": ";,k(R8OS^KSZZiK!H}^k",
                          "fields": {
                            "NUM": 20
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ]
    }
  },
  "python": "import light\nimport drive\nimport time\n\n\nwhile True:\n  if light.get_optical_sensor(1) > 50 and light.get_optical_sensor(5) > 50:\n    drive.drive_rpm(30, 30)\n  elif light.get_optical_sensor(1) < 50 and light.get_optical_sensor(5) > 50:\n    drive.drive_rpm(0, 30)\n  elif light.get_optical_sensor(1) > 50 and light.get_optical_sensor(5) < 50:\n    drive.drive_rpm(30, 0)\n  elif light.get_optical_sensor(1) < 50 and light.get_optical_sensor(5) < 50:\n    drive.stop_rpm(0)\n  time.sleep_ms(int(20))\n",
  "programmingMode": "blocks"
}