Zanim...
Zanim...

Zanim...


Polskie Forum FPV

Forum modelarzy i pilotów FPV
Dzisiaj jest wtorek 16 sty 2018, 08:53

Strefa czasowa UTC+1godz.




Nowy temat Odpowiedz w temacie  [ Posty: 11 ] 
Autor Wiadomość
Post: środa 27 lip 2011, 22:05 
Offline
Awatar użytkownika

Rejestracja: środa 26 maja 2010, 21:40
Posty: 2506
Lokalizacja: Poznań
Czy ktoś z kolegów widział/znalazł/wie gdzie mogę znaleźć wsad do attiny który wysteruje tranzystor zapalając diodę LED tak jakby włączała się świetlówka na zwykłym starterze? Chodzi mi o to by mrugała spontanicznie przed zapaleniem jak robi to świetlówka starego typu na bimetalicznym starterze?


Coś na wzór tego na filmie (trzeba przewinąć do 4:50 i poczekać parę sekund :-) ) tyle że 2 razy wolniej

Wyświetlanie na innych stronach niż YT zostało wyłączone trzeba kliknąć na OBEJRZYJ W YOUTUBE



Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa 27 lip 2011, 22:19 
Offline
Awatar użytkownika

Rejestracja: poniedziałek 01 lut 2010, 13:53
Posty: 5746
Lokalizacja: Wrocław
nie wiem, ale fajna scena :-P
wcześniej nie oglądałem tego filmu


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek 28 lip 2011, 08:26 
Offline
Awatar użytkownika

Rejestracja: niedziela 28 lut 2010, 14:24
Posty: 1595
Lokalizacja: podkarpackie
Na filmie widać jakby 3-4 razy szybko błysnęło i zapala się.
Potrzebujesz coś takiego czy faktycznie losowej spontaniczności świetlówki


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek 28 lip 2011, 10:21 
Offline
Awatar użytkownika

Rejestracja: środa 26 maja 2010, 21:40
Posty: 2506
Lokalizacja: Poznań
Potrzebuje coś takiego jak na filmie chyba lepiej się zapala niż stara świetlówka :-) +5 do lansu heh

_________________
...i tak nie skończysz na jednym ani na dwóch :-)


Na górę
 Wyświetl profil  
 
Post: niedziela 19 lis 2017, 13:54 
Offline
Awatar użytkownika

Rejestracja: środa 26 maja 2010, 21:40
Posty: 2506
Lokalizacja: Poznań
Odkopuję temat z przed ponad 6ciu lat, kurka dałbym głowę że pisałem tego posta max 3 lata temu :). Dorwałem kod ale jest na WS2811, kod nie działa z WS2812 mimo iż czytałem że sygnałowo są kompatybilne. Czy ktoś z kolegów obeznanych w programowaniu arduino mógłby mi zmienić kod na zwykłą diodę LED lub na WS2812? Jeśli oczywiście nie ma za dużo grzebania :)



Filmik z działania:






Kod

Kod:
#define DATA_PIN 3
#define BUTTON_PIN 4

boolean lightOn = 0;

void setup() {
  pinMode(DATA_PIN, OUTPUT);
  pinMode(BUTTON_PIN, INPUT);     
}

const int blinkOn[] = {10, 20, 20, 240, 20, 40, 20, 100, 20, 20, 20, 260, 80, 20, 240, 60, 160, 20, 240, 20, 1000, 20, 20, 40, 100, 20, 2740, 340, 860, 20, 1400, 20, 60, 20};

void allOn(boolean on) {
  digitalWrite(DATA_PIN, on);


void updateLeds() {
  allOn(lightOn);
}

boolean myDelay(unsigned int ms) {
  unsigned long startTime = millis();
  unsigned long endTime = startTime+ms;
 

  while(millis() < endTime) {
    if(!digitalRead(BUTTON_PIN)) {
      return 1;
    }
    // Update colour and intencity of leds
    updateLeds();
    delay(1);
  }
  return 0;
}

void turnOn() {
  // Don't flicker, if the light is already on
  if(lightOn)
    return;
   
  // Start to flicker
  for(int i=0; i<sizeof(blinkOn)/sizeof(int); ++i) {
    lightOn = !(i&1);
    if(myDelay(blinkOn[i])) {
      // Button is no longer pushed
      allOn(false);
      lightOn = false;
      return;
    }
  }

  // Make sure the light is actually on
  allOn(true);
  lightOn = true;
}

void turnOff() {
  lightOn = false;
  allOn(false);
}

void loop() {
  delay(100);
  if(digitalRead(BUTTON_PIN))
    turnOn();
  else
    turnOff();
}

_________________
...i tak nie skończysz na jednym ani na dwóch :-)


Na górę
 Wyświetl profil  
 
Post: niedziela 19 lis 2017, 23:47 
Offline
Awatar użytkownika

