При таком виде вообще ничего лишнего не подключается и ничего лишнего не настраивается так же как и в расхвалинном вами AvrGCC. Естественно дуиновская delay() работать не будет, поэтому используем библиотекуdelay.h .
Так вот при таком раскладе размер уменьшается аж в полтора раза:
так что можно сделать вывод, что дело не IDE, а в умении пользоваться этим IDE, да и вообще ArduinoIDE - это всего лишь оболочка того же самого AvrGCC.
При таком виде вообще ничего лишнего не подключается и ничего лишнего не настраивается так же как и в расхвалинном вами AvrGCC. Естественно дуиновская delay() работать не будет, поэтому используем библиотекуdelay.h .
...
так что можно сделать вывод, что дело не IDE, а в умении пользоваться этим IDE, да и вообще ArduinoIDE - это всего лишь оболочка того же самого AvrGCC.
Остатся вопрос, зачем тогда вообще использовать ArduinoIDE? У не ради ли очень удобного текстового редактора? :-)
Собственно, повторю свою мысль - если хочется маленького и/или быстрого кода - желательно понимать, что будет происходить в процессоре с точностью до "в этот регистр в этот бит пишется такое значение".
Если хочется не морочиться с регистрами и битами, а писать "digitalWrite" и "Serial.print" - надо смириться с тем, что эффектичный код вряд ли получится.
Очень грудая аналогия - будет ли кто-нибудь писать драйвер устройства на джаве, потому что там есть автосборщик мусора, а он (автор драйвера) "во всех этих малоках и фри ничего не понимает"? И будет ли такой драйвер хорош?
И ArduinoGCC и AvrGcc и IAR - это не более чем просто инструмента. А инструмент есть средство достижения цели, так зачем же делать из него фетиш?
Если поставлена задача, которая требует более сложного в освоении, но и позволяющего получать более гибкие результаты инструмента, то имхо его и логично использовать? (Что впрочем не отменяет того, умение все равно важнее инструментария)
У дуины есть очень и очень огромнейший плюс - простота и быстрота прототипирования.
То есть я могу за 5-10 минут написать рабочий прототип устройства, используя ее медленные и прожорливые функции. Так зачем мне сначала в ArduinoIDE писать прототип, а потом переносить его в другую IDE, если как видите никаких ограничений в дальнейшей оптимизации кода нет? Правильно - незачем.
Да и просто я к ней привык, так как иненно с нее и начинал.
Ребята, я опять к вам. В подходящей ветке ответа нет.
А может ветка была не подходящая? Вот скажите, какое отношение имеет ваш вопрос про циклы и плавное разгорание светодиода к ПРИКРЕПЛЕННОЙ ветке про работу с кнопками (как подключать безопастно, как дребезг ловить и т.п.). Вот скажите, пришел новичек, хочет разобратся как работать с кнопками, ему нужно читать про пару страниц (а судя по всему меньше не выйдет) разбирательств с вашим конкретным скетчем и разбирательствами что такое for и что такое if?
Кстати то же самое относится и к этой ветке. Будет у кого-то проблема с мегой. Найдет поиском эту ветку и .... прийдется человеку продиратся сквозь кучу не относящегося к теме.
Так что тут, было-бы уместно завести новую ветку. Только не с названием "помогите новичку", а сесть и ПОДУМАТЬ, как внятно назвать тему, что-бы из название уже наполовину было понятно о чем пойдет речь. Потому что, боюсь, только ваша жена может понять что означает что такое "нажатая кнопка если она отжата". А непонимание - очень часто выливается именно в игнорирование.
Так что не бойтесь "стать такими как мы". Это не так плохо - уметь четко и формально-однозначно выражать свои мысли. Никто не сможет вам помочь найти ошибку в скетче если нет четкого понимания что же вы от него хотите.
P.S. И забудте про существование goto. Его наличие в языках программирования - историческая отрыжка из 70-тых годов прошлого века. Его испльзование НИКОГДА не является оправданым/нужным (если только вы не пишите на ассемблере). Любой алгоритм может быть написан без него. for/if/while и т.п. - всегда могут его заменить.
И, если будете заводить новую ветку - постарайтесь осветить в ней как вы подключаете свою кнопку. Конечно по словам "Подтяжка есть." - можно догадатся, но не факт что догадка будет правильной. Потому что код - противоречит этому утверждению.
P.S. Если уж так хотите привлечь "ребят отсюда" - можете тут дать ссылку на новую заведенную тему тут.
P.S.S. А вообще - это не очень хороший стиль поведения - если в одной ветке не отвечают, начинать дублировать вопрос в других не отсносящихся к теме ветках. Чем-то поручика Ржевского, с его "кстати о птичках..." напоминает.
Это пиздец какой то. дуина живёт своей жизнью и хуй ложила на команды и условия. Тема называется помогите разобраться с Arduino Mega2560, так вот и помогли бы, а не умничали и рассуждали о флуде.
tsostik - человек как человек, посмотрел, посоветовал.
while не подходит, замыкает цикл и не реагирует на другие кнопки так же как и goto label.
Это пиздец какой то. дуина живёт своей жизнью и хуй ложила на команды и условия. Тема называется помогите разобраться с Arduino Mega2560, так вот и помогли бы, а не умничали и рассуждали о флуде.
Легче на поворотах. Тема называется "помогите разобратся с Arduino Mega2560" - ваш вопрос отношения к ArduinoMega2560 - никакого не имеет. Так что вы верно, САМИ определили свои посты как флуд. А на флуд - и реакция соотвествующая.
А гопо-стиль общения "ты че, очень умный?" Оставте при себе. Не нравится - не слушайте что вам советуют Впрочем вы именно этим постоянно и занимаетесь. Отсюда и все ваши проблемы.
Бардак в голове->бардак в формулировании мысли->бардак в коде->бардак в поведении ардуины.
Нам-то вы можете многое доказывать демогогией. Может даже докажете. Только вот компилятору - пофиг эта демагогоия. Ему четко и однозначно "что делать" нужно говорить. И для этого вначале нужно в голове это сложить. А вы не хотите. Считаете что это "придирки".
И пока в голове порядок не наведете (поэтому и пытаются вас вернуть по этой цепочке назад) - нифига с кодом не выйдет. Помочь вам могут только с "нехваткой специальных знаний". Помочь перевести с русского на C++ ваше желание. Но вы пока - даже по русски не можете сформулировать.
hugoboss317 пишет:
tsostik - человек как человек, посмотрел, посоветовал.
while не подходит, замыкает цикл и не реагирует на другие кнопки так же как и goto label.
А толку? Вот потому и не работает. Что он мог работать только с тем "что вы дали". Просто переформулировал ваше goto в while. Не меняя логики. Его while делает то что вы написали на goto.
А goto - было единсвенно доступная информация о том "что вы хотите".
Объяснять другим что им нужно делать - это вам не впадло. А нарисовать схему подключения, как вам сказали два челвоека, - это не барское дело. Это же самому нужно потрудится. Проще канючить. И сесть по пунктам написать, что же выхотите что-бы скетч делал - тоже не судьба. Равно как и проявить вежливость и завести отдельную тему... хотя теперь не уверен что будет желание тратить в ней силы.
Вы забыли маленький нюанс: вам никто ничего не должен.
Вся хрень заключается в том, что я пришол и попросил о помощи у людей, которые, как я увидел, на столько хорошо знают в этом толк, что мой вопрос это детский лепет. На форумах не первый день и знаком с понятием "флуд" и извинился за это, но вместо того чтоб сначала помоч, вы все занялись нравоучением, а мне, как я уже говорил, даже совета спросить не у кого. Ну залез не в ту ветку, ну нафлудил, понимаю неправ, но пинать то сразу зачем? Перечитал многое тут на форуме, дочитываю книгу по Atmel МК, я уже не говорю про ютюб, в котором из 30 минут ролика по прошивке МК 25 минут из них мы изучаем как же блин правельно нам расчитать резистор для светодиода, изучаем детально закон ома для участка цепи и надо же ещё правельно подобрать его мощьность, не забыть обратить на это внимание, причём прошивать мы будем обязательно старым хламом каким-нибудь. Как будто человек, который решил заняться изучением МК не знаект как применить закон ома. При этом не слова про саму прошивку, как она выглядит, с чего начинать и как использовать элементарные команды и в какой программе. Вот и на этом форуме рассматривал примеры, всё понятно и доступно и на эдентичных схемах всё будет, ну или должно, работать. Вот мы вводим переменную regim или flag, о о о, всё заработало. А вот бы кто сказал к чему эта переменная привязывается и при каких условиях меняется её значение. Пока в готовом скетче стоит, работаем, начинаешь оперировать ими под свою схему, а к чему тулить эти флаги знамёна хрен знает. Задаю чёткое условие if(digitalRead(5)==HIGH) { (пин правельный, на скетчах сэмплах работает) подключаю подтяжку на землю, кнопку даже не подключаю, а он сразу начинает гонять цикл по кругу иложит на if(digitalRead(5)==HIGH) {, при том что подключена кнопка что нет. Врейками пытаюсь остановить выполнение цикла в конце а скомпелироватьне могу хотя всё как в сэмпле со всеми точками. Понятно что я что то и кудато неправельно пишу и МК выполняет заданную программу, но вот только попробуй совета у понимающих спросить, да ты что, ты туда не ходи, ты сюда ходи.
Тебе же уже сказали, что программирование это не сочинение писать, где можно так а можно сяк, а смысл один х..й тот же. А ты пишешь именно сочинение. Какой еще нах..й цикл??? Где ты цикл увидел? Какие нах..й команды?
Ни кто не требуют от тебя знания терминологии, ты сам называешь какие-то вещи своими именами, которые на самом деле называются по другому и смысл в них другой и поэтому тебя ни кто и не понимает. Так если ты не в теме этой всей терминологии нах..я ты употребляешь эти слова и нам потом лечишь, что в метре 1024 байта... Ты нам это зачем лечишь? Что бы тебя на х..й начали посылать?
Неужели тебе не понятно, что не все так просто устроено и что далеко не все так как ты об этом думаешь. Ты видишь и понимаешь только "верхушку айсберга", зато уперся и доказываешь нам что есть только "верхушка" и больше них..я, и ты все понимаешь, но ни хрена не работает.
Хочешь помощи, напиши по нормальному - по человечески что ты хочешь от кода, что ты хочешь от дуины, куда, что и как подключаешь, что ты вообщеза устройство делаешь, а не х..етой занимайся.
Если с этим кодом условие if(digitalRead(5) == HIGH) все равно будет выполняться значит ты что-то нах..евертил в схеме и почитай про дребезг контактов. Если дальше будешь стоять на своем, что ты все правильно подключил и все понимаешь и что все должно работать, а оно не работает, то флаг тебе в руки и барабан на шею.
Без обид. Все по теме, без нравоучений, без пинков.
>Как будто человек, который решил заняться изучением МК не знаект как применить закон ома.
Вы так все хорошо знаете о жизни? Почитайте форум. Чуть ли не половина начинающих заниманться микроконтроллером - смутно помнит что "в школе проходили такой закон". Так что в данном случае вы попали пальцем в ж...., то есть небо.
А если вы думаете что "это невозможная глупость", то повертье ваше "человек пытается програмить не разобравшись что такое for" - не менее странно выглядит. Так что не нужно в чужих глазах бревна расматривать.
И вы так и не поняли самого главного - у вас проблема не с нехваткой технических знаний. А проблемы с коммуникацией. С людьми. Не с контроллером. По крайней мере online-ново.
Поверте, не вы первый сюда пришли с большими пробелами в знаниях. Собственно "начинающие" тут скорее правило, чем исключение. Я бы даже сказал что весь форум на начинающих ориентирован (как собственно и сама ардуина). Выско-професиональным междусобойчиком тут и не пахнет. Какие-то сверх-сложные програмерско-железные проблемы - редко обсуждаются. 90% времени - именно помощь новичкам и помощь вида "ну почему зараза не работает...".
И я это могу четко утверждать. Потому что сам в роли чайника, в железных вопросах, регулярно выступаю. И тоже задаю достаточно глупые вопросы очевидные любому схемотехнику (и не всегда ответы понимаю). И терпят, помогают, расталковывают.
Так вот все эти люди делятся на две категории. Одни смогли употребить форум с пользой для себя, найти решение своих проблемм, поднять свой уровень. И вторая, более редкая категория, которая не смогла найти общий язык.
Вы похоже явно тяготеете ко второй.
Нельзя налить воды в полный стакан.
А ваш стакан знаний похоже полон до краев. Хоть и утверждаете вы обратное, но действия говорят о том что роль "ведомого" вами прочно забыта. Возможно в жизни в слишком успешный/самостоятельный человек, привыкли диктовать "свои условия" (это я без сарказма).
Вообщем тут ждали "второй серии" - она таки состоялась. К сожалению как и многие "продолжения" - она скучна. Новых режисерских ходов - найдено небыло. Было повторение "пробега по граблям" что и в первой серии (никаких выводов сделанно небыло). Забег был "в другом антураже", но суть не изменилась.
Так что, по всей видимости, если и будет третья серия, то уже без меня. Сорри, но я выхожу из состава этого комического дуэта.
Удачи вам. Возможно это просто наша личная "ментальная не совместимость". И с кем-то другим у вас получится лучше понять друг-друга. Людей на форуме - много. Надеюсь все-таки сможете подружится и с ними и со своей ардуиной.
А так не пробовали:
Ссылку на необходимый для этого плагин можно отыскать, например, здесь: http://elabz.com/arduino-shrunk-how-to-use-attiny13-with-arduino-ide/
Что же, я рад, что мои оценки минимального размера скетча в исполнении ардуино IDE оказалась пессимистичными -)
#include <util/delay.h> #define HIGH_3 PORTB|=1<<3 #define LOW_3 PORTB&=~(1<<3) #define HIGH_4 PORTB|=1<<4 #define LOW_4 PORTB&=~(1<<4) int main() { DDRB |= (1<<3) | (1<<4); while(1) { for(byte i = 0; i < 3; i++) { for(byte j = 0; j < 3; j++) { HIGH_3; _delay_ms(50); LOW_3; _delay_ms(50); } _delay_ms(150); for(byte j = 0; j < 3; j++) { HIGH_4; _delay_ms(50); LOW_4; _delay_ms(50); } _delay_ms(150); } for(byte i = 0; i < 4; i++) { HIGH_3; _delay_ms(50); LOW_3; _delay_ms(50); HIGH_4; _delay_ms(50); LOW_4; _delay_ms(50); } for(byte i = 0; i < 5; i++) { HIGH_3; HIGH_4; _delay_ms(200); LOW_3; LOW_4; _delay_ms(200); } for(byte i = 0; i < 4; i++) { HIGH_3; _delay_ms(150); HIGH_4; _delay_ms(100); LOW_3; _delay_ms(100); LOW_4; _delay_ms(300); } } }При таком виде вообще ничего лишнего не подключается и ничего лишнего не настраивается так же как и в расхвалинном вами AvrGCC. Естественно дуиновская delay() работать не будет, поэтому используем библиотеку delay.h .
Так вот при таком раскладе размер уменьшается аж в полтора раза:

так что можно сделать вывод, что дело не IDE, а в умении пользоваться этим IDE, да и вообще ArduinoIDE - это всего лишь оболочка того же самого AvrGCC.
Я тоже обратил на это внимание в такой конфигурации скэтча
При таком виде вообще ничего лишнего не подключается и ничего лишнего не настраивается так же как и в расхвалинном вами AvrGCC. Естественно дуиновская delay() работать не будет, поэтому используем библиотеку delay.h .
...
так что можно сделать вывод, что дело не IDE, а в умении пользоваться этим IDE, да и вообще ArduinoIDE - это всего лишь оболочка того же самого AvrGCC.
Остатся вопрос, зачем тогда вообще использовать ArduinoIDE? У не ради ли очень удобного текстового редактора? :-)
Собственно, повторю свою мысль - если хочется маленького и/или быстрого кода - желательно понимать, что будет происходить в процессоре с точностью до "в этот регистр в этот бит пишется такое значение".
Если хочется не морочиться с регистрами и битами, а писать "digitalWrite" и "Serial.print" - надо смириться с тем, что эффектичный код вряд ли получится.
Очень грудая аналогия - будет ли кто-нибудь писать драйвер устройства на джаве, потому что там есть автосборщик мусора, а он (автор драйвера) "во всех этих малоках и фри ничего не понимает"? И будет ли такой драйвер хорош?
И ArduinoGCC и AvrGcc и IAR - это не более чем просто инструмента. А инструмент есть средство достижения цели, так зачем же делать из него фетиш?
Если поставлена задача, которая требует более сложного в освоении, но и позволяющего получать более гибкие результаты инструмента, то имхо его и логично использовать? (Что впрочем не отменяет того, умение все равно важнее инструментария)
У дуины есть очень и очень огромнейший плюс - простота и быстрота прототипирования.
То есть я могу за 5-10 минут написать рабочий прототип устройства, используя ее медленные и прожорливые функции. Так зачем мне сначала в ArduinoIDE писать прототип, а потом переносить его в другую IDE, если как видите никаких ограничений в дальнейшей оптимизации кода нет? Правильно - незачем.
Да и просто я к ней привык, так как иненно с нее и начинал.
Ребята, я опять к вам. В подходящей ветке ответа нет.
Взгляньте опытным глазом и скажите какого хрена динка запускает цикл при устовии нажатой кнопки, если она отжата). Подтяжка есть.
int brightness = 0; int fadeAmount = 5; void setup() { pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(5, INPUT); } void loop() { if(digitalRead(5)==HIGH) { digitalWrite(10, LOW); digitalWrite(11, LOW); delay(5000); for(byte i=0;i<153;i++) { analogWrite(10, brightness); analogWrite(11, brightness); brightness = brightness + fadeAmount; if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } delay(30); } label:digitalWrite(10, HIGH); digitalWrite(11, HIGH); if(digitalRead(5)==HIGH) { goto label; } } }Вобще просто реагирует на изменения состояния кнопки"1" или"0" хотя вроде как условие только при "1".
Перечитал все операции с кнопками, там всё класно, а тут вобще своей жизнью живёт.
Ребята, я опять к вам. В подходящей ветке ответа нет.
А может ветка была не подходящая? Вот скажите, какое отношение имеет ваш вопрос про циклы и плавное разгорание светодиода к ПРИКРЕПЛЕННОЙ ветке про работу с кнопками (как подключать безопастно, как дребезг ловить и т.п.). Вот скажите, пришел новичек, хочет разобратся как работать с кнопками, ему нужно читать про пару страниц (а судя по всему меньше не выйдет) разбирательств с вашим конкретным скетчем и разбирательствами что такое for и что такое if?
Кстати то же самое относится и к этой ветке. Будет у кого-то проблема с мегой. Найдет поиском эту ветку и .... прийдется человеку продиратся сквозь кучу не относящегося к теме.
Так что тут, было-бы уместно завести новую ветку. Только не с названием "помогите новичку", а сесть и ПОДУМАТЬ, как внятно назвать тему, что-бы из название уже наполовину было понятно о чем пойдет речь. Потому что, боюсь, только ваша жена может понять что означает что такое "нажатая кнопка если она отжата". А непонимание - очень часто выливается именно в игнорирование.
Так что не бойтесь "стать такими как мы". Это не так плохо - уметь четко и формально-однозначно выражать свои мысли. Никто не сможет вам помочь найти ошибку в скетче если нет четкого понимания что же вы от него хотите.
P.S. И забудте про существование goto. Его наличие в языках программирования - историческая отрыжка из 70-тых годов прошлого века. Его испльзование НИКОГДА не является оправданым/нужным (если только вы не пишите на ассемблере). Любой алгоритм может быть написан без него. for/if/while и т.п. - всегда могут его заменить.
Схему покажите. Лучше в виде фотографии.
Скорее всего проблема в схеме (где-то либо КЗ либо обрыв)
Кстати, вместо
label: digitalWrite(10, HIGH); digitalWrite(11, HIGH); if(digitalRead(5)==HIGH) { goto label; }Лучше написать
digitalWrite(10, HIGH); digitalWrite(11, HIGH); while(digitalRead(5)==HIGH) {};И, если будете заводить новую ветку - постарайтесь осветить в ней как вы подключаете свою кнопку. Конечно по словам "Подтяжка есть." - можно догадатся, но не факт что догадка будет правильной. Потому что код - противоречит этому утверждению.
P.S. Если уж так хотите привлечь "ребят отсюда" - можете тут дать ссылку на новую заведенную тему тут.
P.S.S. А вообще - это не очень хороший стиль поведения - если в одной ветке не отвечают, начинать дублировать вопрос в других не отсносящихся к теме ветках. Чем-то поручика Ржевского, с его "кстати о птичках..." напоминает.
ок, понял. Ухожу
Это пиздец какой то. дуина живёт своей жизнью и хуй ложила на команды и условия. Тема называется помогите разобраться с Arduino Mega2560, так вот и помогли бы, а не умничали и рассуждали о флуде.
tsostik - человек как человек, посмотрел, посоветовал.
while не подходит, замыкает цикл и не реагирует на другие кнопки так же как и goto label.
Это пиздец какой то. дуина живёт своей жизнью и хуй ложила на команды и условия. Тема называется помогите разобраться с Arduino Mega2560, так вот и помогли бы, а не умничали и рассуждали о флуде.
Легче на поворотах. Тема называется "помогите разобратся с Arduino Mega2560" - ваш вопрос отношения к ArduinoMega2560 - никакого не имеет. Так что вы верно, САМИ определили свои посты как флуд. А на флуд - и реакция соотвествующая.
А гопо-стиль общения "ты че, очень умный?" Оставте при себе. Не нравится - не слушайте что вам советуют Впрочем вы именно этим постоянно и занимаетесь. Отсюда и все ваши проблемы.
Бардак в голове->бардак в формулировании мысли->бардак в коде->бардак в поведении ардуины.
Нам-то вы можете многое доказывать демогогией. Может даже докажете. Только вот компилятору - пофиг эта демагогоия. Ему четко и однозначно "что делать" нужно говорить. И для этого вначале нужно в голове это сложить. А вы не хотите. Считаете что это "придирки".
И пока в голове порядок не наведете (поэтому и пытаются вас вернуть по этой цепочке назад) - нифига с кодом не выйдет. Помочь вам могут только с "нехваткой специальных знаний". Помочь перевести с русского на C++ ваше желание. Но вы пока - даже по русски не можете сформулировать.
tsostik - человек как человек, посмотрел, посоветовал.
while не подходит, замыкает цикл и не реагирует на другие кнопки так же как и goto label.
А толку? Вот потому и не работает. Что он мог работать только с тем "что вы дали". Просто переформулировал ваше goto в while. Не меняя логики. Его while делает то что вы написали на goto.
А goto - было единсвенно доступная информация о том "что вы хотите".
Объяснять другим что им нужно делать - это вам не впадло. А нарисовать схему подключения, как вам сказали два челвоека, - это не барское дело. Это же самому нужно потрудится. Проще канючить. И сесть по пунктам написать, что же выхотите что-бы скетч делал - тоже не судьба. Равно как и проявить вежливость и завести отдельную тему... хотя теперь не уверен что будет желание тратить в ней силы.
Вы забыли маленький нюанс: вам никто ничего не должен.
Вся хрень заключается в том, что я пришол и попросил о помощи у людей, которые, как я увидел, на столько хорошо знают в этом толк, что мой вопрос это детский лепет. На форумах не первый день и знаком с понятием "флуд" и извинился за это, но вместо того чтоб сначала помоч, вы все занялись нравоучением, а мне, как я уже говорил, даже совета спросить не у кого. Ну залез не в ту ветку, ну нафлудил, понимаю неправ, но пинать то сразу зачем? Перечитал многое тут на форуме, дочитываю книгу по Atmel МК, я уже не говорю про ютюб, в котором из 30 минут ролика по прошивке МК 25 минут из них мы изучаем как же блин правельно нам расчитать резистор для светодиода, изучаем детально закон ома для участка цепи и надо же ещё правельно подобрать его мощьность, не забыть обратить на это внимание, причём прошивать мы будем обязательно старым хламом каким-нибудь. Как будто человек, который решил заняться изучением МК не знаект как применить закон ома. При этом не слова про саму прошивку, как она выглядит, с чего начинать и как использовать элементарные команды и в какой программе. Вот и на этом форуме рассматривал примеры, всё понятно и доступно и на эдентичных схемах всё будет, ну или должно, работать. Вот мы вводим переменную regim или flag, о о о, всё заработало. А вот бы кто сказал к чему эта переменная привязывается и при каких условиях меняется её значение. Пока в готовом скетче стоит, работаем, начинаешь оперировать ими под свою схему, а к чему тулить эти флаги знамёна хрен знает. Задаю чёткое условие if(digitalRead(5)==HIGH) { (пин правельный, на скетчах сэмплах работает) подключаю подтяжку на землю, кнопку даже не подключаю, а он сразу начинает гонять цикл по кругу иложит на if(digitalRead(5)==HIGH) {, при том что подключена кнопка что нет. Врейками пытаюсь остановить выполнение цикла в конце а скомпелироватьне могу хотя всё как в сэмпле со всеми точками. Понятно что я что то и кудато неправельно пишу и МК выполняет заданную программу, но вот только попробуй совета у понимающих спросить, да ты что, ты туда не ходи, ты сюда ходи.
Обьяснию на твоем языке.
int brightness = 0; int fadeAmount = 5; void setup() { pinMode(10, OUTPUT); pinMode(11, OUTPUT); digitalWrite(10, HIGH); digitalWrite(11, HIGH); pinMode(5, INPUT); delay(100); } void loop() { if(digitalRead(5) == HIGH) { digitalWrite(10, LOW); digitalWrite(11, LOW); delay(5000); for(byte i=0; i<153; i++) { analogWrite(10, brightness); analogWrite(11, brightness); brightness = brightness + fadeAmount; delay(30); } digitalWrite(10, HIGH); digitalWrite(11, HIGH); while(digitalRead(5) == HIGH); delay(100); } }Если с этим кодом условие if(digitalRead(5) == HIGH) все равно будет выполняться значит ты что-то нах..евертил в схеме и почитай про дребезг контактов. Если дальше будешь стоять на своем, что ты все правильно подключил и все понимаешь и что все должно работать, а оно не работает, то флаг тебе в руки и барабан на шею.
Обалдеть.
>Как будто человек, который решил заняться изучением МК не знаект как применить закон ома.
Вы так все хорошо знаете о жизни? Почитайте форум. Чуть ли не половина начинающих заниманться микроконтроллером - смутно помнит что "в школе проходили такой закон". Так что в данном случае вы попали пальцем в ж...., то есть небо.
А если вы думаете что "это невозможная глупость", то повертье ваше "человек пытается програмить не разобравшись что такое for" - не менее странно выглядит. Так что не нужно в чужих глазах бревна расматривать.
И вы так и не поняли самого главного - у вас проблема не с нехваткой технических знаний. А проблемы с коммуникацией. С людьми. Не с контроллером. По крайней мере online-ново.
Поверте, не вы первый сюда пришли с большими пробелами в знаниях. Собственно "начинающие" тут скорее правило, чем исключение. Я бы даже сказал что весь форум на начинающих ориентирован (как собственно и сама ардуина). Выско-професиональным междусобойчиком тут и не пахнет. Какие-то сверх-сложные програмерско-железные проблемы - редко обсуждаются. 90% времени - именно помощь новичкам и помощь вида "ну почему зараза не работает...".
И я это могу четко утверждать. Потому что сам в роли чайника, в железных вопросах, регулярно выступаю. И тоже задаю достаточно глупые вопросы очевидные любому схемотехнику (и не всегда ответы понимаю). И терпят, помогают, расталковывают.
Так вот все эти люди делятся на две категории. Одни смогли употребить форум с пользой для себя, найти решение своих проблемм, поднять свой уровень. И вторая, более редкая категория, которая не смогла найти общий язык.
Вы похоже явно тяготеете ко второй.
Нельзя налить воды в полный стакан.
А ваш стакан знаний похоже полон до краев. Хоть и утверждаете вы обратное, но действия говорят о том что роль "ведомого" вами прочно забыта. Возможно в жизни в слишком успешный/самостоятельный человек, привыкли диктовать "свои условия" (это я без сарказма).
Вообщем тут ждали "второй серии" - она таки состоялась. К сожалению как и многие "продолжения" - она скучна. Новых режисерских ходов - найдено небыло. Было повторение "пробега по граблям" что и в первой серии (никаких выводов сделанно небыло). Забег был "в другом антураже", но суть не изменилась.
Так что, по всей видимости, если и будет третья серия, то уже без меня. Сорри, но я выхожу из состава этого комического дуэта.
Удачи вам. Возможно это просто наша личная "ментальная не совместимость". И с кем-то другим у вас получится лучше понять друг-друга. Людей на форуме - много. Надеюсь все-таки сможете подружится и с ними и со своей ардуиной.
Обьяснию на твоем языке.
Пересел в партер.
Открыл попкорн ;)
Ну тогда погнали....