У меня есть Ардуино с Адафрутом Моторным щитом как часть моего робота. Я хочу запускать двигатели одновременно, я играю тон на пьезоэлементе.Как «подделать» многозадачность на 8-битный процессор?
Проблема в том, что я не совсем знаю, как подделать/имитировать многозадачность в моем коде. Я пытался что-то вроде этого:
void goForward(int duration) {
for (int i; i<duration; i++) {
tl.run(FORWARD);
tr.run(BACKWARD);
bl.run(FORWARD);
br.run(BACKWARD);
counter++;
if (counter%4==0) {
piezo != piezo;
}
delay(1);
}
}
Это запускает двигатели, однако это не создает тон на моем пьезоэлементе. Что было бы лучшим способом запрограммировать это так, чтобы пьезо мог быть включен/выключен с частотой 440 Гц, когда команды двигателя запущены?
Хм ... проблема в том, что моторный щит использует оба таймерных прерывания. –
Затем найдите внешний зуммер с фиксированной частотой, который будет генерировать звук при подаче простого сигнала ON. – avra