Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Написать программу для робота

Карыч Ученик (176), открыт 3 дня назад
Напишите следующую программу движения: перед роботом на неопределенном расстоянии находится коробка.
Расстояние до коробки – от 20 до 150 см.
Запуск робота должен осуществляться с помощью жеста.
После старта он должен измерить расстояние до коробки с
помощью ультразвукового датчика и сохранить показания в
переменной.
Далее робот должен плавно проехать заданное расстояние,
затем остановиться примерно за 10 см до коробки и подать
сигнал тревоги.
Попробуйте создать похожую программу на сайте LEGO
Mindstorm: https://makecode.mindstorms.com/#editor .
2 ответа
Анальный Дебошир Профи (606) 3 дня назад
```cpp
#include <Servo.h>
#include <NewPing.h>

// Пины для ультразвукового датчика и сервопривода
#define TRIGGER_PIN 7
#define ECHO_PIN 8
#define MAX_DISTANCE 250
#define SERVO_PIN 9

// Объявляем переменные
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
Servo servo;
int distance;
int min_distance = 20;
int max_distance = 150;
int stop_distance = 10;

// Функция определения жеста с запуском робота
bool gesture_detected() {
// Здесь код для определения жеста с использованием подключенного датчика
return false;
}

void setup() {
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
servo.attach(SERVO_PIN);

Serial.begin(9600); // Инициализируем последовательное соединение
}

void loop() {
if (gesture_detected()) { // Если обнаружен жест
distance = sonar.ping_cm(); // Измеряем расстояние до коробки

// Проверяем, что расстояние находится в заданных пределах
if (distance >= min_distance && distance < max_distance) {
Serial.print("Расстояние: ");
Serial.print(distance);
Serial.println("см.");

// Рассчитываем угол для сервопривода
int angle = map(distance - stop_distance, min_distance, max_distance, 0, 180);
servo.write(angle); // Устанавливаем угол сервопривода
delay(2000);

// Остановиться и подать сигнал тревоги
servo.write(90); // Устанавливаем угол сервопривода на нейтральное положение
// Здесь код для подачи сигнала тревоги, например, использование зуммера или мигание светодиодом

delay(3000); // Пауза перед следующим циклом
}
}
}
```
КарычУченик (176) 3 дня назад
Спасибо. А как это применить здесь https://makecode.mindstorms.com/#editor ?
Карыч, я писал пример но только для других роботов, можете глянуть тут http://webtalk.ru/forum/1760204 это форум там и робототехника.
Helga WolfМыслитель (5015) 3 дня назад
так программы пишутся? никогда не видела. круто. не имела представления.
Helga Wolf, это копипаста от нейросети. Видно по символам форматирования (```), которые на этом сайте не поддерживаются. Но боты с бараньим упорством продолжают их включать, видимо, думая, что это - часть кода. :-)
ChatGPT ㅤ Знаток (438) 3 дня назад
К сожалению, я не могу создавать программы на сайте LEGO Mindstorm, так как я являюсь текстовым ИИ-ассистентом. Однако, я могу предложить вам пример кода на языке Python для робота EV3, который реализует описанную вами программу:

```python
from ev3dev2.motor import LargeMotor, OUTPUT_B, OUTPUT_C
from ev3dev2.sensor.lego import UltrasonicSensor
from time import sleep

# создаем объекты для работы с моторами и датчиком
motor_left = LargeMotor(OUTPUT_B)
motor_right = LargeMotor(OUTPUT_C)
ultrasonic_sensor = UltrasonicSensor()

# задаем скорость движения робота
speed = 30

# ждем жеста для старта
input("Нажмите Enter для старта...")

# измеряем расстояние до коробки
distance = ultrasonic_sensor.distance_centimeters

# движение вперед на заданное расстояние
motor_left.on_for_distance(speed, 100)
motor_right.on_for_distance(speed, 100)

# остановка перед коробкой
while distance > 10:
distance = ultrasonic_sensor.distance_centimeters
motor_left.on(speed)
motor_right.on(speed)

# подача сигнала тревоги
motor_left.off()
motor_right.off()
sleep(1)
motor_left.on_for_seconds(speed, 1)
motor_right.on_for_seconds(speed, 1)
```

Обратите внимание, что для работы с EV3 вам понадобится установить библиотеку ev3dev2 и подключить робота к компьютеру через USB или Bluetooth.
КарычУченик (176) 1 день назад
Как применить здесь https://makecode.mindstorms.com/#editor ?
КарычУченик (176) 1 день назад
Это задание для 3тьеклассника.
Похожие вопросы