Управление машинкой arduino и nrf24l01
- Войдите на сайт для отправки комментариев
Втр, 15/04/2014 - 12:56
Добрый день. Только начинаю осваивать arduino. Решал собрать машинку на управлении. Как управлять сервой разобрался, но никак не получается управлять мотором. Может кто подскажет?
Управление сервой передатчик:
#include <SPI.h> #include "RF24.h" int msg[1]; //Контакты от радиомодуля NRF24L01 подключаем к пинамнам -> Arduino //SCK -> 13//MISO -> 12//MOSI -> 11//CSN -> 10//CE -> 9 // Set up nRF24L01 radio on SPI bus plus pins 9 & 10 RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; // адрес канала передачи int potpin = 0; // подключаем ось У, руль int val; // хранит значение считываемое с 0 пина void setup(void){ radio.begin(); radio.openWritingPipe(pipe); // Открываем канал передачи } void loop(void){ val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 65, 145); // scale it to use it with the servo (value between 0 and 180) msg[0] = val; }
Управление сервой приемник:
#include <Servo.h> #include <SPI.h> #include "RF24.h" Servo myservo; // create servo object to control a servo //Контакты от радиомодуля NRF24L01 подключаем к пинамнам -> Arduino //SCK -> 13//MISO -> 12//MOSI -> 11//CSN -> 10//CE -> 9 // Set up nRF24L01 radio on SPI bus plus pins 9 & 10 RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; // адрес канала int msg[1]; void setup() { // Serial.begin(9600); myservo.attach(3); // attaches the servo on pin 3 to the servo object radio.begin(); radio.openReadingPipe(1,pipe); // Открываем один из 6-ти каналов приема radio.startListening(); // Начинаем слушать эфир } void loop() { if (radio.available()){ bool done = false; while (!done){ done = radio.read(msg, 1); myservo.write (msg[0]); } } }
Вопрос в том как добавить управление мотором в этот скетч?
а, совсем забыл регуль для двигателя сделан из начинки от сервопривода
ну так и подключай как еще одну серво, на чем затык? В массиве укажи 2 переменные, и распиши так же как с одной у тебя расписано.
В программировании не силен, не могли бы подсказать как в массиве две переменные указать? и как массив передать?
посмотрите здесь
http://arduino.ru/forum/programmirovanie/nrf24l01?page=7#comment-40323
спасибо большое
По примемар написал вот это:
При компилировании выдает ошибку conflicting declaration "int msg[2];"
Что я сделал не так
Могу предположить что переменная msg уже объявлкна раньше.
Так же я не вижу объявления переменной val
Спасибо Вам большое. Скомпилировалось
Когда напишу код для приемника,если Вас не затруднит сможете посмотреть тоже?
Приемник
Добрые люди помогли)) Вот рабочий код, может кому то пригодится
Передатчик
Приемник:
Вы бы кинули лучше ссылку на тему форума где код взяли там подробней про подключение расписано:)
http://forum.amperka.ru/threads/arduino-%D0%B8-nrf24l01-%D0%BD%D1%83%D0%B6%D0%BD%D0%B0-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C-%D1%81-%D0%BA%D0%BE%D0%B4%D0%BE%D0%BC.2937/page-2
Прошу прощения.
А что нужно подправить в коде, чтобы использовать l298n для двигателя?