добрый день! сразу говорю что я человек мало посвященный в программирование на с+ так что тапками сразу не кидайте. хотел бы попросить у вас о помощи дописать код. есть необходимость включения ардуино через аналоговый порт т.к. обычное включение происходить с задержкой а необходимо моментальное реагирование. Код (C++): // NeoPixel Ring simple sketch (c) 2013 Shae Erisson // released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library #include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> #endif // Which pin on the Arduino is connected to the NeoPixels? // On a Trinket or Gemma we suggest changing this to 1 #define PIN 6 // How many NeoPixels are attached to the Arduino? #define NUMPIXELS 5 // When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals. // Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest // example for more information on possible values. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 30; // delay for half a second void setup() { // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket #if defined (__AVR_ATtiny85__) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // End of trinket special code pixels.begin(); // This initializes the NeoPixel library. } void loop() { // For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one. for(int i=0;i<NUMPIXELS;i++){ // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255 pixels.setPixelColor(0, pixels.Color(100,50,0)); // Moderately bright green color. pixels.show(); // This sends the updated pixel color to the hardware. delay(delayval); // Delay for a period of time (in milliseconds). pixels.setPixelColor(1, pixels.Color(100,100,0)); // Moderately bright green color. pixels.show(); // This sends the updated pixel color to the hardware. delay(delayval); // Delay for a period of time (in milliseconds). pixels.setPixelColor(2, pixels.Color(50,50,50)); // Moderately bright green color. pixels.show(); // This sends the updated pixel color to the hardware. delay(delayval); // Delay for a period of time (in milliseconds). pixels.setPixelColor(3, pixels.Color(50,100,0)); // Moderately bright green color. pixels.show(); // This sends the updated pixel color to the hardware. delay(delayval); // Delay for a period of time (in milliseconds). pixels.setPixelColor(4, pixels.Color(100,50,0)); // Moderately bright green color. pixels.show(); // This sends the updated pixel color to the hardware. delay(delayval); // Delay for a period of time (in milliseconds). } }
но ардуино то предусматривает. подать на ардуино сигнал с выключателя то есть 5в и запустить основной код. так же можно ?
извиняюсь возможно я не так выразился создавая данную тему. мне нужна помощь в дополнении кода для управления ардуиной и включения основного кода через аналоговый выход платы. то есть при подаче на аналоговый выход 5в через рокерную кнопку выключался код а при выключение выключался. как то так вроде.
Если вы собираетесь типизировать выводы по типу воздействия, то хотелось бы знать зачем. Если вы собираетесь типизировать вывод по направлению передачи данных, то хотелось бы чтобы это было правильно. В чем проблема в заданный вами промежуток времени проверять уровень на выводе и действовать соответственно? Почему не рубить питание?
просто необходимо при переключении выключателя запустить программу код которой выше. при вкл\выкл питания есть задержка на включение ардуины! сама ардуина будет постоянно на питании сидеть.
Попробуйте прерывания, только их нет на "аналоговых" (там где есть АЦП) выводах (ведь вы про них говорили?) или в цикле проверять значение напряжения.
Оберните цикл for в Код (C++): If (digitalRead(A0) == HIGH) { } А0 к минусу подключите через резистор от килоома.
Очевидно, что при выключении питания МК включиться не может. Выключение МК определяется остаточными зарядами в емкостях цепей питания. Скорость включения МК зависит от выставленных фьюзов и скоростью инициализации программы. И вот здесь настал момент, когда самое время отказаться от абдурины, ибо ее тормоза лечатся исключительно эктомией.
Я не могу понять паровоза. Откуда столько ненависти к ардуино? Я сам не очень большой сторонник этого девайса,но тем не менее спокойно его терплю. Паровоз даже дал ей оскорбительное название. Паровоз,она тебе,что на ногу упала? Или ты об неё поцарапался?
От неумения понять эту замечательную платформу: все пытается объяснить, что ложка лучше вилки. Спойлер: Оффтоп Когда я только взял в руки Ардуино, столкнулся с микросхемой DS2438. Ничего особо не понимая, взял библиотеку и сделал устройство. Работающее. Прошло время, перешёл из ясельной группы детского сада в старшую, уже с "высоты" посмотрел на эту библиотеку и, разобравшись как она работает, поняв все ее косяки, сделал свою. Переписал полностью. Я благодарен труду того неизвестного человека, который помог мне решить задачу дважды.
не ты один. это не я. Девайс, кстати, не плох. Я на нем программатор сделал, за который даже китайцы просят 20$/ Терпеть не могу столь агрессивное продвижение по сути игрушки. Посмотрите на темы на абдурино-форумах - люди-нули даже не пытаются разбраться в предмете, а только - вы должны помочь, вы обязаны рассказать, памагите, смогу ли я?, и пр. пр. пр...
Та я не возражаю. Мне лично ардуино нравится по единственной причине. Много вариантов для"копипаще ния" Вот например ИгорьК пишет,что Паровоз сравнивает ложку с вилкой и что ложка лучше вилки. Я например вилкой расковырять проблему(ардуино) ,а кушать при желании могу и ложкой( STM и пр)
А в социальной сети можно больше идей стырить,потому что болтают больше, в отличие от узко направленных форумов.
Как говорил Иехи́ел-Лейб Арьевич Фа́йнзильберг- Идея, товарищи, — это человеческая мысль, облечённая в логическую шахматную форму в библиотеки для ардуино, и нужно много мыслей, чтобы их не использовать.
Спасибо помогло. Правда с дописыванием еще пары строк) А еще заметил разницу во включении самой абдурины uno (как называет ее старый локомотив) : чип формфактора dip28 время включения примерно 2-4сек чип TQFP32 включение моментальное без задержек (с платой nano не проверял т.к нету) Обе китайские и покупались у одного продавца. Так что спасибо еще раз за совет но буду использовать свой код без изменений с той платой которая включается без задержки.