первые шаги чайника
- Войдите на сайт для отправки комментариев
Пнд, 07/01/2013 - 13:25
обьясниет в чем разница строк
1) int brightness = 0; // уставливаем начально значение яркости
2) int ledPin=13; // оброщение к 13 ноге контроллера
ведь одно и то же, но почемуто в первом случае не к ноге контролера присваевается переменная
Следовало бы сделать счетчик int step;, присвоить ему нулевое значение, затем инкремент, и использовать значение этого счетчика в названии: тогда мы легко и просто будем видеть все "шаги чайника" подряд, а не только первые...
Что касается Ваших вопросов - то в пункте 1 и пункте 2 - две разных переменных типа integer. Если кто-то говорит, что это одно и то же - плюньте ему в глаза.
все равно я не понял:) int brightness = 0; - здесь получается что brightness присваевается значение "0"...
а в int ledPin=13; - даем название 13 ножке контроллера название ledPin...
в чем разница кода :
#define SPEED_LEFT 6
или
int SPEED_LEFT = 6
Первое не занимает место в памяти, а второе занимает и может меняться в процессе работы программы. Во втором случае не хватает точки с запятой в конце строки.
люди добрые ну обьясните дураку как так, написана одно и тоже а получается по разному в коде:
а) int inPin = 7; // кнопки подключены к цифровой pin 7
б) int val = 0; // переменная для хранения
В одной банке - мед, а в другой ... ну как бы это помягче ... ну, в общем объект для аналитической лаборатории.
Надо ли вам объяснять, как это так получается - банки одни и те же, а эффект разный?
Вот и с переменными так же.
в примере есть такие строчки:
void setup()
{
// Настраивает выводы платы 4,5,6,7 на вывод сигналов
for(int i = 5; i <= 8; i++)
pinMode(i, OUTPUT);
}
может быть правильно на писать? :
for(int i = 4; i <= 7; i++)
люди добрые ну обьясните дураку как так, написана одно и тоже а получается по разному в коде:
а) int inPin = 7; // кнопки подключены к цифровой pin 7
б) int val = 0; // переменная для хранения
Исходя из преведённого Вами кода, разнитцы не какой нет. Если игнорировать коментарии и название переменных, то не как нельзя из Вашего примера угодать для чего они нужны. В языках програмирования переменные, это контэйнеры которые можно заполнять и брать из них значения.
Допустим: inPin это розовая ваза а val синяя, так вот Вы сами решаете что в какой вазе будет храниться и как использоваться.
Так как я, как и многие сдесь, не ясно видящий и немогу знать что у Вас за код идёт далее попробую наглядно объяснить таким оброзом.
Что же происходит, в варианте А я создал какието две переменный "не важно как они называются" и пользуюсь ими следующим оброзом: первую переменную я захотел использовать для указания порта, а вторую я предумал для сахранение в неё состояния порта который указан с помощью первой переменной.
Т.е. в премере А я работаю с 7 портом Arduin(ки) а в примере Б с 0 портом.
Крутити как хотите ведь это обыкновенные переменные как и в любой математической формуле.
x = 5;
y = 2;
z = x + y;
Тоже самое что и
z = 5 + 2;
Тоже самое
i = 1;
z = i+i+i+i+i+y;
Тоже самое что
z = 7;
Вам бы сначало азы програмирования по учить.
в примере есть такие строчки:
void setup()
{
// Настраивает выводы платы 4,5,6,7 на вывод сигналов
for(int i = 5; i <= 8; i++)
pinMode(i, OUTPUT);
}
может быть правильно на писать? :
for(int i = 4; i <= 7; i++)
Да Вы правы.
ich, я читаю, пытаюсь в никать, но я только в самом начале пути... спасибо за обьяснение на пальцах, теперь мне более понятно стало:)
еще пару вопросов:
1) оптимезация кода, одно и тоже задание, разные програмисты решают совершенно по разному, получается нету оптимального решения, кто как может так и пишет скетчи?
2) почему мало проектов на 2-х, 3-х, и т.п. ардуино? счем это связанно?
3) как лучше оргонизовать обмен и работу 2-х ардуин совместно? ( планирую 1ардуина работает с моторами , 2 ардуина работает с датчиками и является мастером)
>>1) оптимезация кода, одно и тоже задание, разные програмисты решают совершенно по разному, получается нету оптимального решения, кто как может так и пишет скетчи?<<
Вариантов решения задачи , почти всегда несколько. Отсюда и разные решения.
>>2) почему мало проектов на 2-х, 3-х, и т.п. ардуино? счем это связанно?<<
Если не хватает ресурсов одного МК то можно сваять два и раскидать функции между ними, а можно взять другой МК ресурсы которого в разы больше.
>>3) как лучше оргонизовать обмен и работу 2-х ардуин совместно? ( планирую 1ардуина работает с моторами , 2 ардуина работает с датчиками и является мастером)<<
Объясните смысл сего действия. С этой задачей вполне справится любой дуино подобный МК (при том ОДИН).
Две ардуино не из за рационализма, а желания выполнить проектик именно на нескольких ардуинках...
1. Оптимальный код, это когда хорошо читаемо, не гадит в памяти и не грузит процессор лишними "безсмысленными" операциями, ну и естественно справляется со своей задачей. А на одну и ту же программу может быть множество оптимальных вариантов. Как говориться "всё можно улучшить, знать бы как". Это моё личное мнение, возможно гуру меня поправят.
2. С тем что Arduino это ничего другого как Микроконтроллер, а проектов по общению между ардуиной и другими контролерами имеется порядком. Да и 2-Ардуино тоже не редкость. 1 , 2, 3, и т.д
3. Зависит от ваших желаний и способностей. Я тоже не супер асс в ардуино "только учусь", но так слёту могу предложить SPI, I2C. Настаящие експерты возможно знают ещё парачку трюков. Ах да можно вообще тупо в первой ардуине digitalWrite а в другой digitalRead и придумать свой протокол
Коточе всё возможно, дерзайте!
Кхе не успел , уже ответили
вопрос на засыпку, не кто не юзал платку Wild Thumper Controller ? не могу по ней нарыть инфы, восновном все англ.язычное
Оптимальный код - полностью субъективная вещь. Это же "выражение мысли". И дальше как у писателей. Кто-то красиво пишет, кто-то нет. Есть "талант", но есть и рутинные приемы (скорее "стиль") которые позволяют писать хороший код.
http://commencer.ru/biblioteka/programming-book/385-idealniy-code
Есть инструменты которые позволяют следить выполняются ли некоторые "договоренности" при написании.
Есть и противоположный взгял - что "идеальный код" вообще зло http://habrahabr.ru/post/129171/
В любом случае всегда приходится балансировать между "скоростью, памятью, точностью, переносимостью, читабельность" и т.п. Каждый находит свой "баланс". Да и просто "привычки" уже играют роль. Особенно последний пункт. Понятие "читабельно/понятный" код - это настолько индивидуально.... вообщем вечная тема для "холивара".
>но так слёту могу предложить SPI, I2C
Забыли еще банальный Serial :)