Ви не увійшли.
Сторінки 1
Детали:
Есть такой интернет-магазин Arduino.org.ua Запускал его, т.к. в моем городе Винница не было ни у кого ничего в наличии, а такие, как я любители Ардуино были. Это было доп. заработком (хобби если угодно), но не основной работой.
Магазин мне делал друг, который этим промышляет. Магазин работает классно, заказы, базы, все дела. Все очень просто и удобно.
Сейчас меняю основную работу, времени на магазин уже не будет и у меня 2 варианта: отдать кому-то магазин или собирать пять дней заказы и делать отправку только по выходным, что явно не комильфо для магазина.
Решил скинуть предложение сюда. Суть предложения: Меня интересуют только деньги за товар по себестоимости, плюс 100$ за работу другу. Он поможет поменять все телефоны,почту и другие настройки под ваши требования.
Магазин будет работать до 16.11.2018, потом либо закрою, либо поставлю баннер об обработке заказов на выходных.
Никаких торгов не будет. Дешевле себестоимости не отдам.
Желательно отдать человеку из Винницы - так проще переучет сделать, или вам нужно будет приехать. Товара в суммарном объеме где-то 2 рюкзака. В деньгах еще не считал. Весь товар на сайте в наличии плюс идет посылка на 40$ (покинула Китай, будет дней через 10).
Можете писать вопросы здесь или звонить по телефону указанному на сайте.
Администрацию прошу не ругаться - это не совсем продажа, а скорее форс-мажор у Ардуинщика. )))
нашел старую наработку, но я ее не проверял
пример кода, как по векторам ездить разберетесь сами,
Спасибо. Пока страшно смотреть на такой большой код , но в длинной перспективе думал об этом.
на "всякий" случай код передатчика:
/*
4 серво + 3 реле
Реле срабатывают в зависимости от положения джостика 1 по оси У
*/
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
RF24 radio(9, 10); // "создать" модуль на пинах 9 и 10 Для Уно
byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"}; //возможные номера труб
#define JOYSTICK_1_X A0
#define JOYSTICK_1_Y A1
#define JOYSTICK_2_X A2
#define JOYSTICK_2_Y A3
#define POTENT_KT803 A4
byte button = 3; // кнопка на 3 цифровом (фара)
byte transmit_data[6]; // массив, хранящий передаваемые данные
byte latest_data[6]; // массив, хранящий последние переданные данные
boolean flag; // флажок отправки данных
void setup() {
Serial.begin(9600); //открываем порт для связи с ПК
pinMode(button, INPUT_PULLUP); // настроить пин кнопки
radio.begin(); //активировать модуль
radio.setAutoAck(1); //режим подтверждения приёма, 1 вкл 0 выкл
radio.setRetries(0, 15); //(время между попыткой достучаться, число попыток)
radio.enableAckPayload(); //разрешить отсылку данных в ответ на входящий сигнал
radio.setPayloadSize(32); //размер пакета, в байтах
radio.openWritingPipe(address[0]); //мы - труба 0, открываем канал для передачи данных
radio.setChannel(0x60); //выбираем канал (в котором нет шумов!)
radio.setPALevel (RF24_PA_MAX); //уровень мощности передатчика. На выбор RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX
radio.setDataRate (RF24_250KBPS); //скорость обмена. На выбор RF24_2MBPS, RF24_1MBPS, RF24_250KBPS
radio.powerUp(); //начать работу
radio.stopListening(); //не слушаем радиоэфир, мы передатчик
}
void loop() {
transmit_data[0] = !digitalRead(button); // инвертированный (!) сигнал с кнопки
transmit_data[1] = map(analogRead(JOYSTICK_1_X), 0, 1023, 60, 120); // значение право/лево руля
transmit_data[2] = map(analogRead(POTENT_KT803), 0, 1023, 10, 160); // регулятор мощности малого хода KT803
transmit_data[3] = map(analogRead(JOYSTICK_2_X), 0, 1023, 0, 255); // выгруз левый/правый
transmit_data[4] = map(analogRead(JOYSTICK_1_Y), 0, 1023, 0, 255); // полный/малый вперед + малый назад катера
transmit_data[5] = map(analogRead(JOYSTICK_2_Y), 0, 1023, 0, 255); // запасной
for (int i = 0; i < 6; i++) { // в цикле от 0 до числа каналов
if (transmit_data[i] != latest_data[i]) { // если есть изменения в transmit_data
flag = 1; // поднять флаг отправки по радио
latest_data[i] = transmit_data[i]; // запомнить последнее изменение
}
}
if (flag == 1) {
radio.powerUp(); // включить передатчик
radio.write(&transmit_data, sizeof(transmit_data)); // отправить по радио
flag = 0; //опустить флаг
radio.powerDown(); // выключить передатчик
}
}
Народ, всем привет.
Благодоря интернетам и чужим скетчам смог за 2 месяца собрать радиоуправление на свой карповый кораблик. Все работает как мне того хотелось, но нет гарантии, что мой кораблик не уйдет за горизонт, при пропадании связи. Мотор управляется простым замыканием реле. (Не хочу ШИМ - хочу реле!)
Если возможно подскажите, как можно сделать, чтоб при пропадании (сбое) связи в моем скетче пины 6,7,8 принимали значение HIGH
Естесно я новичок. Уже перепробовал все, что мне могло в голову прийти, а результата 0.
Код приемника:
/*
4 серво + 3 реле
Реле срабатывают в зависимости от положения джостика 1 по оси У на передатчике
*/
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include <Servo.h>
RF24 radio(9, 10); // "создать" модуль на пинах 9 и 10 Для Уно
//RF24 radio(9,53); // для Меги
byte recieved_data[6]; // массив принятых данных
byte servo_ruly = 2; // сервопривод на 2 цифровом (право/лево руля)
byte kt803 = 3; // сервопривод на 3 цифровом (регулятор мощности)
byte servo_left = 4; // сервопривод на 4 цифровом (выгруз левый)
byte servo_right = 5; // сервопривод на 5 цифровом (выгруз правый)
byte rele1 = 6; // реле на 6 цифровом (полный вперед катера)
byte rele2 = 7; // реле на 7 цифровом (малый вперед катера)
byte rele3 = 8; // реле на 8 цифровом (малый назад катера)
//byte relay = ?; // реле на ? цифровом (запасной на фару, если возьму мегу)
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"}; //возможные номера труб
void setup() {
Serial.begin(9600); //открываем порт для связи с ПК
//pinMode(relay, OUTPUT); // настроить пин реле как выход
pinMode(rele1, OUTPUT); // настроить пин реле как выход
pinMode(rele2, OUTPUT); // настроить пин реле как выход
pinMode(rele3, OUTPUT); // настроить пин реле как выход
pinMode(servo_ruly, OUTPUT); // настроить пин сервопривода как выход
pinMode(kt803, OUTPUT); // настроить пин сервопривода как выход
pinMode(servo_left, OUTPUT); // настроить пин сервопривода как выход
pinMode(servo_right, OUTPUT); // настроить пин сервопривода как выход
digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
myservo1.attach(servo_ruly);
myservo2.attach(kt803);
myservo3.attach(servo_left);
myservo4.attach(servo_right);
myservo1.write(90);
myservo3.write(10);
myservo4.write(10);
radio.begin(); //активировать модуль
radio.setAutoAck(1); //режим подтверждения приёма, 1 вкл 0 выкл
radio.setRetries(0, 15); //(время между попыткой достучаться, число попыток)
radio.enableAckPayload(); //разрешить отсылку данных в ответ на входящий сигнал
radio.setPayloadSize(32); //размер пакета, в байтах
radio.openReadingPipe(1, address[0]); //хотим слушать трубу 0
radio.setChannel(0x60); //выбираем канал (в котором нет шумов!)
radio.setPALevel (RF24_PA_MAX); //уровень мощности передатчика. На выбор RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX
radio.setDataRate (RF24_250KBPS); //скорость обмена. На выбор RF24_2MBPS, RF24_1MBPS, RF24_250KBPS
//должна быть одинакова на приёмнике и передатчике!
//при самой низкой скорости имеем самую высокую чувствительность и дальность!!
radio.powerUp(); //начать работу
radio.startListening(); //начинаем слушать эфир, мы приёмный модуль
}
void loop() {
byte pipeNo;
while ( radio.available(&pipeNo)) { // слушаем эфир со всех труб
radio.read( &recieved_data, sizeof(recieved_data) ); // чиатем входящий сигнал
//digitalWrite(relay, recieved_data[0]); // подать на реле сигнал с 0 места массива то бишь 0 или 1
myservo1.write(recieved_data[1]); // повернуть серво на угол с 1 элемента массива
myservo2.write(recieved_data[2]); // повернуть серво на угол с 2 элемента массива
myservo3.write(map((recieved_data[3]), 0, 115, 10, 160)); // повернуть серво на угол с 3 элемента массива
myservo4.write(map((recieved_data[3]), 140, 255, 10, 160));// повернуть серво на угол с 3 элемента массива
if ((recieved_data[4])>=134 && (recieved_data[4])<254) // (полный вперед катера)
{
digitalWrite(rele1, HIGH);
digitalWrite(rele2, LOW);
}
else if ((recieved_data[4])>=254) // (малый вперед катера)
{
digitalWrite(rele2, HIGH);
digitalWrite(rele1, LOW);
}
else if ((recieved_data[4])<=75) // (малый назад катера)
{
digitalWrite(rele3, LOW);
}
else if ((recieved_data[4])>75 && (recieved_data[4])<134) // стоп мотор
{
digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
}
}
}
Всем спасибо.
Суть вопроса: можно ли анологовый вход А0-А5 использовать как выход в Ардуино УНО?
В одном проекте не хватает одного пина для простого реле. С 3 по 13 заняты. Еще у меня остались пины 0 и 1. Я так понял они чисто для обмена информацией используются. Пробовал прописать в коде их, не работает.
Брать Мегу не хотел, но на крайняк так и сделаю.
По вопросу понятно, что я новичок.
Добросовестно погуглил и воспользовался поиском, но найти не ответа не смог.
Буду благодарен за ссылку на какую-ту статью или тему форума.
VS, предлагаю сделать так. Кнопки просто на землю, резисторы убрать. Вам задание разобраться в скетче и запостить его сюда с комментариями что и почему.
Значится так, товарищи лекторы и экзаменаторы...
- По результатам:
Использовал скетч alex_dol. Только поменял углы: вместо -45,0,45 поставил 45,90,135. Я так догадываюсь, уно не очень хорошо поняло, что за минус. Сейчас все работает, как надо.
- По разобраться:
1) Да, да, да "недо-кодер" совсем забыл обозначить входы
2) INPUT_PULLUP - использует внутренние стягивающие резисторы, посему кнопку садим на землю, а не на 5В.
3)!digitalRead(5,6,7) - Не уверен, но думаю, что на входах постоянно единица, а при нажатии кнопки появляется ноль и тогда идет команда на серву.
- По новым вопросам:
Не понимаю, почему после перезагрузки уно, серво стартует (с нужного мне) центрального положения (90 градусов), а не ищет ноль.
Пункт 3) правильно понял?
Всем спасибо за участие. Буду рад любому замечанию.
Народ взгляните, пожалуйста, на скетч и скажите, что здесь не так (или скажите как надо).
Задача стоит такая: 3 кнопки, при нажатии на "1" - серво поворачивается на 45 градусов влево и остается до следующей команды, при нажатии "2" - становится в центральное положение, "3" - 45 градусов вправо. Что-то вроде руля.
#include "Servo.h"
Servo servoMain; // Объект Servo
void setup()
{
servoMain.attach(12); // Servo присоединен к 12 выводу
}
void loop()
{
if(digitalRead(5)==HIGH) // Условие 1-й кнопки
{
servoMain.write(-45); // Повернуть серво влево на 45 градусов
}
if(digitalRead(6)==HIGH) // Условие 2-й кнопки
{
servoMain.write(0); // Повернуть серво влево на 45 градусов
}
if(digitalRead(7)==HIGH) // Условие 3-й кнопки
{
servoMain.write(45); // Повернуть серво влево на 45 градусов
}
}
Я залил этот т.с. "код", а в результате серво бесчинствует и крутиться куда хочет или не реагирует на нажатие кнопки.
Кнопки посадил через 10кОм резисторы на землю.
Заранее спасибо.
Здравствуйте. Подскажите начинающему: Если я, к примеру, возьму один nRF24L01+ на УНО как передатчик, второй как приемник, с целью дистанционно зажигать светодиоды, то каким количеством светодиодов можно управлять?
Я так понял, что соответственно количеству аналоговых входов (6шт.), на которые можно подключать кнопки. Правильно?
Заранее благодарю.
Ура!!!
Работает!
А помог мне в этом СПИРТ! СПИРТ! СПИРТ!
Передозировка китайской канифоли на плате.
5 дней мучался, и на тебе ))).
Всем спасибо за участие.
... но заработало только с этими драйверами:
http://www.wch.cn/download/CH341SER_ZIP.html
Ставил эти дрова. Мне их китаец давал. Пишет, что все нормально встало, но не записывает скетчи.
Будьте добры, помогите с проблемой.
Купил у китайцев http://ru.aliexpress.com/item/Free-ship … 50988.html ардуинку.
Третий день не могу запустить. Пишет ошибку https://drive.google.com/file/d/0BzFjVL … sp=sharing
Пробывал разные кабеля, разные драйвера, на разных компьютерах с разными ОС, кнопку ресет во время загрузки скетча нажимал, подорожник прикладывал - ничего не помогает.
https://drive.google.com/file/d/0BzFjVL … sp=sharing
И еще: у меня светодиод "ON" и "L" при подключении к ПК горят постоянно красным.
Сторінки 1