• 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
żarząca dioda LED
#1
Witam!
Mam podłączoną 2 diody led do pinu 0 i 1 wraz z masą i ciągle się żarzą. W programie nie mam definicji do tych pinów. Gdy już mam przepisaną konkretną funkcję to one wtedy działają. Czy to może być uszkodzenie mikrokontrolera?
 
Odpowiedź
#2
Narysuj schemat i zamieść kod programu.
(09-06-2016, 22:45)Dawidek1990 napisał(a): Czy to może być uszkodzenie mikrokontrolera?
Prawdo podobnie nie masz zdefiniowanego stanu początkowego.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#3
0 i 1 to złącze uart , tam raczej nic nie podłączaj , bo będą właśnie tak się zachowywały .
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#4
Problem z diodami miałem przy programie ,,światła drogowe", na początku miałem ok a później pin 0 nie reagował tak jak powinien,
Zmieniłem piny. Nie działa jak należy
 
Odpowiedź
#5
Ludzie błagam już któryś raz punkt "11. Zamieszczaj pełne listingi bądź znaczące fragmenty kodu, które pomogą w lokalizacji problemu."

Ten temat to idealny przykład gdzie bez kodu nic nie pomożemy.
Naprawdę nie stosowanie się do regulaminu musi zostać karane bo innej możliwości nie widzę .
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#6
Kod:
// definicja pinów, do których podłączono przyciski i diody LED:
#define westButton 7
#define eastButton 13
#define westRed 2
#define westYellow 1
#define westGreen 0
#define eastRed 12
#define eastYellow 11
#define eastGreen 10

#define yellowBlinkTime 500 // żółte światło zapala na pół sekundy

boolean trafficWest = true; // west = true, east = false
int flowTime = 10000;       // czas puszczania ruchu pojazdów w jedną stronę
int changeDelay = 2000;     // czas pomiędzy zmianą koloru świateł

void setup()
{
//ustawia cyfrowe piny wejścia - wyjścia
pinMode (westButton, INPUT);
pinMode (eastButton, INPUT);
pinMode (westRed, OUTPUT);
pinMode (westYellow, OUTPUT);
pinMode (westGreen, OUTPUT);
pinMode (eastRed, OUTPUT);
pinMode (eastYellow, OUTPUT);
pinMode (eastGreen, OUTPUT);

// ustawia początkowy stan świateł (zielone światło od strony zachodniej)
digitalWrite (westRed, LOW);
digitalWrite (westYellow, LOW);
digitalWrite (eastGreen, HIGH);
digitalWrite (eastRed, HIGH);
digitalWrite (eastYellow, LOW);
digitalWrite (eastGreen, LOW);
}
void loop ()
{
if ( digitalRead(westButton) == HIGH) // żądanie puszczania ruchem
                                      // z zachodu na wschód
{
  if (trafficWest != true)
  // ten kod należy wywołać tylko w sytuacji, gdy ruch odbywa się w przeciwnym kierunku (na wschód)
 {
    trafficWest = true; // zmiana flagi kierunku ruchu na z zachodu na wschód
    delay (flowTime); // czas na opuszcznie mostu przez aktualne przejażdżające pojazdy
    digitalWrite (eastGreen, LOW); //zmiana świateł od strony wschodniej (z zielonego na żółte i czerwone)
 
    digitalWrite (eastYellow, HIGH);
    delay (changeDelay);
    digitalWrite (eastYellow, LOW);
    digitalWrite (eastRed, HIGH);
    delay (changeDelay);
    for (int a = 0; a < 5; a++ ) // migające żółte światło
    {
      digitalWrite(westYellow, LOW);
      delay( yellowBlinkTime);
      digitalWrite (westYellow, HIGH);
      delay(yellowBlinkTime);
    }
    digitalWrite(westYellow, LOW);
    digitalWrite(westRed, LOW); // zmiana światła od strony zachodniej na zielone
    digitalWrite (westGreen, HIGH);
    }                                    
  }
  if (digitalRead(eastButton) == HIGH) //żądanie puszczanie ruchu ze wszchodu na zachód
  {
    if (trafficWest == true) //ten kod należy wywołać tylko w sytuacji, gdy ruch odbywa się w przeciwnym kierunku na zachód
    {
      trafficWest = false; //zmiana flagi kierunku na ze wschodu na zachód
      delay (flowTime); //czas na opuszczenie mostu przez aktulane przejażdżając pojazdy
      digitalWrite (westGreen, LOW);
      // zmiana światła od strony zachodniej z zielonego na żółte i czerwone
   
    digitalWrite (westYellow, HIGH);
    delay (changeDelay);
    digitalWrite (westYellow, LOW);
    digitalWrite (westRed, HIGH);
    delay (changeDelay);
    for (int a = 0; a < 5; a++ ) // migające żółte światło
   {
      digitalWrite(eastYellow, LOW);
      delay( yellowBlinkTime);
      digitalWrite (eastYellow, HIGH);
      delay(yellowBlinkTime);
    }
    digitalWrite(eastYellow, LOW);
    digitalWrite(eastRed, LOW); // zmiana światła od strony wschodniej z czerwonego na zielone
    digitalWrite(eastGreen, HIGH);
    }
}
}
 
