• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Łączenie dwóch pinów w celu zamknięcia pętli - jak to zrobić ?
#1
Witam.

Aktualnie napisałem prosty program, który gdy odczyta jakikolwiek sygnal z diody nadawczej rózny od 0, ma poinformować o tym w oknie serial. Docelowo chciałbym aby mój program zamiast wypisywać w oknie, że faktycznie odczytuje wartość, zrobił inną czynność.

Chciałbym, żeby zamykał obwód dla dwóch zewnętrznych kabelków. Mogę to przedstawić tak:

kabelek A i kabelek B mają się ze sobą połączyć. (chociaż nie jestem pewny, czy przypadkiem po połączeniu tych dwóch pinów, na przewodzie nie poleci 12V, co jest niedozwolone na arduino, z tego co czytałem).

Myślałem, żeby w takim razie podpiąć kabelek A pod pin np 1 a kabelek B pod pin 2. W momencie, gdy poleci sygnał z IR, to łączę mostkuję dwa piny 1 i 2 - w ten sposób osiągam zamierzony cel.

Natomiast nigdzie nie mogłem znaleźć w jaki sposób mostkować piny, jedyne co, to podawanie stanu LOW / HIGH.

Ewentualnie, jak załatwić sterowanie napięciem 12V poprzez wyjśćie 5V - rozumiem, że można tutaj zastosować przekaźnik sterowany 5V i wyjśćie 12V ?

Czy ktoś podpowie ? Smile

Z góry dzięki

Kod:
#include <IRremote.h>
#define irPin 11
IRrecv irrecv(irPin);
decode_results results;
 
void setup() {
   Serial.begin(9600);
   irrecv.enableIRIn();
}
 
void loop() {

  while( (irrecv.decode(&results)) != 0 ) {

      Serial.print("0x");
      Serial.println(results.value, HEX);
      delay(1000);
      irrecv.resume();
  }
}
 
Odpowiedź
#2
Ten kod odczytuje numer przycisku z pilota ,temu przyciskowi można zadać coś do wykonania poprzez numer np.

Kod:
void pilot() {
if (irreceiver.decode(&results))
  {

   switch(results.value)
     {
        case 0x6604CFE1:
          lcd.setBacklight(HIGH);
          break;
        case 0x6604CFFE:
          lcd.setBacklight(LOW);
          break;
         case 0x6604CFD1:
           lcd.clear();
           ustaw_godzine();
            break;
         case 0x6604CFC1:
           lcd.clear();
           ustaw_date();
            break;  
         
     }
     irreceiver.resume();
  }
 
}
 
Można sterować wspomnianym przekaźnikiem .
 
Odpowiedź
#3
Piny w atmedze to nie złączki przekaźników tak jak sobie wymyśliłeś nie da się . Użyj przekaźnika , tranzystotra , tytrstora , triaka lub coś w ten deseń .
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#4
ok, dzięki.

A podpowie ktoś, jak z mojego gotowego projektu przenieść to na projekt standalone ?

kiedyś widziałem taki program, gdzie projektowało się płytki poprzez nałożenie elementów i łączenie ścieżek.

Podpowiecie jak to się nazywa ?
 
Odpowiedź
#5
W sumie to najpierw postaram się to uruchomić na płytce stykowej
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości