В помощь новичку по ARDUINO

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

н и х и (е ) р а - не согласен, т.е.
мине помогали многие ( спина тока болит ) ; пинками , советами , кодами наконец-то.....
...начинающим надо помогать и кодами

Гриша , накидать код для наводки - делов-то вам на 20 мин , а мине на 6 часов.....
...для мыслящих

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

Гриша
Offline
Зарегистрирован: 27.04.2014

SU-27-16 пишет:

а куда девацца головастикам?

1) я и не вмешивался (не я тему спамил)

2) нужно всегда учиться упрощать, дробить, делить на элементарные вещи.

3) могу посоветовать, НО не могу научить - нет пеодагогического образования.

4) мой пост общий, и внем есть очень толковый совет, когда я чего-то не понимаю (что в переменной) я всегда выкидываю ее в порт и смортрю. так что, он не утопический и вполне конкретный.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Но я тоже терпеть не могу "котов" которые вылизывают..., а потом требуют рыбу (у меня кот воспитан правильно, к столу приходит за едой, когда все встали из-за стола).
мой может :
- узнавать миня за 100...150 метров ( по ветру )
- приходить к парадной к 10:30 раз в четыре суток через трое ( бывает )
- спать где придётся - рыбалка, охота
- не играцца элементами РЭ , до получения "прихода по башне"
у некоторых коты и ПУХЛЕЕЕЕЕЕЕ , но умнее !
Нет ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Гриша пишет:

SU-27-16 пишет:

а куда девацца головастикам?

Вполне конкретный.

сделал сисТик на СТ_1 - 26 mS
всё нормально , светик мигает, функцПоПрерыв - работает....

пока в обработчике по переполнению не вызвать функцию опроса датчика давления BMP085........

........и куда мине бечь ? создавать тему ?

А ?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

SU-27-16 пишет:

сделал сисТик на СТ_1 - 26 mS
всё нормально , светик мигает, функцПоПрерыв - работает....

пока в обработчике по переполнению не вызвать функцию опроса датчика давления BMP085........

........и куда мине бечь ? создавать тему ?

А ?

Это про что вобще? Что-то мне напоминает стиль изложения нашего коллеги art100 :))

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

dimax пишет:

Это про что вобще? Что-то мне напоминает стиль изложения нашего коллеги art100 :))

это его младший брат-близнец

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

dimax пишет:

SU-27-16 пишет:

сделал сисТик на СТ_1 - 26 mS
всё нормально , светик мигает, функцПоПрерыв - работает....

пока в обработчике по переполнению не вызвать функцию опроса датчика давления BMP085........

........и куда мине бечь ? создавать тему ?

А ?

Это про что вобще? Что-то мне напоминает стиль изложения нашего коллеги art100 :))

это именно иммитация под него, хохма....
...а реальная проблема - изложена выше :(

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

вызов функции библиотечной из прерывания.... затыкается сразу :(
- вызывающая = от ST_1 раз  в 26.....30 mS
- вызываемая - из <Adafruit_BMP085.h> , любая !
...через micros() - нормально работает

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

SU-27-16. вобще не мешало бы скетч в студию так сказать... Из под прерывания какого, натурального, типа timer_ovf_vector?  Если библа юзает другие прерывания, то само собой зависнет, по-умолчанию прерывание из-под прерывания запрещено. Но как говорится если вы знаете что делаете, то можно разрешить :) ISR (TIMER1_OVF_vect,  ISR_NOBLOCK)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

dimax пишет:

SU-27-16. вобще не мешало бы скетч в студию так сказать... Из под прерывания какого, натурального, типа timer_ovf_vector?  Если библа юзает другие прерывания, то само собой зависнет, по-умолчанию прерывание из-под прерывания запрещено. Но как говорится если вы знаете что делаете, то можно разрешить :) ISR (TIMER1_OVF_vect,  ISR_NOBLOCK)

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

факт - в прерывании по сравнению для ST_1 светик мигает , вывод в сериал идёт....
КАК только в прерывании прописать обращение к датчику давления - всё виснет....

переделал код через millis() , что миня не устраивает ( ручная подгонка под 1000 mS }
......работает

коды вариантов выложить пока не смогну  - не знаю когда......
...зависимый от сети

.....может быть библа датчика борется с ST_1 ?

Arhat109
Offline
Зарегистрирован: 26.05.2015

SU-27-16 пишет:
... мой может :
- узнавать миня за 100...150 метров ( по ветру )

...

Блин, тоже потроллю: "МЫТЬСЯ не пГобовали?" :)

... а впрочем, и так понятно.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

ОН, скотино, визуально опредеяет как-то...
а из вас ТРОЛЛЬ - нюхатель, наверное, хороший ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

