Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
что это значит, так это то, что вы можете сделать так, чтобы если он ударил один из бамперов на роботе, он развернулся и отвернулся от объекта.
Шаг 1. Получите материалы
вам понадобятся 3 палочки для мороженого, картон, горячий клей, четыре провода и фольга.
дополнительный материал, который вы можете использовать, это малярный скотч, если вы хотите удалить его позже
Шаг 2: разрезать эскимо
для этого вы берете эскимо и разрезаете его пополам с помощью кусачков, или вы можете попытаться сломать его пополам, что будет не так гладко.
Шаг 3: приклейте картон
Если у вас есть малярный скотч, оберните его вокруг небольшого столба, затем приклейте небольшой кусок картона к обоим столбам.
Шаг 4: приклейте фольгу к эскимо
оберните фольгой два провода и приклейте ее к концам большого эскимо, и убедитесь, что провода заземлены.
сделайте то же самое с другим эскимо и подключите его резистором
теперь соедините первое эскимо и картон, который был наклеен на полюса.
Шаг 5: приклеиваем картон
возьмите небольшой тонкий кусочек картона и сложите его, приклейте одну его часть к середине одного эскимо, затем вторую. после этого приклейте разорванное пополам эскимо на концы 2-го эскимо, затем приклейте картон к концам маленьких фруктовых мороженых
После этого убедитесь, что фольга на втором эскимо обращена к первому, чтобы при соприкосновении действовать как бампер и отодвигаться.
Шаг 6: (Необязательно) Обрежьте провода, чтобы организовать их
при желании можно отрезать провода, чтобы они стали меньше и чтобы они выглядели более организованными, вы можете отрезать их кусачком по своему вкусу.
Шаг 7: сам код
'{$ STAMP BS2}
'{$ PBASIC 2.5}
temp VAR Byte RunStatus DATA $ 00
READ RunStatus, temp temp = ~ temp ЗАПИСАТЬ RunStatus, temp IF (temp> 0) THEN END '-------------- Контакты ввода / вывода ----------- ------------- LMotor PIN 13 RMotor PIN 12 '-------------- Константы --------------- ------ LStop CON 750 RStop CON 750 '-------------- Переменные --------------------- X VAR Word Turn VAR Word '-------------- Основная программа -----------------------
ДЕЛАТЬ
ГОСУБ Форвард
ЕСЛИ (IN9 = 0) AND (IN10 = 0) THEN HIGH 14 HIGH 3 GOSUB ReverseTurn PAUSE 50 LOW 14 LOW 3 ENDIF
ЕСЛИ (IN9 = 0) ТОГДА ВЫСОКАЯ 14 GOSUB ReverseTurnRight PAUSE 50 LOW 14 ENDIF IF (IN10 = 0) THEN HIGH 3 GOSUB ReverseTurnLeft PAUSE 50 LOW 3 ENDIF LOOP
КОНЕЦ
'************************************************ ******* 'следующий код используется ДЛЯ бамперов' ********************************* ***********************
'------------------------------------------------- --- 'это чтобы бампер сдвинулся вперед' ------------------------------------ ---------------- Вперед: ДЛЯ X = от 0 до 25 'Вперед на бит PULSOUT LMotor, 850 PULSOUT Rotor, 650 PAUSE 20 NEXT RETURN
'------------------------------------------------- --- 'это когда оба бампера задеты' -------------------------------------- -------------- Обратный поворот: ДЛЯ X = от 0 до 25 футов НАЗАД 20 см PULSOUT LMotor, 850 PULSOUT R Motor, 650 PAUSE 20 NEXT FOR X = от 0 до 25 'Поверните налево на 60 градусов PULSOUT LMotor, 650 PULSOUT R Motor, 850 PAUSE 20 NEXT FOR x = от 0 до 50 PULSOUT L Двигатель, 850 PULSOUT R Motor, 850 PAUSE 20 NEXT RETURN
'------------------------------------------------- --- 'этот код используется для поворота назад и поворота налево при ударе правого бампера' ------------------------------ ---------------------- ReverseTurnLeft: ДЛЯ X = от 0 до 25 'ОБРАТНЫЙ 20 см PULSOUT L Двигатель, 850 PULSOUT R Двигатель, 650
ПАУЗА 20 СЛЕДУЮЩАЯ ДЛЯ X = от 0 до 25 футов, обратный PULSOUT L Двигатель, 650 PULSOUT R, 850 ПАУЗА 20 СЛЕДУЮЩИЙ ДЛЯ X = от 0 до 50 'Поворот вправо на 45 градусов PULSOUT L Двигатель, LStop PULSOUT R Двигатель, 850 ПАУЗА 20 СЛЕДУЮЩИЙ ВОЗВРАТ
'------------------------------------------------- --- 'этот код используется, чтобы ОБРАТИТЬСЯ И повернуть направо при ударе левого бампера' ------------------------------ ---------------------- REVERSETurnRight: ДЛЯ X = от 0 до 25 'НАЗАД 20см PULSOUT LMotor, 850 PULSOUT Rotor, 650 PAUSE 20 NEXT ДЛЯ X = от 0 до 25 'reverse PULSOUT LMotor, 650 PULSOUT RMotor, 850 PAUSE 20 NEXT FOR X = от 0 до 50' Поверните налево на 45 градусов PULSOUT LMotor, 650 PULSOUT Rotor, RStop PAUSE 20 NEXT RETURN
'*********************************************** ******* «Конец процедур» ************************************** ******************
Шаг 8: объяснение кода
что это за код, так это то, что он показывает, как робот будет действовать в соответствии с бамперами, например: код "reverseturnleft" - это когда правый бампер ударяется, и он заставляет его повернуть назад и повернуть налево.
"обратный поворот вправо" - это когда левый бампер ударяется и заставляет его повернуть назад и повернуть направо.
"reverseboth" - это когда оба бампера ударяются и заставляют его реверсировать и поворачивать по-разному.
термины «низкий» и «высокий» полезны только в том случае, если вы используете светодиоды в своем роботе, они означают, что определенный свет будет слабым или высоким.
Шаг 9: конечный продукт
конечный продукт должен выглядеть примерно так, как на картинке ниже