roboforum.ru

Технический форум по робототехнике.

Вопросы новичка.

Re: Вопросы новичка.

Angel71 » 19 фев 2017, 22:30

беситься как раз вы будете, причём годами, постоянно спотыкаясь на таких примитивных проблемках.

Re: Вопросы новичка.

Dmitry__ » 19 фев 2017, 22:48

Опять ангел развлекается на неокрепших мозгах :)
Кому он наф нужен этот с+++++++++ в полном обьеме? Ангел - жертва мелкософтопроекта. Щаз еще начнет си шарп рекламировать...

Re: Вопросы новичка.

Angel71 » 19 фев 2017, 23:45

точно, это же слишком сложно. проще продолжать чудить, тужась сделать что-то на подобии подстановки в цикле циферок к именам констант.

Re: Вопросы новичка.

Dmitry__ » 19 фев 2017, 23:55

Ангел, ну что ты докопался до человека? Он контроллер видит 5-й день и уже во всю моргает светиками.
Узбагойся, прими узбакоительного :)

Re: Вопросы новичка.

Angel71 » 20 фев 2017, 00:10

т.е. хочешь что бы он как slom, GrayHunter и куча таких же и через пару лет на том же уровне остался? :) прям душка, попкорн сильно любищь.

Re: Вопросы новичка.

Dmitry__ » 20 фев 2017, 00:20

А ты хочешь из него за 2 года сделать монстра программиста? Может ему надо это только для обучения деток :)
Вот если за 2 года неасилит, тогда и достанем пистолеты и пристрелим, чтоб не мучился, чиста в гуманных целях :D

Re: Вопросы новичка.

Angel71 » 20 фев 2017, 00:34

да ничего от него не хочу, просто опять ступил, намекнув, что продолжать в таком духе это бесперспективняк. :) каюсь, был не прав, прикалывайтесь дальше.

Re: Вопросы новичка.

Madf » 20 фев 2017, 12:16

Dmitry__ писал(а):Узбагойся, прими узбакоительного :)

Регулярно требует приёма пилюлей. :D

Добавлено спустя 4 минуты:
Angel71 писал(а):да ничего от него не хочу, просто опять ступил, намекнув

Если ты такой гений, то как ты мог снезайти на простого смертного, а если хотел помочь, то объясняй нормально.

Дим, походу у него весеннее обострение (витамины закончились и девки не дают). :P

Re: Вопросы новичка.

dimamichev » 20 фев 2017, 14:10

Ангел, идти или остаться суверенное право каждого... если кто то остаётся там где хочет, значит есть тому причины (не лень и не олень)...Цифирьки к именам констант в цикле... ну и что что "машина" в цифирьках только букавки видит... Можно это было спокойно одним предложением сформулировать, а ещё лучще дать вариант как правильно большое количество "переменных констант" объявлять через цикл...впрочем не надо экономить мне время. То же самое и про аналоговые входы А0, А1,..Достаточно было написать PinMode(14,...) и всё - если слов жалко. Итог..- спасибо за посильную помощь ребята!

Re: Вопросы новичка.

Angel71 » 20 фев 2017, 21:38

Madf, писал же, что a0..a15 это константы, куда ещё проще? хорошо, специально для ... напоминаю, что у функций работы с пинами номер пина передаётся числом. вывести в консоль номера и тем более глянуть в исходниках мозгов не хватит? хорошо, сделаю это за тебя. в папке "hardware\arduino\avr\variants" находишь под свою плату, допустим "standard" и там в файле "pins_arduino.h" видишь
Код: Выделить всёРазвернуть
#define LED_BUILTIN 13

#define PIN_A0   (14)
#define PIN_A1   (15)
#define PIN_A2   (16)
#define PIN_A3   (17)
#define PIN_A4   (18)
#define PIN_A5   (19)
#define PIN_A6   (20)
#define PIN_A7   (21)

