Шасси с моторами и редукторами, Arduino UNO, L298N, для робота, автомобиля
Arduino Car можно использовать как платформу для создания автомобиля управляемого по программе или с помощью радиоуправления, а так же как платформу для создания роботов. Версия 2, удешевленная.
Ардуино мобиль собран из двух моторов постоянного тока с редукторами по схеме 4WD. Трансмиссия на колеса осуществляется с помощью ременной передачи. Управляет Ардуино мобилем модуль Arduino UNO по программе написанной на языке Си для Ардуино. В качестве драйвера моторов используется микросхема L298N - двухканальный реверсивный драйвер моторов. Шасси выполнено из поликарбоната (органического стекла) толщиной 2 мм. Питание всех узлов шасси осуществляется от батареи на 9 Вольт (6хАА).
Arduino Car с подпрограммами реализующими простые действия такие как "вперед", "назад", "поворот" можно рекомендовать младшим школьникам для знакомства с программированием.
Пример программы на Си.
// Скорость от 60 до 250, от 90 до 250 только кратковременно void setup() { delay (8000); DDRD = 0b10110100; forward (70); delay (3000); left (100); delay (750); back(70); delay (2000); forward (70); delay (4000); back(70); delay (2500); right (110); delay (950); back (75); delay (3000); sleep(); } void loop() { } void forward (int S) { // Левый канал digitalWrite (5, 1); analogWrite (6, S); digitalWrite (7, 0); // Правый канал digitalWrite (2, 1); analogWrite (3, S); digitalWrite (4, 0); } void back (int S) { // Левый канал digitalWrite (5, 0); analogWrite (6, S); digitalWrite (7, 1); // Правый канал digitalWrite (2, 0); analogWrite (3, S); digitalWrite (4, 1); } void left (int S) { // Левый канал digitalWrite (5, 0); analogWrite (6, S); digitalWrite (7, 1); // Правый канал digitalWrite (2, 1); analogWrite (3, S); digitalWrite (4, 0); } void right (int S) { // Левый канал digitalWrite (5, 1); analogWrite (6, S); digitalWrite (7, 0); // Правый канал digitalWrite (2, 0); analogWrite (3, S); digitalWrite (4, 1); } void sleep () { // Левый канал digitalWrite (5, 0); analogWrite (6, 0); digitalWrite (7, 0); // Правый канал digitalWrite (2, 0); analogWrite (3, 0); digitalWrite (4, 0); }