Skocz do zawartości

Ciamek007

Użytkownicy
  • Zawartość

    7
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Ciamek007

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  1. W porządku, jestem w stanie to zrozumieć, a jak sprawa ma się z "elektromagnesami trzymającymi"? Jest ich dość duża oferta w sprzedaży, w kształtach okrągłym albo podłużnym, czy one również mają tendencję do mocnego nagrzewania się? Chyba były one projektowane z myślą o "trzymaniu"?
  2. Witam, mam zakupione fabryczne elektromagnesy, jeden na 6V, drugi na 12V. Po przyłożeniu napięcia i sprawdzeniu działania zauważyłem, że po kilku chwilach elektromagnesy znaczne nagrzewają się. Ja rozumiem - prąd płynie to i temperatura musi być - ale czy to normalne, że fabrycznych elektromagnesów po kilku minutach praktycznie nie można trzymać w ręce? Czy wykorzystujecie jakieś sposoby na ochładzanie, zabudowujecie osłonami, by się nie poparzyć? Czy nie jest problemem długotrwałe (tzn. nieprzerwanych kilka godzin) działanie takiego elektromagnesu w projektach typu zamykane szafki itd.?
  3. Faktycznie, nie zwróciłem na to uwagi, teraz analogWrite działa, jak należy. Co do zabawy z czasem jeszcze będę musiał podłubać
  4. Witajcie! Mam problem z dziwnym zachowaniem programu. Chciałbym stworzyć kilka (dajmy na to 4) "świeczek LED", czyli zwykłych diod, które świecą z różną intensywnością, w zależności od nadanego losowego prądu, a przez losowe jego dobieranie powstaje efekt palącego się ognia. O ile nie miałem problemów z jedną świeczką, to przy czterech pojawiają się schody - czwarta świeczka (i tylko ta), jeśli już świeci, zachowuje się dość niespodziewanie. Czytałem trochę o zastosowaniu "blink without delay" i próbowałem wykorzystać to w swoim programie. Niestety - trzy świeczki wyglądają w porządku (różne wartości prądu dają ładny, płynny efekt), ale czwarta mruga w zasadzie jedynie między stanem "0" a "1", w zmiennych odstępach czasowych, co daje efekt dość szarpany. Dlaczego tak się dzieje, co zrobiłem źle? bool sw1stan=1; const int sw1=9; bool sw2stan=1; const int sw2=10; bool sw3stan=1; const int sw3=11; bool sw4stan=1; const int sw4=12; unsigned long previousMillis = 0; unsigned long currentMillis; const long interval = 5; void zapalenie(int swieczka){ currentMillis = millis(); if (currentMillis - previousMillis >= interval){ previousMillis = currentMillis; analogWrite(swieczka,random(200)); } } void wygaszanie(int swieczka){ digitalWrite(swieczka, LOW); } void setup() { pinMode(sw1, OUTPUT); pinMode(sw2, OUTPUT); pinMode(sw3, OUTPUT); pinMode(sw4, OUTPUT); } void loop() { if(sw1stan==1) zapalenie(sw1); if(sw2stan==1) zapalenie(sw2); if(sw3stan==1) zapalenie(sw3); if(sw4stan==1) zapalenie(sw4); }
  5. Wielkie dzięki za naprowadzenie! Wykorzystując wiedzę na temat tego, w jaki sposób dźwięk jest faktycznie interpretowany przez elektronikę, napisałem prosty program wykorzystujący wskazówki, które otrzymałem i póki co spełnia moje potrzeby - pytanie, czy nie jest zbyt toporny i czy na pewno dobrze zastosowałem się do rad: int tab[100]; int cisza=0; int granica=100; // wartość "głośności" int czas=20; // czas występowania "głośności" void setup() { Serial.begin(9600); for (int i=0;i<100;i++) //pobranie próbki "ciszy" tab[i]=analogRead(A5); for(int i=0;i<100;i++) //wyznaczenie wartości średniej "ciszy" cisza=cisza+tab[i]; cisza=cisza/100; } void loop() { for (int i=0;i<100;i++) tab[i]=analogRead(A5)-cisza; //zebranie sygnałów do tablicy z odjęciem "ciszy" int licznik=0; for (int i=0;i<100;i++){ if(abs(tab[i])>granica) licznik++; // sprawdzenie, czy któraś wartość przekroczyła granicę if(licznik>czas){ // warunek, żeby nie reagowało na zbyt krótki czas wystąpienia dźwięku Serial.println("Słyszę!"); break; } } } Ogólnie rzecz biorąc, mocno uprościłem sprawę, bo skoro głównie chodzi mi o wykrywanie samego istnienia dźwięku, zacząłem sprawdzać, czy wartości nie zaczęły podejrzanie często przekraczać wcześniej ustalonej doświadczalnie granicy. Zauważyłem też, że gdy w czasie programowania wypisywałem jeszcze wszystkie wartości zmniejszone o "ciszę", to faktycznie oscylowały one w okolicy zera. Po dmuchnięciu w mikrofon i pojawieniu się fali różnych odchyleń, wszystkie wartości co prawda ponownie zaczęły być do siebie zbliżone, ale były to na przykład nawet 30 czy -40 i powolutku schodziły do zera - i to chyba to samo, o czym pisałem już wcześniej. Czy ktoś zna może przyczynę takiego zjawiska?
  6. Do pomiaru napięcia wykorzystuję najprostszy program z samouczków i analogowe wejścia bezpośrednio na Arduino (tak, wiem, że to się słabo nadaje i jest mało warte, ale nie zależy mi na super dokładności), ale odpowiedź marka1707 faktycznie dała mi do myślenia, jak to wygląda, co jest w porządku, a co nie To, co chciałbym w swoich eksperymentach póki co uzyskać, to jedynie informacja, gdy poziom głośności dźwięku przekroczy jakąś ustaloną wartość.
  7. Witam! Jestem bardzo początkującym elektronikiem, od niedawna próbuję zdziałać coś w Arduino i aktualnie próbuję wykorzystać ten czujnik, by powstało coś w rodzaju sensora dźwięku. Wszystko zatem cacy, podłączam Vin do napięcia 3,3V, GND do masy i DC do analogowego wejścia Arduino. Krótki program badający napięcie na wejściu pokazuje, że praktycznie cały czas napięcie wynosi ok 0,7V - i prawidłowo, bo takie według instrukcji powinno być w przypadku ciszy. Problem natomiast w tym, że ciężko wykrzesać z mikrofoniku jakąś sensowną zmianę - powiedzenie czegoś głośniej czy dmuchnięcie w mikrofon powoduje wprawdzie zmianę odczytywanego napięcia, ale po ustaniu źródła dźwięku utrzymuje się ono dłużej na tym nowym poziomie, czasem bardzo powoli opadając. Innym razem natomiast pojawiają się jakieś zawichrowania, napięcie skacze i ląduje nagle nawet na wartości ok. 0,4V. Chyba nie do końca powinno tak być, prawda? Czy robię coś źle? A może mój sposób pojmowania działania tego czujnika z mikrofonem mija się z prawdą?[/center]
×
×
  • Utwórz nowe...