помогите новичку. счетчик

vitix
Offline
Зарегистрирован: 18.09.2015

подскажите пожалуйста как сделать вывод в Serial.print  увеличивающееся значение

например:

1

2

3

4

.....

999

1000

 

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013
vitix
Offline
Зарегистрирован: 18.09.2015

спасибо, разобрался,

int n = 0;    // уставливаем начально значение 
int up = 1;    // шаг увеличения

void setup() {
  
}

void loop() {
 
 n = n + up;
    Serial.println(n);

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

В чём должна состоять помощь, если Вы кода не привели? Написать за Вас, так это в раздел "ищу исполнителя".

 

Joiner
Offline
Зарегистрирован: 04.09.2014

vitix пишет:

подскажите пожалуйста как сделать вывод в Serial.print  увеличивающееся значение

например:

Клапауций   1

Клапауций   2

Клапауций   3

Клапауций   4

.....

Клапауций   999

Клапауций   1000

 

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

Joiner пишет:

vitix пишет:

подскажите пожалуйста как сделать вывод в Serial.print  увеличивающееся значение

например:

Клапауций   1

Клапауций   2

Клапауций   3

Клапауций   4

.....

Клапауций   999

Клапауций   1000

 

платишь франшизу размером 1$ за каждого уникального Клапауция - всё.

Joiner
Offline
Зарегистрирован: 04.09.2014

Клапауций 001 пишет:

платишь франшизу размером 1$ за каждого уникального Клапауция - всё.

Платить не буду.

Обещаю в своих интересах не использовать :)

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

Joiner пишет:

Платить не буду.

Обещаю в своих интересах не использовать :)

тогда так

int n = 0;    // уставливаем начально значение 
int up = 1;    // шаг увеличения

void setup() {
  
}

void loop() {
 
 n = n + up;
    Serial.print("Klapautsiy ");
    Serial.println(n);

 

Joiner
Offline
Зарегистрирован: 04.09.2014

Клапауций 001 пишет:

 

тогда так

int n = 0;    // уставливаем начально значение 
int up = 1;    // шаг увеличения

void setup() {
  
}

void loop() {
 
 n = n + up;
    Serial.print("Klapautsiy ");
    Serial.println(n);

 

Чета не работает...

Ашипка   

sketch_sep19a.ino: In function 'void loop()':
sketch_sep19a.ino:12:22: error: expected '}' at end of input
expected '}' at end of input
Клапауций 001
Offline
Зарегистрирован: 05.09.2015

Joiner пишет:

Ашипка   

я же говорил, что без оплаты франшизы, работать не будет.

vitix
Offline
Зарегистрирован: 18.09.2015

че за бред тут развелся?

arduinec
Offline
Зарегистрирован: 01.09.2015

vitix пишет:

че за бред тут развелся?

Это местный юмор из-за того, что на форуме Клапауциев от 0 до 999.

Andrey-S
Offline
Зарегистрирован: 02.01.2015

arduinec пишет:

vitix пишет:

че за бред тут развелся?

Это местный юмор из-за того, что на форуме Клапауциев от 0 до 999.

Я пока тока 3х видал)))

vitix
Offline
Зарегистрирован: 18.09.2015

ясно, буду дальше изучать,

soznik
Offline
Зарегистрирован: 20.09.2015
int n = 0;    // уставливаем начально значение 
int up = 1;    // шаг увеличения

void setup() {
   Serial.begin(9600); // подключаем порт
}

void loop() {
 
 n = n + up;
    Serial.print("Klapautsiy ");
    Serial.println(n);
    delay(1000); // Задержка счета 1 сек. (можно изменять)
}

Вот что вы хотели проверил работает. Сам неделю назад приобрел ардуину пробую разобраться с ней.

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

soznik пишет:

Вот что вы хотели проверил работает. Сам неделю назад приобрел ардуину пробую разобраться с ней.

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

Joiner
Offline
Зарегистрирован: 04.09.2014

soznik пишет:

Вот что вы хотели проверил работает. Сам неделю назад приобрел ардуину пробую разобраться с ней.

Проверил...да, работает. Но стиль-то не соблюдается. Должно генерироваться не

"

   Klapautsiy 1

   Klapautsiy 2   ",

а должно генерироваться -

"

   Klapautsiy 001

   Klapautsiy 002    "

   ........ и так далее

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

Joiner пишет:

Проверил...да, работает. Но стиль-то не соблюдается. Должно генерироваться не

кому должно, тому прощаю

подсказываю: если n < 10, то печатай перед ним два нуля, если меньше 100, то один.

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

а если сможешь это сделать без if-ов, чисто на формулах, то твой индекс "сообразительность" повысится на пару пунктов.

Joiner
Offline
Зарегистрирован: 04.09.2014

Tomasina пишет:

а если сможешь это сделать без if-ов, чисто на формулах, то твой индекс "сообразительность" повысится на пару пунктов.

Изломал всю голову....формулу не нашел :(

Сделал без if-ов, но условие все равно проверяется

int n = 0;    // уставливаем начально значение 
int up = 1;    // шаг увеличения

void setup() {
   Serial.begin(9600); // подключаем порт
}

void loop() {
 
 n = n + up;
    Serial.print("Klapautsiy ");
        for (int i=2; i >=(String(n).length()); i--){
        Serial.print("0");
    }
    Serial.println(n);
    delay(1000); // Задержка счета 1 сек. (можно изменять)
}

Колитесь, что там за формула?

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

э, мало голову ломал, тут все просто:

void loop() {
  while(n < 999)                               // пока условие выполняется, делаем
  {
    n++;
    Serial.print("Klapautsiy ");
    Serial.print(1000 - (1000 - n/100));       // выводим номер сотни
    Serial.print(((100 - (100 - n/10))) % 10); // выводим последнюю цифру из номера десятка
    Serial.println(n % 10);                    // выводим только последнююю цифру
    delay(1000);                               // Задержка счета 1 сек. (можно изменять)
  }
}

 

 

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

Ну и для любителей краткости можно использовать сокращенный if...:

void loop() {
  while(n < 999) Serial.println("Klapautsiy " + String(n < 9 ? "00": n < 99 ? "0":"") + ++n);
  delay(1000);
}

Только детям на ночь не показывайте...

Joiner
Offline
Зарегистрирован: 04.09.2014

Tomasina пишет:

э, мало голову ломал, тут все просто:

void loop() {
  while(n < 999)                               // пока условие выполняется, делаем
  {
    n++;
    Serial.print("Klapautsiy ");
    Serial.print(1000 - (1000 - n/100));       // выводим номер сотни
    Serial.print(((100 - (100 - n/10))) % 10); // выводим последнюю цифру из номера десятка
    Serial.println(n % 10);                    // выводим только последнююю цифру
    delay(1000);                               // Задержка счета 1 сек. (можно изменять)
  }
}

Спасибо за формулу. Опять узнал кое чего нового. Ваш код короче получился на 38% и работает четко до Klapautsiy 999. На сколько знаю, это его предельное значение.

А мой скетч работает без ограничений. Клапауций забракует.

Joiner
Offline
Зарегистрирован: 04.09.2014

Tomasina пишет:

Ну и для любителей краткости можно использовать сокращенный if...:

void loop() {
  while(n < 999) Serial.println("Klapautsiy " + String(n < 9 ? "00": n < 99 ? "0":"") + ++n);
  delay(1000);
}

Только детям на ночь не показывайте...

Класс! Мне, видимо, жизни не хватит, чтобы все это понять :(

Но в коде, видимо ошибка. delay(1000) там не работает. Строчки летят как из пулемета

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

оно только с виду страшное, на самом деле простое.

Joiner
Offline
Зарегистрирован: 04.09.2014

Tomasina пишет:

оно только с виду страшное, на самом деле простое.

Спасибо. Завтра постараюсь осмыслить.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Joiner пишет:

Но в коде, видимо ошибка. delay(1000) там не работает. Строчки летят как из пулемета

Уберите точку с запятой после while. В смысле на запятую замените.

Joiner
Offline
Зарегистрирован: 04.09.2014

ЕвгенийП пишет:

Joiner пишет:

Но в коде, видимо ошибка. delay(1000) там не работает. Строчки летят как из пулемета

Уберите точку с запятой после while. В смысле на запятую замените.

Спасибо. Заменил.

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

Tomasina пишет:

э, мало голову ломал, тут все просто:

void loop() {
  while(n < 999)                               // пока условие выполняется, делаем
  {
    n++;
    Serial.print("Klapautsiy ");
    Serial.print(1000 - (1000 - n/100));       // выводим номер сотни
    Serial.print(((100 - (100 - n/10))) % 10); // выводим последнюю цифру из номера десятка
    Serial.println(n % 10);                    // выводим только последнююю цифру
    delay(1000);                               // Задержка счета 1 сек. (можно изменять)
  }
}

ну, ок - а, чем такой код оптимальней использования двух if-ов, сравнивающих переменную с 10 и 100?

или, это старая религиозная песня, что if-ы - зло?

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014
int n = 0;

void setup() {
  
}

void loop() {

   Serial.print("Klapautsiy ");
   Serial.print((n/100)%10,DEC);
   Serial.print((n/10)%10,DEC);
   Serial.println(n%10,DEC);
   n++;
   n%=1000;
   delay(1000);
}

 

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

KVadik пишет:

int n = 0;

void setup() {
  
}

void loop() {

   Serial.print("Klapautsiy ");
   Serial.print((n/100)%10,DEC);
   Serial.print((n/10)%10,DEC);
   Serial.println(n%10,DEC);
   n++;
   n%=1000;
   delay(1000);
}

 

по ходу развития пьесы - щаз должны набежать профессиональные программисты и предложить писать класс Klapautsiy.

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

А потом и операционка родиться - Klapautsiy OS/001

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

KVadik пишет:

А потом и операционка родиться - Klapautsiy OS/001

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

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

не будет разрывать по одной простой причине. Нас много. И мы любим историю. поэтому так и отвечаем:

а нас - рать!

Joiner
Offline
Зарегистрирован: 04.09.2014

А мне интересно посмотреть разные пути решения. Особенно кайфую, когда удается что-то понять........а потом еще и не забыть :)

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

JollyBiber пишет:

не будет разрывать по одной простой причине. Нас много. И мы любим историю. поэтому так и отвечаем:

а нас - рать!

блин. только что Пухлявого унёс вместе с темой торнадо амнезии, теперь ты... у вас там, чего, эпидемия? -  косит самых талантливых представителей канадской нации, лишая памяти?

не так давно кого-то плющило от пяти ифов в примере использования класса кнопки - теперь ему насрать.

ок - васрать.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Клапауций 001 пишет:

блин. только что Пухлявого унёс вместе с темой торнадо амнезии, теперь ты... у вас там, чего, эпидемия? -  косит самых талантливых представителей канадской нации, лишая памяти?

не так давно кого-то плющило от пяти ифов в примере использования класса кнопки - теперь ему насрать.

ок - васрать.

Гыгыгы. Ты уже сам не помнишь о чем пишешь? Ну ты хоть перечитай свои посты.

То что ты скатился к обесцененной лексике не значит "унёс", это значит что у тебя не осталось разумных аргументов.

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

Клапауций 001 пишет:
ну, ок - а, чем такой код оптимальней использования двух if-ов, сравнивающих переменную с 10 и 100?

Ничем не оптимальней, может даже менее быстродействующий.
Так, чисто для саморазвития.

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

Tomasina пишет:

Ничем не оптимальней, может даже менее быстродействующий.
Так, чисто для саморазвития.

ок - я просто спросил, потому как не совсем понял, зачем тут формулы.

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

JollyBiber пишет:
Гыгыгы.

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

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

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

Что то я совсем запутался, Клапауциев 999 (или 1000 если отсчет от 000), а рать JollyBiberов это сколько в Клапауциях?

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Клапауций 001 пишет:

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

Симптом Шарикова. Однозначно :)

Типа кто не согласен с моим мнением тот (дальше по Клапауцию в меру своей распущенности)

Joiner
Offline
Зарегистрирован: 04.09.2014

KVadik пишет:

Что то я совсем запутался, Клапауциев 999 (или 1000 если отсчет от 000), а рать JollyBiberов это сколько в Клапауциях?

Клапауциев 999. Почитай скетч. Результ  -  начинается 001 и т.д. до 999

Скетч-то запусти....пока он в свободном доступе.

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

от 1 не кошерно, это вам любой трупрограммер скажет

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

JollyBiber пишет:

Симптом Шарикова. Однозначно :)

гыгыгы... или, как это по-канадски.

*синдром, а не симптом.

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

Joiner пишет:

KVadik пишет:

Что то я совсем запутался, Клапауциев 999 (или 1000 если отсчет от 000), а рать JollyBiberов это сколько в Клапауциях?

Клапауциев 999. Почитай скетч. Результ  -  начинается 001 и т.д. до 999

Скетч-то запусти....пока он в свободном доступе.

так.

Клапауции начинаются с 000 - все, коды не соответвующие диапазону 000-999 признаю неканоническими форками.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Клапауций 001 пишет:

JollyBiber пишет:

Симптом Шарикова. Однозначно :)

гыгыгы... или, как это по-канадски.

*синдром, а не симптом.

У тебя много всяких разных? Синдром - совокупность симптомов.

soznik
Offline
Зарегистрирован: 20.09.2015

Ну вот пустились в перебранку.

А так хорошо начиналось

Я на ваших скетчах учился.

Продолжение будет?

Или подкинуть новый скетч в эту ветку здесь собрались знающие люди.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012
for(int i = 0; i<10; i++) {
    Serial.prinln("Klapautsiy 00" + i);
}

for(int i = 10; i<100; i++) {
    Serial.prinln("Klapautsiy 0" + i);
}

for(int i = 100; i<1000; i++) {
    Serial.prinln("Klapautsiy " + i);
}

 

soznik
Offline
Зарегистрирован: 20.09.2015

 Serial.println("Klapautziy 00" + i);

 У вас   Serial.prinln("Klapautziy 00" + i);

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

бывает, чё.