"мне мама в детсве выколала глазки,
чтоб я в шкафу варенье не нашёл,
я не хожу в кино и не читаю сказки,
ЗАТО я НЮХАЮ и СЛЫШУ хорошо !"
(С)

sir90
Offline
Зарегистрирован: 02.01.2016

помогите со скетчем

 

int time;
#include <Servo.h> 
Servo myservo;

void setup() { 
  // устанавливаем пин как вывод управления сервой  
  myservo.attach(9);
}

void loop() {  
if(time == 14.40 ){  myservo.write(0);  
  delay(2000);
 }  
  myservo.write(90);  
  delay(2000); 
  
  myservo.write(180);  
  delay(2000);
  
}

суть чтобы каждый день в7 утра поворачивался на 180 градусов на 1 секунду и возвращался назад.

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

sir90 пишет:

суть чтобы каждый день в7 утра поворачивался на 180 градусов на 1 секунду и возвращался назад.

А что, то, что Вы привели не работает? Удивительно!

Можете объяснить построчно, что Вы хотели сделать и как по Вашему это должно работать?

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

sir90 пишет:

помогите со скетчем

 

int time;
#include <Servo.h> 
Servo myservo;

void setup() { 
  // устанавливаем пин как вывод управления сервой  
  myservo.attach(9);
}

void loop() {  
if(time == 14.40 ){  myservo.write(0);  
  delay(2000);
 }  
  myservo.write(90);  
  delay(2000); 
  
  myservo.write(180);  
  delay(2000);
  
}

суть чтобы каждый день в7 утра поворачивался на 180 градусов на 1 секунду и возвращался назад.

очевидно же!, что:

int time;
#include <Servo.h> 
Servo myservo;

void setup() {
myservo.attach(9);
}

void loop() {
if(time == 7.00 ){
myservo.write(180);
delay(1000);
myservo.write(-180);
}
}

 

ВН
Offline
Зарегистрирован: 25.02.2016

имеет смысл в конце цикла добавить еще одну задержку, чтобы гарантированно не было повтора, т.е. время перешло на 7.01

или же усложнить обработку для исключения подобного случая

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Конечно имеет, особенно учитывая тот факт, что приведённый скетч - это стёб чистой воды :) 

Araris
Offline
Зарегистрирован: 09.11.2012

То есть, если я объявлю переменную int date, то у меня там будет текущая дата, скажем, в формате дд.мм.гггг ? ВН, а Вам не кажется это абсурдным ?

ВН
Offline
Зарегистрирован: 25.02.2016

черовски не люблю много писать, а тем более объяснять очевидные вещи.

И не стремлюсь ответить на все вопросы сразу - жизни не хватит. 

Формально код Клапауций 232 отвечает на вопрос,  "суть чтобы каждый день в7 утра поворачивался на 180 градусов на 1 секунду и возвращался назад." Автор не спрашивал, как там организовывать обработку времени, т.е. преполагается что он сам ее может реализовать в том виде котором представил, что вполне решаемо.

Так есть жеаление просто ответить автору по существу или таки побазарить вообще "за жизнь"?

 

ВН
Offline
Зарегистрирован: 25.02.2016

Araris пишет:

То есть, если я объявлю переменную int date, то у меня там будет текущая дата, скажем, в формате дд.мм.гггг ? ВН, а Вам не кажется это абсурдным ?

"Для Unix-подобных систем  изначально было заложено 32-х битное время, измеряемое в секундах, с отсчетом от 01.01.1700 - года принятия Григорианского календаря. При этом в переменной также используется знак, поэтому на деле используется только 31 бит, что приводит к тому, что время закончится в 03:14:07, вторник, 19 января 2038 года."

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

ВН пишет:

Araris пишет:

То есть, если я объявлю переменную int date, то у меня там будет текущая дата, скажем, в формате дд.мм.гггг ? ВН, а Вам не кажется это абсурдным ?

"Для Unix-подобных систем  изначально было заложено 32-х битное время, измеряемое в секундах, с отсчетом от 01.01.1700 - года принятия Григорианского календаря. При этом в переменной также используется знак, поэтому на деле используется только 31 бит, что приводит к тому, что время закончится в 03:14:07, вторник, 19 января 2038 года."

А теперь внимание, ВОПРОС: какая размерность int на 8-мибитной платформе AVR? Где там ВНЕЗАПНО 32 бита? Прежде чем оправдывать свою глупость - неплохо было бы матчасть немного подучить. Я уже не говорю о том, что в приведённом стёбном скетче идёт сравнение int с float (7.00), что какбэ уже нам намекает, что ни о каком таком времени речи там не идёт. И не надо сюда притягивать за уши unixtime.

ВН
Offline
Зарегистрирован: 25.02.2016

DIYMan пишет:
... в приведённом стёбном скетче идёт сравнение int с float (7.00) 

кроме претензий к типу еще какие-то вопросы к скетчу у тебя есть?

