Категория все для "чайников" или поможем друг другу

vvs
Offline
Зарегистрирован: 01.02.2014

Предлагаю в этом разделе помогать друг другу тем кто только делает первые шаги, дабы не путаться под  нгами у нашей "проффесуры" а там может и кто из них нам подскажет. я вот сейчас ковыряю DHT 11, результат - на мониторе порта показания все по нулям, библиотеку брал там где покупал датчик, включил правильно...но?!

msng
Offline
Зарегистрирован: 07.06.2012

ну так схему подключения для начала надо...

vvs
Offline
Зарегистрирован: 01.02.2014

да вообщем стандартная

+5В на 1-ю ногу;

+5В через резистор на 2-ю ногу, отсюда же на 2 pin;

общий на 3 ногу.

Вот так.

vvs
Offline
Зарегистрирован: 01.02.2014

программа вот:

// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain

#include "DHT.h"

#define DHTPIN 2     // what pin we're connected to

// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println("DHTxx test!");
 
  dht.begin();
}

void loop() {
  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // check if returns are valid, if they are NaN (not a number) then something went wrong!
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } else {
    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.println(" *C");
  }
}

msng
Offline
Зарегистрирован: 07.06.2012

vvs пишет:

да вообщем стандартная

+5В на 1-ю ногу;

+5В через резистор на 2-ю ногу, отсюда же на 2 pin;

общий на 3 ногу.

Вот так.

там четыре ноги

vvs
Offline
Зарегистрирован: 01.02.2014

четвертая нога висит в воздухе, так в документации указано.

msng
Offline
Зарегистрирован: 07.06.2012

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

vvs
Offline
Зарегистрирован: 01.02.2014

да пардон не правильно написал - третья в воздухе, четвертая - общий.

Alexander
Offline
Зарегистрирован: 25.04.2010
msng
Offline
Зарегистрирован: 07.06.2012

возможно "делай" нужно поставить

сопротивление какое между выходом и +?

 

msng
Offline
Зарегистрирован: 07.06.2012

и еще, нужно ли ногу контроллера настроить как вход?

vvs
Offline
Зарегистрирован: 01.02.2014

Вот эта строчка подключает 2-й вход контроллера: #define DHTPIN 2     // what pin we're connected to

сопротивление пишут 5-10 кОм.

vvs
Offline
Зарегистрирован: 01.02.2014

понял. исправлюсь!

msng
Offline
Зарегистрирован: 07.06.2012

а на счет delay ?

может данные не успевают прочитаться?

vvs
Offline
Зарегистрирован: 01.02.2014

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

vvs
Offline
Зарегистрирован: 01.02.2014

ВООТ поменял оболочку на новую версию....и все заработало!!!

cactous
Offline
Зарегистрирован: 18.11.2013

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

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

promistrio
Offline
Зарегистрирован: 09.02.2014

Добрый день. У меня довольно глупая ситуация, которую я никак не могу решить. Купил себе Arduino Nano. Научился включать светодиод. Начал искать нумерацию пинов(pin), чтобы из можно было использовать в

digitalWrite(pin,value);

Вот смотрю на плате есть вывод D5. Как мне включить его?

digitalWrite(5,HIGH);

Так на плате есть еще и A5 вывод. Почему LED имеет номер 13? Как вообще определить каждый вывод. Мануалы читал, гуглил и все без толку.

Заранее спасибо

com
Offline
Зарегистрирован: 06.09.2013

A - analog, D - digital

а функция называется digitalWrite

promistrio
Offline
Зарегистрирован: 09.02.2014

А если я хочу использовать аналоговые выводы, как цифровые?

MaksMS
Offline
Зарегистрирован: 11.03.2013

У аналоговых нумерация идет дальше ,т.е. А0 - это 14-й номер и т.д..

promistrio
Offline
Зарегистрирован: 09.02.2014

А можно, где-то эту маркировку найти? Есть, например, вывод 5V. Зачем он нужен, как его использовать?

com
Offline
Зарегистрирован: 06.09.2013
promistrio
Offline
Зарегистрирован: 09.02.2014

Как там найти пин с номером 1(всмысле D1)?

com
Offline
Зарегистрирован: 06.09.2013

promistrio пишет:

Как там найти пин с номером 1(всмысле D1)?

вы принципиально читать не хотите?

msng
Offline
Зарегистрирован: 07.06.2012

com пишет:

вы принципиально читать не хотите?

[/quote]

 

))) ну темаж для "чайников" ))))

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

я повелитель хугла!

в общем - нумерация начинается с D0(RX) до D13 затем D14(A0) и так далее...

promistrio
Offline
Зарегистрирован: 09.02.2014

Спасибо за все. Что-то как я не повелевал гуглом, не вышло. Плохой с меня повелеватель.

