Styrning LED

Hej

Är nybörjare inom Arduino och önskar hjälp med sketch till följande:

2 RG LEDs ska skifta färg(röd/grön - grön/röd) när 1 av två kontakter aktiveras, när kontakt 2 aktiveras ska färgerna skifta tillbaka.
De ska alltså lysa konstant med färgskifte enligt ovan.
Skall vara till växelindikering för MJ-anläggning

Tacksam för svar

Pär

Hej og välkommen.

Forstår jeg rigtigt at kontakt 1 sätter den ena färgkombination, og kontakt 2 den andra färgkombination? Om det är bara det, ville jag använda et relä. Men OK, det är mera skoj med Arduino. Eller byter den ved varje kontakt 1 slag och går i en bestemt kombination ved kontakt2?

Nu är jeg usäker på din “RG LED” - är det typen med 3 ledninger eller bare två? Är 3’an med common anode eller common cathode? Jeg har 6 olika svar hur jag läser din specifikation, så den måste vara klarare.

Kom ihåg at Arduinoen er 5V (vanligtvis) och tycker INTE om du blander 12V så akta dig.

tack för svar

Det är som i din första mening, kontakt 1 ger 1 LED grön och 1 LED röd, kontakt 2 skiftar färgerna på bägge LED, de skall sedan lysa tills en kontakt aktiveras igen.

LED är röd/grön med 3 ben, common katod.

Pär

OK, så är det jo enkelt.

En kontakt (här tänker jeg en trykknapp, og den öppnar igen när man slipper) sätter du det ene til Jord/noll och den anden til et ardinoindgång - f.eks. nr 5. (og 7 för den andra).
Du skal sætte en 220 eller 330 Ohm modstånd på två ikke katode-ben på varje LED. Så sætter du katoden til 0/jord, og modstånden i fyra lediga Arduino ben. (Du kan jo se hvad jeg valgte i koden)

// Pin setup
const byte HoegKnap = 5 ;
const byte VensKnap = 7 ;
const byte FjaerIndGroe = 2;
const byte FjaerIndRoed = 3;
const byte NaerIndGroe = 9;
const byte NaerIndRoed= 10 ;

// en gångs setup
void setup() {
  pinMode(HoegKnap,INPUT_PULLUP);
  pinMode(VenstKnap,INPUT_PULLUP);
  pinMode(FjaerIndGroe,OUTPUT);
  pinMode(FjaerIndRoed,OUTPUT);
  pinMode(NaerIndGroe,OUTPUT);
  pinMode(NaerIndRoed,OUTPUT);
}
// 1 million gånger i sekundet
void loop() {
  if (digitalRead(VensKnap)==LOW) {
    digitalWrite(FjaerIndGroe,LOW);
    digitalWrite(FjaerIndRoed,HIGH);
    digitalWrite(NaerIndGroe,HIGH);
    digitalWrite(NaerIndRoed,LOW);
}
  if (digitalRead(HoegKnap)==LOW) {
    digitalWrite(FjaerIndGroe,HIGH);
    digitalWrite(FjaerIndRoed,LOW);
    digitalWrite(NaerIndGroe,LOW);
    digitalWrite(NaerIndRoed,HIGH);
}

Jeg har inte testat så där kan vara et komma el.l. där saknas. Det här bör funka, men det är "snabb-kod" Det kunne skrivas annorlunda om det skal snart udvidgas til flera, göras nån kontrol (som at inte båda kontakter er trykt) Men så är det lätt forståndligt, inte? :confused:

Ett sent tack 3dprinter, det fungerar som tänkt med din kod

Pär