Odpowiedź
#7
wybacz moje pytanie. Po jakiego ty grzyba powielasz wątek pisz w tym samym poście jeśli coś nadal nie działa.
Moim zdaniem temat do kosza.
Kod:
// definicja pinów, do których podłączono przyciski i diody LED:
#define westButton 7
#define eastButton 13
#define westRed 2
#define westYellow 4
#define westGreen 3
#define eastRed 12
#define eastYellow 11
#define eastGreen 10

#define yellowBlinkTime 500 // żółte światło zapala na pół sekundy

boolean trafficWest = true; // west = true, east = false
int flowTime = 10000; // czas puszczania ruchu pojazdów w jedną stronę
int changeDelay = 2000; // czas pomiędzy zmianą koloru świateł

void setup()
{
//ustawia cyfrowe piny wejścia - wyjścia
pinMode (westButton, INPUT);
pinMode (eastButton, INPUT);
pinMode (westRed, OUTPUT);
pinMode (westYellow, OUTPUT);
pinMode (westGreen, OUTPUT);
pinMode (eastRed, OUTPUT);
pinMode (eastYellow, OUTPUT);
pinMode (eastGreen, OUTPUT);

// ustawia początkowy stan świateł (zielone światło od strony zachodniej)
digitalWrite (westRed, LOW);
digitalWrite (westYellow, LOW);
digitalWrite (eastGreen, HIGH);
digitalWrite (eastRed, HIGH);
digitalWrite (eastYellow, LOW);
digitalWrite (eastGreen, LOW);
}
void loop ()
{
if ( digitalRead(westButton) == HIGH) // żądanie puszczania ruchem
// z zachodu na wschód
{
if (trafficWest != true)
// ten kod należy wywołać tylko w sytuacji, gdy ruch odbywa się w przeciwnym kierunku (na wschód)
{
trafficWest = true; // zmiana flagi kierunku ruchu na z zachodu na wschód
delay (flowTime); // czas na opuszcznie mostu przez aktualne przejażdżające pojazdy
digitalWrite (eastGreen, LOW); //zmiana świateł od strony wschodniej (z zielonego na żółte i czerwone)

digitalWrite (eastYellow, HIGH);
delay (changeDelay);
digitalWrite (eastYellow, LOW);
digitalWrite (eastRed, HIGH);
delay (changeDelay);
for (int a = 0; a < 5; a++ ) // migające żółte światło
{
digitalWrite(westYellow, LOW);
delay( yellowBlinkTime);
digitalWrite (westYellow, HIGH);
delay(yellowBlinkTime);
}
digitalWrite(westYellow, LOW);
digitalWrite(westRed, LOW); // zmiana światła od strony zachodniej na zielone
digitalWrite (westGreen, HIGH);
}
}
if (digitalRead(eastButton) == HIGH) //żądanie puszczanie ruchu ze wszchodu na zachód
{
if (trafficWest == true) //ten kod należy wywołać tylko w sytuacji, gdy ruch odbywa się w przeciwnym kierunku na zachód
{
trafficWest = false; //zmiana flagi kierunku na ze wschodu na zachód
delay (flowTime); //czas na opuszczenie mostu przez aktulane przejażdżając pojazdy
digitalWrite (westGreen, LOW);
// zmiana światła od strony zachodniej z zielonego na żółte i czerwone

digitalWrite (westYellow, HIGH);
delay (changeDelay);
digitalWrite (westYellow, LOW);
digitalWrite (westRed, HIGH);
delay (changeDelay);
for (int a = 0; a < 5; a++ ) // migające żółte światło
{
digitalWrite(eastYellow, LOW);
delay( yellowBlinkTime);
digitalWrite (eastYellow, HIGH);
delay(yellowBlinkTime);
}
digitalWrite(eastYellow, LOW);
digitalWrite(eastRed, LOW); // zmiana światła od strony wschodniej z czerwonego na zielone
digitalWrite(eastGreen, HIGH);
}
}
}
0/1 nie możesz używać po pierwsze po drugie jaki kolor lcd ci swieci
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#8
westGreen nie działa na pinie 3-cim. Zmieniłem na 5, ta sama sytuacja. Przekładałem diody wraz z rezystorami i kablem, nic się nie zmieniło.
 
Odpowiedź
#9
Narysuj schemat połączenie może tu popełniłeś jakiś błąd z programu wynika ze działa poprawnie.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#10
fotka z ,,Arduino 65 praktycznych projektów" John'a Boxell'a. Uprościłem dziś schemat bez kondensatorów i rezystorów na track switach. jest podłączony pin digital i GND do przycisków. Nic się nie zmieniło.


Załączone pliki Miniatury
   
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości