возможен. while назывется. почитали бы Вы уже основы.
есть 2 пути.... спросить и почитать.... на этом форуме у многих ТС стимул пропадает после слова нуб... karl2233 еще держится :) может и научится... а остальные чаще просто пропадают (канут в Лету)
Гриша, мне честно говоря глубоко пох, когда меня тыкают носом типо "почитай вначале", я просто хочу разобраться и понять.
а за советы и подсказки - спасибо.
когда читаешь, то многое не понятно - прочёл(кроме этого форума, раздел "программирование") ещё две книжки, третью дочитываю.
но, пля, как же бестолково написаны эти книжки! конечно это лучше чем ничего, но "Основы педагогики" авторам этих книг не помешалоб хотя бы в руках подержать.
смотрю на примеры, повторяю их. пытаюсь воткнуть в свою коробку смотрю чё не так, потом по новой ))))
полученная инфа из книг и форума расчитана на чела имеющего понятия о программировании несколько выше моего. плюс к этому разница в работе мозга - у меня с логикой всё ОК, образование и опыт электронщика... но программирование это нечто другое чем даже формальная логика (на которой я кстати, первую свою коробку и собрал - это нечто - 12 корпусов микросхем).
какя-то смесь иностранного(машинного) языка и хрен пойми чего ещё =) а у меня этого нет(
byte tsop = 11; //tsop
byte irLed = 10; //ик-светодиод
byte Led = 13; //осветодиод(L) на плате
byte i; // счётчик
byte num=20; //число периодов несущей 38кГц в посылаемом пакете
byte impulse=10; // длительность полупериода
byte val, old_val; //переменная для хранения сигнала с ИК приемника
void setup()
{
pinMode (irLed, OUTPUT); // разъём 10 на вывод
pinMode(Led, OUTPUT); //разъём 13 на вывод
pinMode(tsop, INPUT); // разъём 11 на ввод
Serial.begin(115200);
}
void loop()
{
for(i=0; i<num; i++) //цикл несущей
{
digitalWrite(irLed, HIGH); //зажигаем ик-диод
delayMicroseconds(impulse); //положительный полупериод
digitalWrite(irLed, LOW); //гасим ик-диод
delayMicroseconds(impulse-1); //выравниваем скважность
}
val=digitalRead(tsop);//Прочитать показания датчика
if (val==old_val) //сравнить показания с предидущей посылкой
{
digitalWrite(Led,(val==LOW) ? HIGH:LOW); //если сигнал низкий то зажигаем светодиод
if (val==LOW) delay(300); //время свечения светодиода (L) при срабатывании
}
old_val=val;
}
это подходяще мне, но непонятно:
1. как задали частоту?
2. что считает счётчк (строка 4)?
3. строка 24 - как работает?
4. строка 28 - подробнее бы?
5. почему вместо int применили byte вроде понятно - места меньше занимает, но почумуж тв других случаях так не поступают?
и для получения ответов есть три пути - на том форуме спросить автора (это регистрация на ЕЩЁ(!) одном формуме; спросить тут(вроде тематический форум); разбираться самому и спрашивать(где?).
а читая книжки (или раздел "программирований" тут) многое непонятно - ради прикола, те кто советуют читать поставили б себя на место непонимающего и попытались бы, прочитав, понять =)
и эти вопросы вызвала только одна бесполезная коробка! )))))))))
уоттак.
но... война - фигня, главное - манёвры!
з.ы. а то что я нуб в этом деле -для меня не секрет, но что-то(имеющиеся 3 ВО в совершенно разных областях) подсказывает что разберусь. просто первый раз интерактивно это происходит )))
согласен, но учиться нужно с простого blink (на пример). можно выучить вообще весь справочник, НО, "не поняв первого слова говорить сразу предложениями..." лучше if и for изучить сперва, а когда их возможностей будет не хватать постепенно добавлять что-то новое...
согласен, но учиться нужно с простого blink (на пример). можно выучить вообще весь справочник, НО, "не поняв первого слова говорить сразу предложениями..." лучше if и for изучить сперва, а когда их возможностей будет не хватать постепенно добавлять что-то новое...
вот и пост 55 нарисовался пока я это печатал - именно об этом я и говорю :)
1. как задали частоту?
2. что считает счётчк (строка 4)?
3. строка 24 - как работает?
4. строка 28 - подробнее бы?
5. почему вместо int применили byte вроде понятно - места меньше занимает, но почумуж тв других случаях так не поступают?
1. частоту задали через полупериод
2. именно в строке 4 ничего. просто объявили переменную. эту переменную использовали в цикле. но глупо так делать по моему. лучше так. локальная переменная
for(byte i=0
3. делают задержку но длительностью от исходной отняли 1, исходная не изменяется при этом
4. просто сравнение если текущее значение равно предыдущему то делать то то
5. зависит от задач и того экономит программист память или нет
не разберетесь :) нужно начинать с простого... пишите мигание 4шт диодов по очереди, потом добавим кнопку переключения, это будет урок по if и for... :)
таки сделал =))) точнее, конечно, скомилировал разные куски кодов разных авторов, разместив из в разных местах(иначе не работало), добавив от себя несколько слов, знаков и скобок =)
усё работает, щас датчик красиво с транзистором сделаю и вуаля.
пользуясь случаем хочу [s]передать привет[/s] сказать спасибо всем помогавшим, особенно Грише и jeka_tm
з.ы. ощущаю себя Биллом Гейтсом или даж круче - Великим Кукурузо ))))
з.з.ы. теперь попробую переписать всю программу, выкинув то, что мне не понятно или заменив на понятные мне команды.
не разберетесь :) нужно начинать с простого... пишите мигание 4шт диодов по очереди, потом добавим кнопку переключения, это будет урок по if и for... :)
у меня от мигания уже круги перед глазами идут ))))
вопрос, для меня, в другом - что означают те или иные команды; в чём особенности применения; последовательность в записи - имеет значение? и т.д.
ведь простого описания команд мало, мне нужно понимание
как сделать так, что бы три шага программы посторялись два раза, а на третий программа пошла дальше?
суть.
шаг 0 - вклчили тумблер.
шаг 1 - рычаг вышел к тумблеру но не выключил его и через 1 сек вернулся под крышку.
шаг 2 - из-под крышки ИК датчик пасёт обстановку и как только руки загребущие тянутся к тумблеру, повторяется шаг 1, и опять система на шаге 2. И так пару раз.
шаг 3 - ручки шаловливые опять тянутся к тумлеру, рычаг в этот раз выключает его и возвращяется в ИП.
как понимаю, нужен оператор "while", в котором будут крутится шаги 1 и 2. но как задать условие при котором на третий раз система перейдёт к шагу 3?
покурил книжке+раздел программирование, получается примерно так:
while (правильно ли задано условие цикла с переходом к шагу 3?)
{
Variable ++;
if (Variable > 2) breack;
{
if (MoveStep == 1) // серва идёт к тумблеру, но не выключает его
{
вжикание сервы; // вжик-вжик
MoveStep = 2; // переход к шагу 2
}
if (MoveStep == 2) // рычаг спрятался под крышку и зырит датчикаме за хомо сапиенсо {
серва приняла засадное положение;
датчики опрашиваются;
{
засекли тянущиеся рученки;
MoveStep = 1;
}
}
if (MoveStep == 3) // надоело всё и серва выключает рычаг
{
вжикание сервы; // вжик-вжик
MoveStep = 2; // переход к шагу 0 (т.е. возврат в ИП).
}
как сделать так, что бы три шага программы посторялись два раза, а на третий программа пошла дальше?
да зачем Вы снова все усложняееие, вот не будет у меня в ближайшее время инета, кто спамить эиту тему будет?????
пишите скетч с миганием 4 диодов (и сюда выкладывайте)!!!! 1) по очереди, потом 2) по кнопке потом, может быть, сможете и сами понять что здесь исправить...
который раз игнорите этот совет... так Вы ничего не поймете - слишком много переменных нужно держать в голове, а в этот скеч диодов воткнем if, for, while...
Гриша, я могу мигать светодиодами (вернее не я, но Ардуина).
чесслово! =)
да и делая коробку я лучше разберусь - такова особенность моего восприятия: держать много переменных я в состоянии - если я не умею программировать то это не значит что я имбицил.
я лучше выложу скетч управления ИК сервой (я по нему дальность настраиваал):
#include <Servo.h>
//выбор выводов
int Sensor = 5; // OUT сенсора на 5-ый вывод
int ServoPin = 3; // серво на 3-ый вывод
Servo servo1; // Имя серво
int pos1; // Начальная позиция серво
int ServoSpeed = 1; // скорость движения серво
int SensorStatus = 1; // первоначальный статус сенсора
int ServoMinPos = 25; // Минимальный угол
int ServoMaxPos = 175; // Положение, в котором рычаг отключает тумблер
void setup ()
{
Serial.begin(9600);
servo1.write(ServoMinPos); // Установка серво в И.П.
servo1.attach(ServoPin); // Подключение серво к пину
pinMode (Sensor , INPUT); // вывод для подключения сенсора настраиваем как "вход"
}
void loop()
{
SensorStatus = digitalRead(Sensor); //считываем уровень на входе 5 и обновляем статус сенсора
if (SensorStatus == LOW) // если препятствие есть
{
servo1.write(ServoMaxPos ); // выключить тумблер
delay(15); // подождать маленько
}
else // если сигнала нет
{
servo1.write(ServoMinPos ); // принять ИП
delay(15); // подождать
}
}
за ДЗ сойдёт? =) могу и светодиодики добавить к этому и начало цикла по включению тумблера.
сенсор на двух 555 таймерах (один генерит 38кГц, второй как защелка) и TSOP1738.
второй не повредит. объявляй локальные переменные for(byte i, можно цикл в цикле и не раз. ограничение не знаю. по идее пока оперативка наверно не закончится. хотя в памяти что то есть что не более 8. я делал максимум 3-4
ЕС: Вам надо не по Ардуино книжку, а по основам программирования.
+1.
я и сам это ощущаю ибо читая код программы, пытаюсь понять что там происходит а наталкиваюсь на непонимание очевидного (очевидного для знакомого с основами).
можешь посоветовать что именно читать? как раз собираюсь за очередной книжкой ехать )))
второй не повредит. объявляй локальные переменные for(byte i, можно цикл в цикле и не раз. ограничение не знаю. по идее пока оперативка наверно не закончится. хотя в памяти что то есть что не более 8. я делал максимум 3-4
понял, спасибо. вопрос был скорее теоретический ну и для моего случая применения.
получается что цикл у меня не работает по причине того, что не туда воткнул оператор "for"/
К сожалению посоветовать ничего не могу. Сам читаю постоянно новые книги, но у меня разброс большой :) Погуглите на хабре. И определитесь куда именно Вы хотите развиваться. С++ если именно ардуино.
К сожалению посоветовать ничего не могу. Сам читаю постоянно новые книги, но у меня разброс большой :) Погуглите на хабре. И определитесь куда именно Вы хотите развиваться. С++ если именно ардуино.
ну тут главное понять сам смысл програмирования... остальное уже все нюансы.
К сожалению посоветовать ничего не могу. Сам читаю постоянно новые книги, но у меня разброс большой :) Погуглите на хабре. И определитесь куда именно Вы хотите развиваться. С++ если именно ардуино.
да, Ардуино. пока о другом и думать боюсь )))) а книжку бы мне с основами, что б читая код мог понимать не только смысл программы(это у меня худо-бедно получается) а именно смысл применённых переменных/функций/команд.
а то читая, например это:
// Возвращение рычага в И.П.
if(currentMillis - previousMillis > ServoSpeed && pos1 > ServoMinPos && godown) // заданы условия выполнения нижеследующего
{
previousMillis = currentMillis; // что к чему приравняли? хз...
pos1 --; // уменьшение понятно, но ведь "pos1" равно "ServoMinPos", куда ещё уменьшать?
servo1.write(pos1); // команда серве на принятие минимального положения
// Завершение движения
if (godown && servo1.read() == ServoMinPos) // если на серву поступила команда занять Min положение
{
BoX = 0; // возврат к шагу 0 в движении
}
}
понимаю что происходит на физическом уровне , но не понимаю рпочему =)
не хватает (( эту страницу уже изучил вдоль и поперёк - скоро сниться будет.
вот типичный пример моего непонимания:
do // дали команду МК для выполнения нижеследующего без условий
{
delay(50); // подождать, пока датчики стабилизируются
x = readSensors(); // проверить датчики
} while (x < 100); // х - это что? понятно что переменная, понятно что она меньше 100 и целое число. но что происходит дальше? что проверилось? "х" от 0 до 99 выполняется то, что идёт сверху wihle, а когда х= 100 что будет?
а почему из приведенного куска Вы сделали вывод что "х" это целое?
ээээ... не знаю. видимо обрывок чего-то прочитанного в моей ОЗУ остался ))))
для этого дела мой английский очень плох - я самостоятельно его изучал, поэтому простые тексты могу читать, речь даже понимаю(местами), а вот говорить и технические тексты не осилю
While будет вычислять в цикле непрерывно и бесконечно до тех пор, пока выражение в круглых скобках, () не станет равно логическому ЛОЖНО. Что-то должно изменять значение проверяемой переменной, иначе выход из цикла whileникогда не будет достигнут. Это изменение может происходить как в программном коде, например, при увеличении переменной, так и во внешних условиях, например, при тестировании датчика.
возможен. while назывется. почитали бы Вы уже основы.
Да, но с другим названием: while
http://arduino.ru/Reference/While
возможен. while назывется. почитали бы Вы уже основы.
есть 2 пути.... спросить и почитать.... на этом форуме у многих ТС стимул пропадает после слова нуб... karl2233 еще держится :) может и научится... а остальные чаще просто пропадают (канут в Лету)
Гриша, мне честно говоря глубоко пох, когда меня тыкают носом типо "почитай вначале", я просто хочу разобраться и понять.
а за советы и подсказки - спасибо.
когда читаешь, то многое не понятно - прочёл(кроме этого форума, раздел "программирование") ещё две книжки, третью дочитываю.
но, пля, как же бестолково написаны эти книжки! конечно это лучше чем ничего, но "Основы педагогики" авторам этих книг не помешалоб хотя бы в руках подержать.
смотрю на примеры, повторяю их. пытаюсь воткнуть в свою коробку смотрю чё не так, потом по новой ))))
полученная инфа из книг и форума расчитана на чела имеющего понятия о программировании несколько выше моего. плюс к этому разница в работе мозга - у меня с логикой всё ОК, образование и опыт электронщика... но программирование это нечто другое чем даже формальная логика (на которой я кстати, первую свою коробку и собрал - это нечто - 12 корпусов микросхем).
какя-то смесь иностранного(машинного) языка и хрен пойми чего ещё =) а у меня этого нет(
поэтому возникают вопросы.
вот типичный пример(нашел тут):
это подходяще мне, но непонятно:
1. как задали частоту?
2. что считает счётчк (строка 4)?
3. строка 24 - как работает?
4. строка 28 - подробнее бы?
5. почему вместо int применили byte вроде понятно - места меньше занимает, но почумуж тв других случаях так не поступают?
и для получения ответов есть три пути - на том форуме спросить автора (это регистрация на ЕЩЁ(!) одном формуме; спросить тут(вроде тематический форум); разбираться самому и спрашивать(где?).
а читая книжки (или раздел "программирований" тут) многое непонятно - ради прикола, те кто советуют читать поставили б себя на место непонимающего и попытались бы, прочитав, понять =)
и эти вопросы вызвала только одна бесполезная коробка! )))))))))
уоттак.
но... война - фигня, главное - манёвры!
з.ы. а то что я нуб в этом деле -для меня не секрет, но что-то(имеющиеся 3 ВО в совершенно разных областях) подсказывает что разберусь. просто первый раз интерактивно это происходит )))
Да, но с другим названием: while
http://arduino.ru/Reference/While
while как и goto очень плохие для начинающего, ИМХО, лучше вообще их не трогать без необходимости...
ИМХО, пост 52 в нем есть все! (для начинающего)
Для начинающего в принципе все команды плохи. Лучше веники плести.
goto - отстой,
while - вполне себе приличная команда
goto - отстой,
while - вполне себе приличная команда
согласен, но учиться нужно с простого blink (на пример). можно выучить вообще весь справочник, НО, "не поняв первого слова говорить сразу предложениями..." лучше if и for изучить сперва, а когда их возможностей будет не хватать постепенно добавлять что-то новое...
goto - отстой,
while - вполне себе приличная команда
согласен, но учиться нужно с простого blink (на пример). можно выучить вообще весь справочник, НО, "не поняв первого слова говорить сразу предложениями..." лучше if и for изучить сперва, а когда их возможностей будет не хватать постепенно добавлять что-то новое...
вот и пост 55 нарисовался пока я это печатал - именно об этом я и говорю :)
1. частоту задали через полупериод
2. именно в строке 4 ничего. просто объявили переменную. эту переменную использовали в цикле. но глупо так делать по моему. лучше так. локальная переменная
3. делают задержку но длительностью от исходной отняли 1, исходная не изменяется при этом
4. просто сравнение если текущее значение равно предыдущему то делать то то
5. зависит от задач и того экономит программист память или нет
jeka_tm, karl2233 не об этом спросил, (мне кажется все гораздо сложнее :))
1. как задали частоту?
уберем немного:
вот это и есть частота...
стр 9-12 создаст 1 териод, и таких периодов стр 7 20шт
еще уберем:
в строке 12 стоит "9", а не "10" чтобы вернуться в строку "07" и выполнить условие, а это время... вот и получается примерно меандр
еще выкиним :) лишнее
jeka_tm, у Вас не найдется ссылки на пояснение глобальных и локальных переменных простым языком?
если в самом начале объявляешь до setup глобальные. их нужно объявлять если нужен доступ к разных мест кода
а для цикла, значение переменной используется только внутри цикла, объявлять глобальную нет смысла
к тому же это грозит некоторыми глюками, так как например нужно обнулять
да и еще экономит память
impulse=10;
задан полупериод 10 мкс. период значит 20 мкс. частота равна 1/20мкс =50кгц
задан полупериод 10 мкс. период значит 20 мкс. частота равна 1/20мкс =50кгц
только лишь примерно :) есть еще выполнение:
09 digitalWrite(irLed, HIGH); //зажигаем ик-диод
11 digitalWrite(irLed, LOW); //гасим ик-диод
которые немного нарушают это правило и зависят от частоты МК :)
фигассе вы даёте! :)
вроде дошло )))
спасибо вам обоим!
*пошел разбираться в железе
фигассе вы даёте! :)
вроде дошло )))
спасибо вам обоим!
*пошел разбираться в железе
не разберетесь :) нужно начинать с простого... пишите мигание 4шт диодов по очереди, потом добавим кнопку переключения, это будет урок по if и for... :)
задан полупериод 10 мкс. период значит 20 мкс. частота равна 1/20мкс =50кгц
только лишь примерно :) есть еще выполнение:
09 digitalWrite(irLed, HIGH); //зажигаем ик-диод
11 digitalWrite(irLed, LOW); //гасим ик-диод
которые немного нарушают это правило и зависят от частоты МК :)
ага. но упрощенно так. пока этого не поймет дальше дальше будет трудно рассчитать без понимания
таки сделал =))) точнее, конечно, скомилировал разные куски кодов разных авторов, разместив из в разных местах(иначе не работало), добавив от себя несколько слов, знаков и скобок =)
усё работает, щас датчик красиво с транзистором сделаю и вуаля.
пользуясь случаем хочу [s]передать привет[/s] сказать спасибо всем помогавшим, особенно Грише и jeka_tm
з.ы. ощущаю себя Биллом Гейтсом или даж круче - Великим Кукурузо ))))
з.з.ы. теперь попробую переписать всю программу, выкинув то, что мне не понятно или заменив на понятные мне команды.
надеюсь теперь понял что изначально ты неправильно начал
не разберетесь :) нужно начинать с простого... пишите мигание 4шт диодов по очереди, потом добавим кнопку переключения, это будет урок по if и for... :)
у меня от мигания уже круги перед глазами идут ))))
вопрос, для меня, в другом - что означают те или иные команды; в чём особенности применения; последовательность в записи - имеет значение? и т.д.
ведь простого описания команд мало, мне нужно понимание
надеюсь теперь понял что изначально ты неправильно начал
в смысле? не понял смысла сказанного - почему не правильно?
я даж сейчас два разных датчика менял - разные принципы(следовательно и код нужен разный) у них и все работают
я про тему
хе-хе.
а я теперь на Вильяма нашего, Шекспира, замахнулся.
буду творить такое движение:
1. Быстрый выход до тумблера(без выключения);
2. Медленный возврат под приоткрытую крышку;
3. Слежка из-под приоткрытой крышки, при наличии движения п.1 (и так пару раз)
4. на третий раз выключает.
з.з.ы. теперь попробую переписать всю программу, выкинув то, что мне не понятно или заменив на понятные мне команды.
если не трудно, код (этот) покажите :) полностью
з.з.ы. теперь попробую переписать всю программу, выкинув то, что мне не понятно или заменив на понятные мне команды.
если не трудно, код (этот) покажите :) полностью
чё, попкорн где-то бесплатно раздавали? ))))
выложу, мне не жалко
вопрос.
как сделать так, что бы три шага программы посторялись два раза, а на третий программа пошла дальше?
суть.
шаг 0 - вклчили тумблер.
шаг 1 - рычаг вышел к тумблеру но не выключил его и через 1 сек вернулся под крышку.
шаг 2 - из-под крышки ИК датчик пасёт обстановку и как только руки загребущие тянутся к тумблеру, повторяется шаг 1, и опять система на шаге 2. И так пару раз.
шаг 3 - ручки шаловливые опять тянутся к тумлеру, рычаг в этот раз выключает его и возвращяется в ИП.
как понимаю, нужен оператор "while", в котором будут крутится шаги 1 и 2. но как задать условие при котором на третий раз система перейдёт к шагу 3?
покурил книжке+раздел программирование, получается примерно так:
покурите for
вопрос.
как сделать так, что бы три шага программы посторялись два раза, а на третий программа пошла дальше?
программа пошла дальше, если не указан переход, но об ентом позжееееее
вопрос.
как сделать так, что бы три шага программы посторялись два раза, а на третий программа пошла дальше?
да зачем Вы снова все усложняееие, вот не будет у меня в ближайшее время инета, кто спамить эиту тему будет?????
пишите скетч с миганием 4 диодов (и сюда выкладывайте)!!!! 1) по очереди, потом 2) по кнопке потом, может быть, сможете и сами понять что здесь исправить...
который раз игнорите этот совет... так Вы ничего не поймете - слишком много переменных нужно держать в голове, а в этот скеч диодов воткнем if, for, while...
Гриша, я могу мигать светодиодами (вернее не я, но Ардуина).
чесслово! =)
да и делая коробку я лучше разберусь - такова особенность моего восприятия: держать много переменных я в состоянии - если я не умею программировать то это не значит что я имбицил.
я лучше выложу скетч управления ИК сервой (я по нему дальность настраиваал):
за ДЗ сойдёт? =) могу и светодиодики добавить к этому и начало цикла по включению тумблера.
сенсор на двух 555 таймерах (один генерит 38кГц, второй как защелка) и TSOP1738.
з.ы. свой путь в радиоэлеткронике я начал собрав кассетный магнитофон(УВ был на 8 транзисторах) + стереусилитель на 24 транзисторах + 2-ух полосные колонки. Корпуса были из жуткой фанеры, простоявшей на балконе долгое время, которую я выравнивал смочив водой и поставив любимую гирю 16 кг =) мне тода 13 лет было
а вот стадию детекторных приёмников миновал. так и тут, хотя мигал я и чеьтырмя СД и все уроки из манускрипта пробовал.
з.з.ы. а чего это вдруг инета не будет (вроде его не запретили ишшо)? я категорически против! =)
for(byte i=0; i<20; i++) // 20 раз
программа пошла дальше, если не указан переход, но об ентом позжееееее
Гриша, спасибо за подсказку.
возник вопрос по применению оператора "for" и счётчика "i".
1. если в программе уже используется конструкция типа (строка 25-31)
введение второго "for" не повредит поциенту? ))
2. можно ли так использовать этот оператор? или я втупил нипадецки?
3. можно ли этим оператором создавать цикл, внутри цикла?
з.ы. мог бы посоветовать толковую книжку по Ардуино? Петин, Гололобов и Соммер уже прочитаны
второй не повредит. объявляй локальные переменные for(byte i, можно цикл в цикле и не раз. ограничение не знаю. по идее пока оперативка наверно не закончится. хотя в памяти что то есть что не более 8. я делал максимум 3-4
ЕС: Вам надо не по Ардуино книжку, а по основам программирования.
ЕС: Вам надо не по Ардуино книжку, а по основам программирования.
+1.
я и сам это ощущаю ибо читая код программы, пытаюсь понять что там происходит а наталкиваюсь на непонимание очевидного (очевидного для знакомого с основами).
можешь посоветовать что именно читать? как раз собираюсь за очередной книжкой ехать )))
второй не повредит. объявляй локальные переменные for(byte i, можно цикл в цикле и не раз. ограничение не знаю. по идее пока оперативка наверно не закончится. хотя в памяти что то есть что не более 8. я делал максимум 3-4
понял, спасибо. вопрос был скорее теоретический ну и для моего случая применения.
получается что цикл у меня не работает по причине того, что не туда воткнул оператор "for"/
будем искать(c)
я бы на твоем месте переменные покороче назвал бы. тяжело читать
пины объявлял черзе define
К сожалению посоветовать ничего не могу. Сам читаю постоянно новые книги, но у меня разброс большой :) Погуглите на хабре. И определитесь куда именно Вы хотите развиваться. С++ если именно ардуино.
я бы на твоем месте переменные покороче назвал бы. тяжело читать
пины объявлял черзе define
спасибо. названия исправлю.
щас покурю define )))
покурил. да, в моём случае это лучше - можно уменьшить программу и впихнуть её в 168 Мегу
К сожалению посоветовать ничего не могу. Сам читаю постоянно новые книги, но у меня разброс большой :) Погуглите на хабре. И определитесь куда именно Вы хотите развиваться. С++ если именно ардуино.
ну тут главное понять сам смысл програмирования... остальное уже все нюансы.
К сожалению посоветовать ничего не могу. Сам читаю постоянно новые книги, но у меня разброс большой :) Погуглите на хабре. И определитесь куда именно Вы хотите развиваться. С++ если именно ардуино.
да, Ардуино. пока о другом и думать боюсь )))) а книжку бы мне с основами, что б читая код мог понимать не только смысл программы(это у меня худо-бедно получается) а именно смысл применённых переменных/функций/команд.
а то читая, например это:
понимаю что происходит на физическом уровне , но не понимаю рпочему =)
ну тут главное понять сам смысл програмирования... остальное уже все нюансы.
да сам смысл мне понятен - программирование это пошаговая подача команд МК для выполнения тех или иных операций.
т.е. я понимаю ЧТО нужно сказать МК, но не понимаю КАК =)))
т.е. я понимаю ЧТО нужно сказать МК, но не понимаю КАК =)))
так не бывает... если вы можете составить алгоритм для МК. то вот этого вам должно хватить выше крыши
http://arduino.ru/Reference
т.е. я понимаю ЧТО нужно сказать МК, но не понимаю КАК =)))
так не бывает... если вы можете составить алгоритм для МК. то вот этого вам должно хватить выше крыши
http://arduino.ru/Reference
не хватает (( эту страницу уже изучил вдоль и поперёк - скоро сниться будет.
вот типичный пример моего непонимания:
а почему из приведенного куска Вы сделали вывод что "х" это целое?
Кстати как у Вас с английским?
http://arduino.ru/Reference/While
а почему из приведенного куска Вы сделали вывод что "х" это целое?
ээээ... не знаю. видимо обрывок чего-то прочитанного в моей ОЗУ остался ))))
для этого дела мой английский очень плох - я самостоятельно его изучал, поэтому простые тексты могу читать, речь даже понимаю(местами), а вот говорить и технические тексты не осилю
т.е. я понимаю ЧТО нужно сказать МК, но не понимаю КАК =)))
так не бывает... если вы можете составить алгоритм для МК. то вот этого вам должно хватить выше крыши
http://arduino.ru/Reference
Вы не правы ИМХО! Там почти энциклопедическое представление со скудными примерами...
объясню: if (тумблер == 0 && серва померла) ... про 2 условия там не слова, а это важно ИМХО
While будет вычислять в цикле непрерывно и бесконечно до тех пор, пока выражение в круглых скобках, () не станет равно логическому ЛОЖНО. Что-то должно изменять значение проверяемой переменной, иначе выход из цикла whileникогда не будет достигнут. Это изменение может происходить как в программном коде, например, при увеличении переменной, так и во внешних условиях, например, при тестировании датчика.
я вот эту книгу читал, не все правда
http://www.lib.ru/CTOTOR/starterkit.txt