Rejestracja: niedziela 07 lut 2010, 15:24
Posty: 9039
Lokalizacja: Bytom
Przecież ten kod jest do zwykłej ledy sterowanej z pinu D3 arduino a nie do jakichśtam WS'ów...
Wysoki na pinie to włącz LED, niski na pinie to zgaś.

_________________
Pzdr. -----MIŚ-----


Na górę
 Wyświetl profil  
 
Post: wtorek 21 lis 2017, 22:58 
Offline
Awatar użytkownika

Rejestracja: środa 26 maja 2010, 21:40
Posty: 2506
Lokalizacja: Poznań
Wgrałem kod na digisparka ale dzieje się odwrotnie :) po podaniu zasilania dioda się włącza i świeci. W momencie kiedy podam stan wysoki na port 4 dioda zaczyna symulować świetlówkę po czym gaśnie.

_________________
...i tak nie skończysz na jednym ani na dwóch :-)


Na górę
 Wyświetl profil  
 
Post: środa 22 lis 2017, 00:53 
Offline
Awatar użytkownika

Rejestracja: niedziela 07 lut 2010, 15:24
Posty: 9039
Lokalizacja: Bytom
A diodę masz do masy czy do plusa ? W każdym bądź razie powinna być odwrotnie niż masz teraz :mrgreen:
A jak chcesz zmienić w sofcie to zmień
digitalWrite(DATA_PIN, on);
na
digitalWrite(DATA_PIN, !on);

_________________
Pzdr. -----MIŚ-----


Na górę
 Wyświetl profil  
 
Post: środa 22 lis 2017, 15:12 
Offline
Awatar użytkownika

Rejestracja: czwartek 06 sie 2015, 09:44
Posty: 75
Lokalizacja: Poznań
mikun, nie prościej bez przycisku ? Będziesz miał tak jak opisujesz w pierwszym poście ;P
Kod:
#define DATA_PIN 3
boolean lightOn = 0;

void setup() {
  pinMode(DATA_PIN, OUTPUT);   
}

const int blinkOn[] = {10, 20, 20, 240, 20, 40, 20, 100, 20, 20, 20, 260, 80, 20, 240, 60, 160, 20, 240, 20, 1000, 20, 20, 40, 100, 20, 2740, 340, 860, 20, 1400, 20, 60, 20};

void allOn(boolean on) {
  digitalWrite(DATA_PIN, on);


void updateLeds() {
  allOn(lightOn);
}

boolean myDelay(unsigned int ms) {
  unsigned long startTime = millis();
  unsigned long endTime = startTime+ms;
 

  while(millis() < endTime) {
    updateLeds();
    delay(1);
  }
  return 0;
}

void turnOn() {
  // Don't flicker, if the light is already on
  if(lightOn) return;
   
  // Start to flicker
  for(int i=0; i<sizeof(blinkOn)/sizeof(int); ++i) {
    lightOn = !(i&1);
    myDelay(blinkOn[i]);
  }

  // Make sure the light is actually on
  allOn(true);
  lightOn = true;
}

void loop() {
  if(!lightOn) turnOn();
  else allOn(true);
}

_________________
Hexa Tarot 690__| Lisam LS210
Pioneer 1400____| Hubsan Q4
Hubsan h107d___| QAV250
Eachine QX90____| s500
i się rozrasta :)


Na górę
 Wyświetl profil  
 
Post: środa 22 lis 2017, 22:03 
Offline
Awatar użytkownika

Rejestracja: środa 26 maja 2010, 21:40
Posty: 2506
Lokalizacja: Poznań
Dzięki StaryDzolero masz rację bez tego przycisku o wiele lepiej :-) tyle że po mruganiu dioda gasła. Z programowania jestem kiepski wręcz zerowy :-) ale kombinowaniem zmieniłem w ostatniej linijce kodu z true na false i już świeci cały czas. Teraz tylko już dobrać wartości z piątej linijki kodu. Miś i StaryDzolero dziękuję za pomoc.

_________________
...i tak nie skończysz na jednym ani na dwóch :-)


Na górę
 Wyświetl profil  
 
Post: środa 22 lis 2017, 23:58 
Offline
Awatar użytkownika

Rejestracja: niedziela 07 lut 2010, 15:24
Posty: 9039
Lokalizacja: Bytom
mikun pisze:
zmieniłem w ostatniej linijce kodu z true na false
A miałeś zmienić tak jak ja Ci proponowałem (z tym !on). Bo teraz na końcu Ci się zaświeca na stałe, ale przy miganiu czasy masz odwrócone, czyli w momencie jak ma być zgaszone to się świeci i na odwrót. Dla tego wygląda to nienaturalnie.

_________________
Pzdr. -----MIŚ-----


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 11 ] 

Strefa czasowa UTC+1godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Technologię dostarcza phpBB® Forum Software © phpBB Group

Strona korzysta z plików cookie w celu realizacji usług zgodnie z . Polityką prywatności
Możesz określić warunki przechowywania lub dostępu do cookie w Twojej przeglądarce lub konfiguracji usługi.