Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'IR'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 6 wyników

  1. Ten projekt powstał już jakiś czas temu, gdzieś w połowie marca . Jednak ostatnio go nieco ulepszyłem i poprawiłem. Dlatego przyszedłem się pochwalić . Pierwsza wersja była zrobiona na Arduino Nano i mogłem sterować jednym paskiem led 12V za pomocą pilota na podczerwień i przekaźnika (tylko stan wysoki, stan niski) . Całość była zasilana z akumulatora 12V 7,2AH co było złym rozwiązaniem bo starczał tylko na tydzień. Nie zadowalał mnie taki sterownik, więc gdy tylko podszkoliłem się w wiedzy o tranzystorach powstała druga wersja w której mogłem już sterować PWM (a właściwie to dolutowałem tylko tranzystor i lekko przerobiłem program). Tamta wersja była nawet dobra ale jednak wykorzystywanie całego Arduino na taki projekt jest trochę bez sensu, no i jeszcze ten nieszczęsny akumulator... Zachowało się nawet jedno zdjęcie z tamtego czasu: Ale w tym artykule skupię się na 3 i prawdopodobnie nie ostatniej wersji tego sterownika. Płytka prezentuje się następująco: W tej wersji mamy do dyspozycji 2 kanały PWM na 12V każdy + przekaźnik (stan wysoki / stan niski) ale za to może włączać/wyłączać urządzenia zasilane napięciem do 250VAC czyli np. lampka biurkowa. Elementy na płytce co robią, po co są: Mikrokontroler ATmega328P - jest "mózgiem" całego sterownika, odbiera dane z odbiornika IR, steruje tranzystorami i przekaźnikiem. Zaprogramowałem Arduino Uno i najprościej w świecie wyjąłem ATmegę i wsadziłem na płytkę. Stabilizator LM317T - razem z rezystorami i kondensatorami (prawy górny róg płytki) tworzy obwód zasilający mikrokontroler napięciem 5.2V - akurat tak wyszło z dostępnych mi rezystorów. Tranzystory IRF540N - podnoszą napięcie z 5V do 12V i przy okazji przepuszczają sygnał PWM . kondensatory (obok tranzystorów) - filtrują napięcie z tranzystorów. Czyli co, to już nie jest PWM ? No nie, to już nie jest PWM. Ale mi w tym projekcie nie chodzi konkretnie o PWM, a o możliwość regulacji jasności ledów więc PWM może być "stłumiony" przez kondensatory. Dodałem je, ponieważ bez nich w poprzedniej wersji ledy lubiły sobie czasem mrugać, lekko przygasać .Było to trochę irytujące. przekaźnik - służy do zamykania obwodu np. gdy podepnę lampkę biurkową 230VAC to jego zadaniem jest tylko domknąć obwód gdy nacisnę przycisk na pilocie. odbiornik podczerwieni TSOP2236 - nie ma go już na płytce, ale są dla niego przygotowane goldpiny w prawym dolnym rogu . Służy on jak sama nazwa mówi do odbierania promieni podczerwonych, które wysyłam ze zwykłego pilota od telewizora po naciśnięciu jakiegoś przycisku. Zasilanie: Pewnej słonecznej niedzieli wybrałem się na targ, tam znalazłem zasilacz który idealnie pasuje do mojego projektu. Vout - 12VDC, 3.3A . Pochwalę się że udało mi się utargować całe 5 zł 😎. Możliwości sterownika : 3 kanały w tym 2 z możliwością regulacji jasności na 12VDC i jeden do 250VAC ale z zewnętrznego zasilania i brakiem możliwości regulowania jasności. jest jeszcze miejsce na płytce żeby dolutować kolejny kanał ale i tak by mi się nie przydał. Teoretycznie maksymalna moc na jeden kanał to około 500W, ale w praktyce nigdy nie kupie takiego potężnego zasilacza więc aktualnie maksymalna moc na kanał to około 36W - jeśli używam jednego na raz i 18W - jeśli używam 2 kanały na raz, ale można też z jednego kanału pobierać np. 30W a z drugiego 6 itp. . Na razie podpiąłem tylko 2-metrowy pasek led który pobiera 28.8W na maksymalnej jasności. Podsumowując, maksymalna moc zależy głównie od zasilacza. Jako obudowa służy mi kartonowe pudełko: Co poprawię i co chciałbym poprawić w kolejnej wersji? Na pewno znajdę jakiś inny sposób aby doprowadzić zasilanie do mikrokontrolera. Ten stabilizator trochę się grzeje, a nawet trochę za bardzo. Co za tym idzie? Głównie chodzi mi o straty energii. Może uda mi się skonstruować jakąś przetwornicę. Jeśli chodzi o grzejące się elementy to jest jeszcze jedna rzecz - mikrokontroler który się lekko grzeje. Nie jakoś bardzo, tylko robi się lekko ciepły. Wie ktoś może jaka jest tego przyczyna? Chodzi tu o podwyższone napięcie ?(5.20V) Czy może jest to normalne? Jeśli ktoś wie to prosiłbym o odpowiedź. Co chciałbym poprawić? Z okazji że jest to do tej pory jeden z najpraktyczniejszych i najprzydatniejszych moich projektów, chciałbym poprawić obudowę, która jak w każdym moim projekcie jest z kartonu . Są dwa problemy - nie mam w ogóle pomysłu ani materiałów i żadnego sprzętu. Na koniec pozdrawiam czytelników i życzę miłego dnia 🙂.
  2. Dzień dobry, Zbudowałem prostego pilota, który ma za zadanie sterować kilkoma urządzeniami w pokoju rozsyłając sygnał IR. Schemat projektu wygląda następująco: Aktualnie pilot działa gdy nadajnik jest skierowany w stronę urządzenia oraz znajduje się w odległości nie większej niż 2 metry. Co powinienem zmienić w projekcie, aby uzyskać możliwie jak największy zasięg pilota?
  3. Cześć Chcę sobie zrobić prosty tachometr na bazie podczerwieni. Czy ten odbiornik będzie dobry? http://electropark.pl/odbiorniki-podczerwieni/2880-odbiornik-podczerwieni-38khz-tsop31238.html a taki nadajnik http://electropark.pl/diody-ir-podczerwieni/1529-ir-tsal6400-dioda-nadawcza-ir-25st.html Na wirującym elemencie będzie naklejony biały pasek, który powinien odbijać podczerwień. Czy te elementy będą działać ze sobą? Jaki może być zasięg takiego tachometru? Jaka dokładność jeżeli pomiary będą w przedziale 1400-3000 rpm? A może polecicie coś lepszego? Będę używał ardunino uno do sterowania i liczenia rpm. Dziękuję
  4. Witajcie. Mam do zaprezentowania mój nowy projekt. Zdalnie sterowany robot kroczący z odbiornikiem podczerwieni. Jednostką centralną jest mikrokontroler ATmega8A-PU. Robot porusza się dzięki trzem serwomechanizmom TowerPro SG90. Inspiracją do sposobu chodzenia był robot kroczący Pololu. Robot posiada 6 niebieskich diod. Ich katody są połączone z odpowiednimi pinami mikrokontrolera, dzięki czemu steruję nimi w zależności od wykonywanego ruchu robota. Anody są połączone przez rezystor z nogami robota, te natomiast są połączone z potencjałem dodatnim zasilania. Jako pilota używam telefonu z androidem wraz z aplikacją RCoid. Korzystam ze standardu RC5. Kierunkami poruszania się robota są przód, tył, obracanie w lewo i prawo. Do zatrzymania robota służy dowolna inna komenda. Sterowanie serwomechanizmów odbywa się dzięki programowo stworzonemu PWM na 8 bitowym timerze mikrokontrolera. Tak wygląda kod przerwania od przepełnienia timera: ISR(TIMER0_OVF_vect) { static uint16_t cnt; if(cnt>=r) PORTC &= ~(1<<PC3); else PORTC |= (1<<PC3); if(cnt>=m) PORTC &= ~(1<<PC4); else PORTC |= (1<<PC4); if(cnt>=l) PORTC &= ~(1<<PC5); else PORTC |= (1<<PC5); cnt++; if(cnt>625) cnt = 0; } Zmienne r m i l odpowiadają za położenie poszczególnych nóg zmieniane w pętli głównej programu. Ich zakres mieści się od 17-76 (0.5ms-2.5ms) (0°-180°). Oczywiście zakres pracy jest mniejszy. Dla przykładu dobranymi wartościami dla nogi środkowej są 42 przy oparciu na lewej części, 44 pozycja środkowa, 46 oparcie na prawej części nogi. Zmienna licznika cnt jest porównywana z wartością 625, dzięki czemu uzyskuję częstotliwość 50Hz (8000000Hz/1/256/625=50Hz [20ms] [prescaler=1]). Jeżeli chodzi o kwestie zasilania to zdecydowałem się na użycie czterech zwykłych baterii AAA dających na wyjściu ~6V co zmusiło mnie do użycia przetwornicy Pololu S7V7F5 do zasilania mikrokontrolera. Diody i serwomechanizmy są zasilane bezpośrednio z baterii. Nogi zostały wygięte ze stalowego drutu o średnicy 1.5mm. Do orczyków zostały przymocowane za pomocą stalowego drutu o średnicy 0.3mm. Koniec każdej nogi zalałem gorącym klejem tak, aby zapobiec ślizganiu się robota na gładkiej powierzchni. Lista elementów: mikrokontroler ATmega8A-PU 3x serwomechanizmy TowerPro SG90 przetwornica Pololu S7V7F5 odbiornik podczerwieni TSOP31236 6x diody niebieskie rezonator kwarcowy 8MHz trytki i rurki termokurczliwe druty stalowe o średnicy 1.5mm, oraz 0.3mm płytka stykowa 170 otworów 4x baterie AAA z koszykiem parę rezystorów, kondensatorów i przewodów Zapraszam do śmiałego pisania swoich pytań, opinii i uwag 😀 Pozdrawiam, Karol
  5. Cześć, mam problem z moim pojazdem sterowanym przez podczerwień, jeśli za komentuję funkcje od kierunku jazdy program bez problemu rozpoznaje przyciski i wysyła komunikat jaki przycisk jest wciśniety. Natomiast jeśli od komentuję funkcje wykrywa dobrze tylko pierwszy wciśnięty przycisk a wartości następnych przycisków są inne niż powinny być. Wszystko widać na zdjęciach. Sprzęt Arduino UNO + L293D Shield Motor +IR Receiver z ali . Proszę o pomoc i z góry dziękuję. Do sterownia pojazdu używam pięciu przycisków przycisk 2 (551486205) -> do przód przycisk 4 (551542815) -> w lewo przycisk 5 (551494365) -> stop przycisk 6 (551510175) -> w prawo przycisk 8 (551518845) -> do tyłu Niestety nie mogłem wysłać tutaj zdjęć, wyskakiwał jakiś błąd https://ibb.co/th1Krv2 https://ibb.co/cc5rtLC #include <IRremote.h> #include <AFMotor.h> #define irPin 9 //initial motors pin AF_DCMotor motor1(1); AF_DCMotor motor2(2); AF_DCMotor motor3(3); AF_DCMotor motor4(4); IRrecv irrecv(irPin); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value); switch (results.value) { case 551542815: //left(); Serial.println("w lewo"); break; case 551486205: //forward(); Serial.println("w gore"); break; case 551510175: //right(); Serial.println("w prawo"); break; case 551518845: //back(); Serial.println("w dol"); break; case 551494365: //Stop(); Serial.println("srodek"); break; } irrecv.resume(); } } void forward() { motor1.setSpeed(255); //Define maximum velocity motor1.run(FORWARD); //rotate the motor clockwise motor2.setSpeed(255); //Define maximum velocity motor2.run(FORWARD); //rotate the motor clockwise motor3.setSpeed(255);//Define maximum velocity motor3.run(FORWARD); //rotate the motor clockwise motor4.setSpeed(255);//Define maximum velocity motor4.run(FORWARD); //rotate the motor clockwise } void back() { motor1.setSpeed(255); //Define maximum velocity motor1.run(BACKWARD); //rotate the motor anti-clockwise motor2.setSpeed(255); //Define maximum velocity motor2.run(BACKWARD); //rotate the motor anti-clockwise motor3.setSpeed(255); //Define maximum velocity motor3.run(BACKWARD); //rotate the motor anti-clockwise motor4.setSpeed(255); //Define maximum velocity motor4.run(BACKWARD); //rotate the motor anti-clockwise } void left() { motor1.setSpeed(255); //Define maximum velocity motor1.run(BACKWARD); //rotate the motor anti-clockwise motor2.setSpeed(255); //Define maximum velocity motor2.run(BACKWARD); //rotate the motor anti-clockwise motor3.setSpeed(255); //Define maximum velocity motor3.run(FORWARD); //rotate the motor clockwise motor4.setSpeed(255); //Define maximum velocity motor4.run(FORWARD); //rotate the motor clockwise } void right() { motor1.setSpeed(255); //Define maximum velocity motor1.run(FORWARD); //rotate the motor clockwise motor2.setSpeed(255); //Define maximum velocity motor2.run(FORWARD); //rotate the motor clockwise motor3.setSpeed(255); //Define maximum velocity motor3.run(BACKWARD); //rotate the motor anti-clockwise motor4.setSpeed(255); //Define maximum velocity motor4.run(BACKWARD); //rotate the motor anti-clockwise } void Stop() { motor1.setSpeed(0); //Define minimum velocity motor1.run(RELEASE); //stop the motor when release the button motor2.setSpeed(0); //Define minimum velocity motor2.run(RELEASE); //rotate the motor clockwise motor3.setSpeed(0); //Define minimum velocity motor3.run(RELEASE); //stop the motor when release the button motor4.setSpeed(0); //Define minimum velocity motor4.run(RELEASE); //stop the motor when release the button }
  6. Dzień dobry, chciałbym zbudować i podłączyć pod malinkę (pi zero) czujnik przerwania wiązki. W dużym uproszczeniu: Bramka do LF. Nadajnik IR (dioda IR), odbiornik IR (np. TSOP32236) po przerwaniu wiązki zostaje uruchomiony prosty skrypt. Elementy przerywające wiązkę byłby niewielkie, więc dokładność musi być spora. Odległość od czujników od siebie to około 1 metra. Wystarczy mi, aby po przerwaniu wiązki dostałem o tym informację w programie. Chciałbym zbudować coś w stylu tego (tu maksymalna odległość czujników od siebie jest za mała + chcę coś zrobić sam): https://botland.com.pl/pl/czujniki-ruchu/3079-czujnik-przerwania-wiazki-ir-led-3mm.html Niestety brak mi doświadczenia w elektronice, z programowaniem nie mam większego problemu. Zakupiłem kilka elementów do testów oto one: - Odbiornik podczerwieni TSOP32236 - 36 kHz - Odbiornik podczerwieni TSOP31236 - 36 kHz - Nadajnik IR TSUS4300 3mm 950nm - Nadajnik IR TSAL6400 5mm 940nm Niestety bardzo mało informacji znalazłem na temat budowy takich bramek (albo po prostu nie potrafię szukać). Szukam wszelkiej pomocy, materiałów, podobnych projektów i informacji jak to zrobić. Jakie biblioteki będą odpowiednie? Czy wybrane elementy nadają się do stworzenia takiej bramki? Czy jednak do mojego projektu bardziej nada się fototranzystor? Za wszelką pomocą bardzo dziękuję i mam nadzieję że w przyszłości pomogę. Z góry chciałbym zaznaczyć że jestem bardzo początkującą osobą i proszę o odrobinę wyrozumiałości. Pozdrawiam!
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.