Библиотеки с нуля.

Здесь обсуждаем Arduino
Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Библиотеки с нуля.

Сообщение GhostX » 31 дек 2015, 14:08

Оп, опять все по другому.))
Ну так в принцепе понятно все. Не уверен, что сегодня еще выпадет свободное время за компом посидель...
Думаю, что переложив все на свои скетчи разберусь досконально.
}Data;
И
}LED;

Это что?
Я думал, это данные ввода в класс... Немного не по русский написал, нет компа под рукой быстренько подглядеть что как называется. :)
Хотя LED, вообще не понятно от куда...
Она же должна называться так же как и класс...?!
Блин, как же оно называется... Доберусь до компа, отредактирую сообщение.

Аватара пользователя
gurvinok
Сообщения: 1500
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Библиотеки с нуля.

Сообщение gurvinok » 31 дек 2015, 14:21


class имя_класса {
private:
приватные (только в этом классе) данные и функции
public:
публичные данные и функции
}список объектов к которым обращаемся;


Данный скетч рабочий. Если залить в ардуину, то светодиод заморгает. Я в третий раз говорю. ООП это после функций и структур. Не надо бежать впереди паровоза.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Библиотеки с нуля.

Сообщение GhostX » 31 дек 2015, 15:39

Спасибо большое за разъяснение. Они сильно ускоряют процесс обучения!

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Библиотеки с нуля.

Сообщение GhostX » 03 янв 2016, 01:22

Где можно почитать, о таких отличиях тут
class имя_класса {
private:
приватные (только в этом классе) данные и функции
public:
публичные данные и функции
}список объектов к которым обращаемся;
и у меня, вот так все работает.
class имя_класса {
//private: вообще отсутствует
приватные (только в этом классе) данные и функции
public:
публичные данные и функции
}список объектов к которым обращаемся;
список тут или может быть после еще одного класса. (Точка с запятой ключевой момент. Но у них свои точка с запятой)
подчеркнутое отсутствует.
взял я это не отсебятиной, а из не многих примеров.
которые брал за основу и перекраивал полностью содержимое, оставляя порядок, расположение самой "коробки" класса...

Аватара пользователя
gurvinok
Сообщения: 1500
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Библиотеки с нуля.

Сообщение gurvinok » 03 янв 2016, 13:20

class имя_класса {
private:
приватные (только в этом классе) данные и функции
public:
публичные данные и функции
}список объектов к которым обращаемся;
Это стандартный полный пакет класса для С++.
список объектов к которым обращаемся;
Их может вообще не быть. Может быть один или несколько. Несколько разделяются запятой. Точка с запятой в конце должна быть всегда.

По поводу книги. http://padabum.com/d.php?id=16885
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Библиотеки с нуля.

Сообщение GhostX » 08 янв 2016, 19:05

Книга отличная. И кстати где то я ее в живую видел, обложка запомнилась.)) Но прочитать ее, всю, это считай подвиг.
Вопрос есть. Хоть ответ я в ней и нашел, наверное, но не понял. стр. 236
Есть библиотека для работы с DHT11, не могу температуру в класс засунуть, ее показания.
Просто 0 выдает. Хотя с библиотеки данные приходят, в сериал выкидывает верное значение, а в класс загоняю данные, они уже 0... ну так в сериал выдает.
Что я не так делаю?

Код: Выделить всё

//классы
class Temperatura
{
	private:
		 int Humidity; //влажность 
		 int temperature; //температура
	public:
	Temperatura(int H, int T)
	{
		temperature = T;
	}
         int proverka(void){
	    Serial.print("vnutri: ");
            Serial.println(temperature);
	 }				
			
	
			
};
Temperatura Data(dht.readHumidity()-2, dht.readTemperature()-2); // -2, это корректировка значения датчика
void setup()
{
}
void loop()
{
int t = Data.proverka();
    Serial.print("data: ");
    Serial.println(t); 
}

Аватара пользователя
gurvinok
Сообщения: 1500
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Библиотеки с нуля.

Сообщение gurvinok » 08 янв 2016, 19:31

Ну например функция Temperatura(int H, int T) нигде не вызывается, отсюда и ноль.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Библиотеки с нуля.

Сообщение GhostX » 08 янв 2016, 20:48

Надо понимать, что вот эта строка вводит первоначальные данные, и ее надо дергать на каждом кругу?
Temperatura Data(dht.readHumidity()-2, dht.readTemperature()-2); // -2, это корректировка значения датчика
Из функции инт проверка?
Чтоб она свое состояние обновляла?

Аватара пользователя
gurvinok
Сообщения: 1500
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Библиотеки с нуля.

Сообщение gurvinok » 08 янв 2016, 20:59

Да ну. А где объект класса. Что це таке Data?
Я наверное это просто так писал.
class имя_класса {
private:
приватные (только в этом классе) данные и функции
public:
публичные данные и функции
}список объектов к которым обращаемся;
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Библиотеки с нуля.

Сообщение GhostX » 08 янв 2016, 21:07

Сейчас не дома, как приеду напишу откуда я это вытащил. Но там работало именно так...

Ответить