Покажи участието

От тук може да видиш всички публикации на този потребител.


Теми - shanto

Страници: [1]
1
Здравейте, предложете ми добър и най-вече бърз сензор за ардуино, който измерва температура, влажност и налягане.За предпочитане цифров.

2
Ардуино (Arduino) / Въпрос за схема с реле
« -: Юни 12, 2015, 05:00:34 pm »
Здравейте, направил съм си една схема за управление на 4 броя осветителни тела със IR приемник,дистанционно и тези релета по следната схема:


Това е кодът:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();                         // стартира IR приемника
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
//----------------------------------------------- променливи за отчитане на включване(изключване)
int i1 = 0;
int i2 = 0;
int i3 = 0;
int i4 = 0;
int i5 = 0;

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    Serial.println(results.value);
    irrecv.resume();                             // приема стойността на следващия натиснат бутон
   //--------------------------------------------- бутон 1
    if(i1 == 0 && results.value == 3739558593)
    {
      digitalWrite(6, LOW);
      i1 = 1;
    }
    else if(i1 == 1 && results.value == 3739558593)
    {
      digitalWrite(6, HIGH);
      i1 = 0;
    }
    //--------------------------------------------------- бутон 2
     else if(i2 == 0 && results.value == 1868133565)
    {
      digitalWrite(5, LOW);
      i2 = 1;
    }
    else if(i2 == 1 && results.value == 1868133565)
    {
      digitalWrite(5, HIGH);
      i2 = 0;
    }
    //--------------------------------------------------- бутон 3
    else if(i3 == 0 && results.value == 2557457189)
    {
      digitalWrite(4, LOW);
      i3 = 1;
    }
    else if(i3 == 1 && results.value == 2557457189)
    {
      digitalWrite(4, HIGH);
      i3 = 0;
    }
    //-------------------------------------------------- бутон 4
    else if(i4 == 0 && results.value == 3419589885)
    {
      digitalWrite(3, LOW);
      i4 = 1;
    }
    else if(i4 == 1 && results.value == 3419589885)
    {
      digitalWrite(3, HIGH);
      i4 = 0;
    }
   //-------------------------------------------------- Изключва всички
   else if(i5 == 0 && results.value == 3001999165)
    {
      digitalWrite(6, HIGH);
      i1 = 0;
      digitalWrite(5, HIGH);
      i2 = 0;
      digitalWrite(4, HIGH);
      i3 = 0;
      digitalWrite(3, HIGH);
      i4 = 0;
     }
   }
}
Схемата си работи, но при стартиране релетата са включени защото те се включват при подаване на логическа нула, а пиновете 3,4,5,6 при стартиране на ардуиното са в режим LOW, който подава логическа нула на релетата и те се включват.Въпросът ми е  може ли във void setup да укажа пиновете 3,4,5,6 при стартиране да са в режим HIGH, за да може релетата да не са включени по подразбиране?

Страници: [1]