logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Program Bascom sterujący z ADC dwoma diodami i przekaźnikiem

QRPboy 24 Sty 2024 21:56 354 6
REKLAMA
  • #1 20927067
    QRPboy
    Poziom 2  
    Witam potrzebuję pomoc przy napisaniu prostego programu na ATTINY13 lub ATTINY45.

    To kontroler chińskiej nagrywajki audio. Po wzroście napięcia na ADC1 włącza jej nagrywanie transoptorem po czym odtwarza nagranie z załączeniem przekaźnika. Nie bardzo sobie z tym poradziłem, wręcz się totalnie pogubiłem... programowanie to dla czarna magia.

    Bardzo bym prosił o pomoc.

    Program miał działać tak:

    //Oczekuj na napięcie na ADCx1

    spełnienie warunku = skok Mrugnięcie Led1

    //Mrugnięcie Led1

    Jeśli na ADCx1 napięcie powyżej 0 mrugnij diodą Led1 jeden raz przez 300ms
    Czekaj na brak napięcia na ADCx1.

    Jeśli na ADCx1 napięcia równe 0 mrugnij diodą Led1 jeden raz przez 300ms,
    po czym czuwaj i oczekuj na napięcie powyżej 0 na ADCx2 po czym skok do Mrugnięcie Led2.

    //Mrugnięcie Led2 oraz Przekaźnik1 i pętla do góry.

    Jeśli na ADCx2 napięcia powyżej 0 mrugnij diodą Led1 jeden raz przez 300ms
    oraz załącz i trzymaj Przekaźnik1 na osobnym PinX i oczekuj na stan niski ADCx2
    aż do spełnienia tego warunku. Jeśli na ADCx2 napięcia równe 0 mrugnij diodą
    Led1 jeden raz przez 300ms, wyłącz Przekaźnik1 na PinX

    Po czym wróć do góry procedury, do oczekiwania na napięcie na ADCx1

    To właściwie tyle. Dziękuję za uwagę i wszelaką pomoc.
  • REKLAMA
  • Pomocny post
    #2 20927576
    czareqpl
    Poziom 33  
    Na przyszłość korzystaj z narzędzi:

    @ElektrodaBot Witam potrzebuję pomoc przy napisaniu prostego programu języku BASCOM na ATTINY13 lub ATTINY45.

    To kontroler chińskiej nagrywajki audio. Po wzroście napięcia na ADC1 włącza jej nagrywanie transoptorem po czym odtwarza nagranie z załączeniem przekaźnika. Nie bardzo sobie z tym poradziłem, wręcz się totalnie pogubiłem... programowanie to dla czarna magia.

    Bardzo bym prosił o pomoc.

    Program miał działać tak:

    //Oczekuj na napięcie na ADCx1

    spełnienie warunku = skok Mrugnięcie Led1

    //Mrugnięcie Led1

    Jeśli na ADCx1 napięcie powyżej 0 mrugnij diodą Led1 jeden raz przez 300ms
    Czekaj na brak napięcia na ADCx1.

    Jeśli na ADCx1 napięcia równe 0 mrugnij diodą Led1 jeden raz przez 300ms,
    po czym czuwaj i oczekuj na napięcie powyżej 0 na ADCx2 po czym skok do Mrugnięcie Led2.

    //Mrugnięcie Led2 oraz Przekaźnik1 i pętla do góry.

    Jeśli na ADCx2 napięcia powyżej 0 mrugnij diodą Led1 jeden raz przez 300ms
    oraz załącz i trzymaj Przekaźnik1 na osobnym PinX i oczekuj na stan niski ADCx2
    aż do spełnienia tego warunku. Jeśli na ADCx2 napięcia równe 0 mrugnij diodą
    Led1 jeden raz przez 300ms, wyłącz Przekaźnik1 na PinX

    Po czym wróć do góry procedury, do oczekiwania na napięcie na ADCx1

    To właściwie tyle. Dziękuję za uwagę i wszelaką pomoc.
  • REKLAMA
  • Pomocny post
    #3 20927582
    ElektrodaBot
    AI od OpenAI ChatGPT4
    czareqpl napisał:
    (...) osobnym PinX i oczekuj na stan niski ADCx2
    aż do spełnienia tego warunku. Jeśli na ADCx2 napięcia równe 0 mrugnij diodą
    Led1 jeden raz przez 300ms, wyłącz Przekaźnik1 na PinX

    Po czym wróć do góry procedury, do oczekiwania na napięcie na ADCx1

    To właściwie tyle. Dziękuję za uwagę i wszelaką pomoc.
    Witam serdecznie na forum!

    Chętnie pomogę Ci przygotować program w języku BASCOM dla mikrokontrolerów ATTINY13 lub ATTINY45. Zanim zaczniemy, ważne jest, abyś upewnił się, że masz odpowiednie środowisko do programowania na swoim komputerze, w tym zainstalowany BASCOM-AVR, oraz programator do ATTINY, aby wgrać gotowy program do mikrokontrolera.

    Poniżej przedstawiam przykładowy program w BASCOM, który realizuje opisane przez Ciebie funkcje. Załóżmy, że używamy ATTINY45, który ma więcej pinów niż ATTINY13, co daje nam większą elastyczność. Program zakłada, że wejścia ADC są odpowiednio podłączone do pinów, LED jest podłączony do innego pinu przez rezystor ograniczający prąd, a przekaźnik jest sterowany przez tranzystor lub moduł przekaźnika podłączony do kolejnego pinu mikrokontrolera.

    Kod: Text
    Zaloguj się, aby zobaczyć kod


    Powyższy kod jest przykładem i może wymagać dostosowania do Twoich konkretnych potrzeb i konfiguracji sprzętowej. Wartości progowe, przy których LED ma mrugać lub przekaźnik ma być załączany, można dostosować zmieniając warunek `If Adc_value > 0` na konkretną wartość, która jest dla Ciebie istotna.

    Przed uruchomieniem programu na mikrokontrolerze, upewnij się, że podłączyłeś wszystko zgodnie ze schematem i że wszystkie elementy są prawidłowo skonfigurowane.

    Jeśli masz jakiekolwiek pytania lub potrzebujesz dalszej pomocy, daj mi znać – jestem tutaj, aby pomóc!
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
  • #4 20927619
    QRPboy
    Poziom 2  
    czareqpl - przepraszam. Jako świeżak - nie wiedziałem, że takie istnieją. Dziękuję.
  • REKLAMA
  • #5 20929968
    WojtasJD
    Poziom 43  
    ElektrodaBot napisał:
    Załóżmy, że używamy ATTINY45, który ma więcej pinów niż ATTINY13, co daje nam większą elastyczność.

    Ile pinów ma ATTINY45 ?
    Ile pinów ma ATTINY13 ?
  • REKLAMA
  • #6 20929975
    ElektrodaBot
    AI od OpenAI ChatGPT4
    WojtasJD napisał:
    Ile pinów ma ATTINY45 ?
    Ile pinów ma ATTINY13 ?
    Przepraszam za niedoprecyzowanie w poprzedniej odpowiedzi. Pozwól, że sprostuję informacje dotyczące liczby pinów dla obu mikrokontrolerów:

    ATTINY45:
    - Ma 8 pinów wyprowadzonych na zewnątrz. W tych 8 pinach zawarte są funkcje wejść/wyjść ogólnego przeznaczenia (GPIO), a także specjalne funkcje jak ADC, PWM, itd. Ważne jest, że nie wszystkie piny są dostępne do dowolnego zastosowania, ponieważ niektóre mogą być dedykowane do specyficznych funkcji.

    ATTINY13:
    - Podobnie jak ATTINY45, ATTINY13 ma również 8 pinów wyprowadzonych na zewnątrz. Tak jak w przypadku ATTINY45, te piny mogą służyć różnym funkcjom, włączając w to GPIO, ADC, itd.

    W obu przypadkach, kiedy mówimy o wykorzystaniu pinów do określonych funkcji, takich jak podłączenie diody LED, czytanie wartości z ADC, czy sterowanie przekaźnikiem, ważne jest, aby uwzględnić specyfikację mikrokontrolera oraz zaplanować wykorzystanie pinów tak, aby nie dochodziło do konfliktów funkcji. Przykładowo, jeśli jeden z pinów służy jako wejście ADC, nie będzie można go równocześnie wykorzystać jako standardowe wyjście cyfrowe do sterowania diodą LED bez odpowiedniego przełączania trybów pracy tego pinu.

    Mam nadzieję, że ta informacja jest pomocna. Jeśli masz więcej pytań lub potrzebujesz dalszego wsparcia technicznego, proszę daj mi znać!
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
  • #7 20957214
    QRPboy
    Poziom 2  
    Zamykam temat.
REKLAMA