vvs
Offline
Зарегистрирован: 01.02.2014

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

[code]
/*
  Analog Input
 Demonstrates analog input by reading an analog sensor on analog pin 0 and
 turning on and off a light emitting diode(LED)  connected to digital pin 13.
 The amount of time the LED will be on and off depends on
 the value obtained by analogRead().

 The circuit:
 * Potentiometer attached to analog input 0
 * center pin of the potentiometer to the analog pin
 * one side pin (either one) to ground
 * the other side pin to +5V
 * LED anode (long leg) attached to digital output 13
 * LED cathode (short leg) attached to ground

 * Note: because most Arduinos have a built-in LED attached
 to pin 13 on the board, the LED is optional.


 Created by David Cuartielles
 modified 30 Aug 2011
 By Tom Igoe

 This example code is in the public domain.

 http://arduino.cc/en/Tutorial/AnalogInput

 */

int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 13;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);
  // turn the ledPin on
  digitalWrite(ledPin, HIGH);
  // stop the program for <sensorValue> milliseconds:
  delay(sensorValue);
  // turn the ledPin off:
  digitalWrite(ledPin, LOW);
  // stop the program for for <sensorValue> milliseconds:
  delay(sensorValue);
}

[/code]

 

vvs
Offline
Зарегистрирован: 01.02.2014

Вот описание прочитай http://arduino.ru/Hardware/ArduinoBoardLeonardo

promistrio
Offline
Зарегистрирован: 09.02.2014

>Вот описание прочитай http://arduino.ru/Hardware/ArduinoBoardLeonardo

Читал. У меня nano, но я уже все понял спасибо еще раз.

vvs
Offline
Зарегистрирован: 01.02.2014

там есть и твой, в контроллерах посмотри

 

MexaHuk
Offline
Зарегистрирован: 13.02.2014

Помогите разобраться.

У меня китайский клон - Makerduino Uno.

В документации на Аrduino Uno написано, что целые числа (тип данных int) - это два байта, т. е. 16 бит.

При этом, вот такой скетч

int number=4294967295;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  if (cnt==0)
 {
    Serial.println(number, BIN);
    Serial.println(" ");
    cnt=1;
  }
}

выдает в монитор порта 32 единицы.

Ну то есть int получается все-таки четыре байта.

Верить документации или монитору порта?

msng
Offline
Зарегистрирован: 07.06.2012

int занимает 2 байта памяти, и может хранить числа от -32 768 до 32 767 (от -2^15 до 2^15-1)

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

MexaHuk пишет:

Помогите разобраться.

У меня китайский клон - Makerduino Uno.

В документации на Аrduino Uno написано, что целые числа (тип данных int) - это два байта, т. е. 16 бит.

При этом, вот такой скетч

int number=4294967295;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  if (cnt==0)
 {
    Serial.println(number, BIN);
    Serial.println(" ");
    cnt=1;
  }
}

выдает в монитор порта 32 единицы.

Ну то есть int получается все-таки четыре байта.

Верить документации или монитору порта?

даже мысли не возникало запихнуть в int больше чем можно. гении просто))

step962
Offline
Зарегистрирован: 23.05.2011

Стандарт C99, раздел 6.4.4.1, цифра 6:

"If an integer constant cannot be represented by any type in its list, it may have an
extended integer type, if the extended integer type can represent its value..."
 
Вы суете в переменную типа int константу, которая может быть размещена только в переменной типа long. В соответствии с вышеупомянутым абзацем под переменную типа int выделяется место, достаточное для размещения значения типа long.
О чем в нормальных компиляторах (и GCC в их числе ) выдается предупреждение. Но в Arduino IDE вывод предупреждений выключен, чтобы не беспокоить неокрепшие умы начинающих программистов. Тот же трюк вы можете провернуть и с переменной типа char и удивить мир куда более удивительным открытием: "оказывается, тип char имеет длину 4 байта!!!".
 
В общем, читайте документацию, господа...
MexaHuk
Offline
Зарегистрирован: 13.02.2014

А я-то уж размечтался, что попался мне какой-то супердевайс.
Причем выходит так, что оно даже не long, а unsigned long получилось.
Надо попробовать переменной типа char значение 0,1 присвоить, интересно, получится ли )

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

вот зачем? в char записывать float))) что вам это даст?

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

jeka_tm пишет:

вот зачем? в char записывать float))) что вам это даст?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ага)) а может в char сразу и массив 32 битных чисел от ацп загнать, и будем функцией min max вычислять 100 гарминик от 50гц, а потом значения всех 100 гармоник в boolean отправим. будет круто))) на арудине  сделаем DSP процессор и будем смеятся над лузерами которые расчитывают необходимую частоту дискретизации и полосу входного сигнала перед тем как подать на ацп

ждем ваших тестов

MexaHuk
Offline
Зарегистрирован: 13.02.2014

Да ладно вам, интересно же.
Эксперимент показал, что запихать в char float можно, но потом прибавлять дробные значения к этой переменной нельзя.
Если "дробную" букву посмотреть в мониторе порта, будет выведен символ, соответствующий округленному значению.
:)

Kainon
Offline
Зарегистрирован: 04.02.2014

Народ, помогите пожалуйста, я в этом деле тот еще нуб, и вообще никогда никогда с этим не сталкивался... Препод дал задание, чтоб зачет поставить, есть две платы Arduino нужно организовать между ними связь при помощи светодиода и приемника, короч надо чтоб они перемигивались, кто может опишите подробно как это сделать. Заранее спасибо)

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

Kainon пишет:

Народ, помогите пожалуйста, я в этом деле тот еще нуб, и вообще никогда никогда с этим не сталкивался... Препод дал задание, чтоб зачет поставить, есть две платы Arduino нужно организовать между ними связь при помощи светодиода и приемника, короч надо чтоб они перемигивались, кто может опишите подробно как это сделать. Заранее спасибо)

так и скажи преподу, что он сам нуб - задаёт стУдентам, то что не проходили.

*дуино хоть раз запускали с блинком - нет.

*с помощью дуино состояние пинов считывали - нет.

на пенсию по несоответсвию занимаемой должности.

Kainon
Offline
Зарегистрирован: 04.02.2014

Дело в том, что я учусь на втором курсе магистратуры, препод аргументирует свое задание тем, что это вынесено на самостоятельное изучение, мол довай отчитывайся чего ты там наизучал...а я ни сном ни духом о чем он вообще...в инете поковырялся, много интересного, но по заданной теме чет ничего не нашел, тока как мигать диодом...Собственно сессия близится к концу, остался последний зачет, а степуху терять не охото...у нас она 10к...

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

Kainon пишет:

Дело в том, что я учусь на втором курсе магистратуры, препод аргументирует свое задание тем, что это вынесено на самостоятельное изучение, мол довай отчитывайся чего ты там наизучал...а я ни сном ни духом о чем он вообще...в инете поковырялся, много интересного, но по заданной теме чет ничего не нашел, тока как мигать диодом...Собственно сессия близится к концу, остался последний зачет, а степуху терять не охото...у нас она 10к...

в общем - ничего сложного нет.

*кстати - две дуино и комплектуху институт оплачивает?

читай, как нажатиями кнопок можно менять состояние пинов - подключишь светодиод и кнопку к передающей дуине.

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

передающий светодиод и фоторезистор в непрозрачную трубку поместишь.

всё.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ага. делов то. ардуины, светодиод и  фоторезистор есть  в наличии?

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

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

com
Offline
Зарегистрирован: 06.09.2013

Kainon пишет:

Дело в том, что я учусь на втором курсе магистратуры, препод аргументирует свое задание тем, что это вынесено на самостоятельное изучение, мол довай отчитывайся чего ты там наизучал...а я ни сном ни духом о чем он вообще...в инете поковырялся, много интересного, но по заданной теме чет ничего не нашел, тока как мигать диодом...Собственно сессия близится к концу, остался последний зачет, а степуху терять не охото...у нас она 10к...

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

Somerek
Offline
Зарегистрирован: 15.02.2014

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

Подйдет ли дешевый arduino pro mini?

Какой нужен ethernet shield, желательно ссылку.

Подойдет ли блок питания на 12В, как для вентиля?

Нужны ли часы реального времени?

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

Somerek пишет:

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

Подйдет ли дешевый arduino pro mini?

Какой нужен ethernet shield, желательно ссылку.

Подойдет ли блок питания на 12В, как для вентиля?

Нужны ли часы реального времени?

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

kriss
Offline
Зарегистрирован: 24.01.2014

Я  большой любитель  дачной автоматизации.  Дача в 110км.   Уже давно перепробовал много вариантов, в том числе GSM.

И пришел к выводу, что в случае НЕНАДЕЖНОГО канала связи  возникают серьезные проблемы. Например насос включился на полив и не выключается (я об этом получаю инф). Пытаюсь выключить, команда не исполняется из-за плохой связи. Последние 5 лет пользуюсь простой  и  очень надежной "безпроцессорной" логикой. Если  нужно - найду свои схемки. Вот  один из   моих альбомов на дачном форуме  по поводу  воды и полива всего и вся : http://www.forumhouse.ru/useralbums/9440/view

Ардуино узнал только пару недель назад, усиленно вникаю в программирование - поэтому интересно что у Вас получится именно в части надежности.

Я применяю электромагнитные клапана на 24В, с проходом 1", цепи управлени и контроля -12в. Плюс ИБП на случай отключения света в деревне.