еще само преставление времени в виде float не наравится, так понял.. все? или еще что-то?  

 

Гриша
Offline
Зарегистрирован: 27.04.2014

как выглядит правильно написанный скетч:

//Arduino Lesson 3
//PWM LED Brightness Control

int potpin=0;//Define analogue interface.#0
int ledpin=11;//Define digital interface #11.(PWM output) 
int val=0;// temporary storage the Variable value from the sensor
void setup()
{
pinMode(ledpin,OUTPUT);// Define digital interface #11 as output
Serial.begin(9600);//Setup Baud rate as 9600
// Note: analogue interface default setup is input.
}
void loop()
{
val=analogRead(potpin);// Read analogue value from sensor and assign to val
Serial.println(val);//Show val variable.
analogWrite(ledpin,val/4);// Turn on LED and set up brightness(PWM max.output value 255) 
delay(10);//Delay 0.01 sec.
}

в нем автор в ответе за каждую строку, о чем соответствующий комент к каждой строке. Если собрать все коменты в единый текст получим алгоритм, который составляется по ТЗ. (это в идеале)
Коли топик называется " В помощь новичку по ARDUINO"  рискну дать советы (помочь):
1) необходимо разделить задачу на подзадачи. такие как: а. реализовать работу часов, б. получить событие (мигать LED, по совпадению времени) в. научиться управлять сервой с кнопок.
2) когда выполнено первое, собрать части в единый скеч уже проблем не составит.

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

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

ВН пишет:

DIYMan пишет:
... в приведённом стёбном скетче идёт сравнение int с float (7.00) 

кроме претензий к типу еще какие-то вопросы к скетчу у тебя есть?

еще само преставление времени в виде float не наравится, так понял.. все? или еще что-то?  

Т.е. ты отказываешься признать, что твои отсылания к unixtime тут как не пришей к п.де рукав, так? Что с размерностью типа int ты вообще не знаешь, как оно там устроено? Что не понимаешь или делаешь вид, что не понимаешь, что приведённый скетч - стёбный?

Ок, так и запишем - поциент играет в несознанку.

З.Ы. И да, к сравнению int с float у меня БОООЛЬШИЕ претензии. Хотя бы потому, что так - не сравнивают числа с плавающей запятой НИКОГДА. Почему - да не буду тебе объяснять, всё равно, по ходу, соскочишь в несознанку опять :)

Гриша
Offline
Зарегистрирован: 27.04.2014

DIYMan, плиз объясните новичку, как обсуждение красивого и нужного "болта" (т.е. его длины, цвета, резьбы и п.р.), поможет поехать авто без мотора? или у вас закусь не по посту 114?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Гриша пишет:

DIYMan, плиз объясните новичку, как обсуждение красивого и нужного "болта" (т.е. его длины, цвета, резьбы и п.р.), поможет поехать авто без мотора? или у вас закусь не по посту 114?

Указанный пост тоже упоротый, Клапауций просто постебался, а вот один т-щ в ответ на стёб начал нести какую-то пургу про unixtime и т.п. Причём совершенно без знания предмета. И закусь тут не при чём - если кому закучывать и надо, так это точно не мне, я не пью, от слова "совсем".

Гриша
Offline
Зарегистрирован: 27.04.2014

ИМХО
1) sir90==ВН, который забыл пароль
2)

int time; // это не системное время, а просто константа!!!! в ардуино нет вызова системного времни контроллера, там вообще нет часов




#include <Servo.h> 
Servo myservo;

void setup() {
myservo.attach(9);
}

void loop() {
if(time == 7.00 ){
myservo.write(180);
delay(1000);
myservo.write(-180);
}
}

но могу быть и не прав...
 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Гриша, повторюсь:

1. Скетч - СТЁБ, не более того;

2. Даже если бы был не стёб: так сравнивать числа с плавающей запятой - не надо НИКОГДА.

Клапауций жёстко протроллил, однако :)

Гриша
Offline
Зарегистрирован: 27.04.2014

DIYMan пишет:

Клапауций жёстко протроллил, однако :)

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

очевидно же!,

ВН
Offline
Зарегистрирован: 25.02.2016

DIYMan пишет:

Указанный пост тоже упоротый, Клапауций просто постебался, а вот один т-щ в ответ на стёб начал нести какую-то пургу про unixtime ... 

ну давай,  покажи пальцем, где ты тут узрел unixtime

ВН пишет:
имеет смысл в конце цикла добавить еще одну задержку, чтобы гарантированно не было повтора, т.е. время перешло на 7.01

или же усложнить обработку для исключения подобного случая 

занимаешься дешевым передергиаением.... не охота о тебя мараться

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

ВН пишет:

ну давай,  покажи пальцем, где ты тут узрел unixtime