static const uint8_t A0 = PIN_A0;
static const uint8_t A1 = PIN_A1;
static const uint8_t A2 = PIN_A2;
static const uint8_t A3 = PIN_A3;
static const uint8_t A4 = PIN_A4;
static const uint8_t A5 = PIN_A5;
static const uint8_t A6 = PIN_A6;
static const uint8_t A7 = PIN_A7;

о чудо, числа последовательные и не нужно массив тулить. теперь самое сложно, циклы.
Код: Выделить всёРазвернуть
for (i = 0; i < 6; i++)
{
   x = analogRead(A0 + i);
}

Код: Выделить всёРазвернуть
for (i = 14; i < 20; i++)
{
   x = analogRead(i);
}

Код: Выделить всёРазвернуть
for (i = A0; i < A6; i++)
{
   x = analogRead(i);
}

и это, постыдился бы в профиле лгать ("прог. языки: VB6, BASCOM, ASM..."), эта задачка с пинами уровня максимум школы, класс так седьмой.

Re: Вопросы новичка.

dimamichev » 20 фев 2017, 22:10

Вот про школу мне точно не надо - особенно про 7 класс. И про уровни тоже...это всё не так. Но ответ хороший, есть над чем посмотреть...Подсказки (ранние) суммировал, собрал схемку, запустил скетч... Интересно получилось...
Код: Выделить всёРазвернуть
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Arduino UNO
//
////////////////////////
//
//программа  ПРОБКА 1 //
unsigned int  n=0;
unsigned int  x=0;

void setup()   
   {
   }
        void loop()
      {
        pinMode(A0, INPUT);x=analogRead(A0); n=map(x, 0, 1023, 100, 2000);
        pinMode(14, OUTPUT);digitalWrite(14,HIGH);delay(n);   
        digitalWrite(14,LOW);delay(n);
       }
   
//
// Конец /
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


Можно теперь с одного вывода и управлять и исполнять.
Вложения
проба 1.jpg

Re: Вопросы новичка.

Dmitry__ » 20 фев 2017, 22:36

dimamichev писал(а):Можно теперь с одного вывода и управлять и исполнять.

Ну это очень спорно. Сигнал от переменного резистора будет шунтироваться светодиодом. Т.е. от нуля до "падение напряжения на диоде", аналоговый сигнал будет меняться, а дальше - ой. Падение на диоде зависит от типа диода и бывает от 0.6v до 3-х(такой еще поискать надо).

Re: Вопросы новичка.

dimamichev » 21 фев 2017, 09:13

Проверил на светодиоде оранжевого свечения. Частота миганий регулируется (визуально)как и в теории должно быть. Переход светодиода закрывается за счёт номинала R2 (подозреваю он может быть и больше). Хочу по аналогии на один вывод "повесить клавиатуру" кнопок на 12.

Добавлено спустя 8 минут:
Но возник "детский вопрос"- если отключить центральный вывод потенциометра, что снимет А0? (0, 1023, или ещё что).

Re: Вопросы новичка.

Madf » 21 фев 2017, 12:00

А0 выдаст нуль (максимум около того).
Я правда не понял зачем R2. :oops:

Re: Вопросы новичка.

Dmitry__ » 21 фев 2017, 12:32

dimamichev писал(а):Проверил на светодиоде оранжевого свечения. Частота миганий регулируется (визуально)как и в теории должно быть.

Странный подход. И этого не может быть.
dimamichev писал(а):Но возник "детский вопрос"- если отключить центральный вывод потенциометра, что снимет А0? (0, 1023, или ещё что).

Вот это уже лучше подход, но опять странно что не проверено, а вместо этого набита куча слов на клавиатуре. :)
Будет показывать плавающий уровень (наводка от рук и.т.д.). Но вот если в программе отключить светодиод, взять мультиметр и покрутить резистор, то можно будет понять в каких пределах меняется напряжение на потенциометре. И соотв. сравнить практику с теорией :) Да, еще одновременно с мультиметром можно смотреть показания с ардуины (дописать printf)
Madf писал(а):Я правда не понял зачем R2.

Он нужен чтоб не коротить выход дуины на землю или питание при крайних значениях потенциометра.


Rambler\'s Top100 Mail.ru counter