Тебе тебя процитировать что-ли? Пургу, которую ты прогнал, пытаясь выглядеть бодренько, и притянув сюда unixtime и сходу поженив шестнадцатибитный ардуиновский int с тридцатью двумя битами? Держи, кушай, не обляпайся:

ВН пишет:

"Для Unix-подобных систем  изначально было заложено 32-х битное время, измеряемое в секундах, с отсчетом от 01.01.1700 - года принятия Григорианского календаря. При этом в переменной также используется знак, поэтому на деле используется только 31 бит, что приводит к тому, что время закончится в 03:14:07, вторник, 19 января 2038 года."

К чему был этот гон с твоей стороны - сие ведомо только докторам.

ВН пишет:

имеет смысл в конце цикла добавить еще одну задержку, чтобы гарантированно не было повтора, т.е. время перешло на 7.01

Какую задержку, отче? Ты пытаешься сравнить int и float и вообще не понимаешь, что время тут - не при чём, от слова "вообще". В приведённом СТЁБНОМ скетче работы со временем нет вообще.

А чтобы ты уже просветлился, повторюсь в третий раз: сравнивать так, как это сделано, число с плавающей запятой - нельзя, ибо это источник трудноуловимых косяков. Хорошо ещё, что левый операнд имеет тип int, и мы можем положиться на компилятор, который может (но не обязан) преобразовать правый операнд к такому же типу. А если нет? 7.00 - это вообще не 7.00, и 7.01 - это далеко не 7.01, но тебе ведь бессмысленно давать ссылки на документацию, не так ли?

ВН пишет:

занимаешься дешевым передергиаением.... не охота о тебя мараться

Сделай над собой усилие, сделай. Помарайся об меня, я готов - может, начнёшь учиться читать документацию, наконец-то.

ВН
Offline
Зарегистрирован: 25.02.2016

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

НЕ БЕРИ НА ГРУДЬ ЛИШНЕГО - НЕ ДОНЕСЕШЬ же =)

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

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

ВН пишет:

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

НЕ БЕРИ НА ГРУДЬ ЛИШНЕГО - НЕ ДОНЕСЕШЬ же =)

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

 

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

ВН
Offline
Зарегистрирован: 25.02.2016

DIYMan пишет:
...повторюсь в третий раз: сравнивать так, как это сделано, число с плавающей запятой - нельзя, ибо это источник трудноуловимых косяков. 
с этим кто-то спорил?

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

так что охолони, попей водички .... может со временем и до извинений дорастешь

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

ВН пишет:

так что охолони, попей водички .... может со временем и до извинений дорастешь

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

ВН
Offline
Зарегистрирован: 25.02.2016

DIYMan пишет:
Дядя, ты дурак? 

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

Соотвественно и мой оответ с уникстайм имеет совершенно иной смысл, чем ты в него пытаешься вложить.

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

ВН пишет:

DIYMan пишет:
Дядя, ты дурак? 

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

Соотвественно и мой оответ с уникстайм имеет совершенно иной смысл, чем ты в него пытаешься вложить.

Аа, понял - ты наконец согласился с тем, что тупарь - это ты. Так и запишем. Потому как твое "даже не смотрел на типы данных" сродни "я тут, эта, картошку жарил, ну и заодно решил подсказать, какое подсолнечное масло лучше юзать. И похер, что топик про ремонт ГБЦ.".

ВН
Offline
Зарегистрирован: 25.02.2016

Почему и называю твои истерики бабскими.

Прицепился к какому-то факту, дал ему свою собственную интерпретацию  ну и понеслось ....

Рыбка ... ето щука.... щука ето зубы... зубы ето собака.... собака ето сука .

 

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

ВН пишет:

Почему и называю твои истерики бабскими.

Прицепился к какому-то факту, дал ему свою собственную интерпретацию  ну и понеслось ....

Рыбка ... ето щука.... щука ето зубы... зубы ето собака.... собака ето сука .

Это ты даёшь собственную интерпретацию, причём совершенно безграмотную, не находишь? И ещё вопрос, кто тут истерит - пока я вижу, что пукан рвёт у тебя :) Не плачь, девчонка - придут дожди.... В смысле - и ты поумнеешь :)

З.Ы. И кстати - больно ты мне напоминаешь одного упоротого дебила, который тут не так давно обитался: такое же, как и ты, примерно. Всё так же про свое больное упоминал (тебя мама в детстве бабой называла, да?), и так же пытался соскочить с темы. Ты, случаем, свой старый логин не подзабыл? :)

ВН
Offline
Зарегистрирован: 25.02.2016

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

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

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

ВН пишет:

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

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

 

Я там тебе отписал, чтобы ты залитые свои шарики-то раззул и увидел таки, на какой именно поставленный вопрос я отвечал. Но тебе это не по силам, видимо - метиловый спирт совсем мозг съел, сочувствую.