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

podtrzymanie sygnału na wyjściu

Tomi0987 11 Lis 2009 18:58 2480 10
REKLAMA
  • #1 7246859
    Tomi0987
    Poziom 10  
    Witam. Musze wykonać sterowanie rolety od projektora, do szkoły.
    1 moje pytanie to; jaka jest komenda na potrzymanie sygnału. ( gdy przycisnę przycisk pierwszy to ma zjeżdżać w dół około 12 sekund )

    $REGFILE = "roleta.dat"
    $CRYSTAL = 8000000
    
    Config Pind.5 = Input   `przycisk 1
    Config Pind.6 = Input   `przycisk 2 
    Config Pinc.2 = Ouput  `roleta w dół
    Config Pinc.1 = Ouput  `roleta w górę
    
    P1 Alias Portd.5   `przypisanie nazwy włącznikom
    P2 Alias Portd.6
    S1 Alias Portc.2   ` przypisanie nazwy wyjścia do przekaźników 
    S2 Alias portc.1  



    Dalej proszę o pomoc, próbowałem coś napisać ale mi nie wychodziło.
  • REKLAMA
  • #2 7246916
    wader_669
    Poziom 28  
    to pokaz co napisales?
  • REKLAMA
  • #3 7246917
    pgnige
    Poziom 14  
    Witam, pierwsza sprawa jest taka, że $regfile dołącza bibliotekę danego mikroprocesora.
    Kolejna - konfiguracja portów odbywa się na rejestrze PORTC, a nie PINC, który jest przeznaczony do odczytu stanu pinu portu c.
    Jeszcze dobrze by było nadać początkowe wartości pinów portów tzn. wejścia podciągnąć do 1, a wyjścia 0
    Portd = 255
    Portc = 0
    Odpowiadając na zadane pytanie, najprostszym sposobem jest zawieszenie procesora funkcją wait np.:

    If Pind.5 = 0 then
      Set Portc.2
      Wait 12
      Reset Portc.2
    Endif
    If Pind.6 = 0 then
      Set Portc.1
      Wait 12
      Reset Portc.1
    Endif
  • REKLAMA
  • #4 7246930
    wader_669
    Poziom 28  
    jak to sa przyciski to beda drgania warto wyelyminowac. Oczywiscie ten program musi byc w petli do loop
  • #5 7246979
    landy13
    Poziom 31  
    pgnige napisał:

    Kolejna - konfiguracja portów odbywa się na rejestrze PORTC, a nie PINC, który jest przeznaczony do odczytu stanu pinu portu c.

    To nieprawda. Konfiguracja odbywa się w rejestrze DDR a nie PORT. W Bascomie pojedyńcze piny konfiguruje się właśnie
    Config PINX.Y = Input/Output
    Także użycie waitów do odmierzania czasu opuszczania rolety nie zda egzaminu. Można liczyć obroty wałka lub zastosować krańcówkę (np. kontaktron)
  • #6 7247296
    Konto nie istnieje
    Poziom 1  
  • #7 7247439
    Tomi0987
    Poziom 10  
    pgnige napisał:
    Witam, pierwsza sprawa jest taka, że $regfile dołącza bibliotekę danego mikroprocesora.
    Kolejna - konfiguracja portów odbywa się na rejestrze PORTC, a nie PINC, który jest przeznaczony do odczytu stanu pinu portu c.
    Jeszcze dobrze by było nadać początkowe wartości pinów portów tzn. wejścia podciągnąć do 1, a wyjścia 0
    Portd = 255
    Portc = 0
    Odpowiadając na zadane pytanie, najprostszym sposobem jest zawieszenie procesora funkcją wait np.:

    If Pind.5 = 0 then
      Set Portc.2
      Wait 12
      Reset Portc.2
    Endif
    If Pind.6 = 0 then
      Set Portc.1
      Wait 12
      Reset Portc.1
    Endif




    Dzięki za wszystkie porady. Na razie potrzebuje programu aby roleta zjeżdżała w dół. Później będę musiał dopisać program aby podczas zwijania rolety zatrzymała się gdy transoptor odczyta czarny pasek z tyłu rolety.

    Sygnał będzie obierany przez radiolinie wiec nie będzie trzeba eliminować drgania.


    Więc na razie powninno być tak?

    $REGFILE = "m8def.dat"
    $CRYSTAL = 8000000 
    
    Config Pind.5 = Input `przycisk 1
    Config Pind.6 = Input `przycisk 2
    Config Pinc.0 = input  `transoptor
    Config Pinc.2 = Ouput `roleta w dół
    Config Pinc.1 = Ouput `roleta w górę
    
    P1 Alias Portd.5 `przypisanie nazwy włącznikom
    P2 Alias Portd.6
    S1 Alias Portc.2 ` przypisanie nazwy wyjścia do przekaźników
    S2 Alias portc.1
    
    do
    
    If P1 = 0 then
      Set S1
      Waitms 12000
      Reset S1
    Endif
    
    lop
  • REKLAMA
  • #8 7247445
    landy13
    Poziom 31  
    e marcus To prawda że Bascom akceptuje wiele sposobów konfiguracji. Mój sprzeciw dotyczył jednak rejestru w którym zapisuje się konfigurację.Chyba Ty nie uważasz tak jak pgnige że kierunek portu ustawia się w rejestrze PORT?

    Tomi0987 A czemu nie wykorzystasz transoptora przy rozwijaniu rolety?
    Loop pisze się przez dwa "o", a output z "t" w środku. Pisz od razu w Bascomie, unikniesz takich literówek.
  • #9 7247960
    Tomi0987
    Poziom 10  
    Transoptor, wykorzystam go do zatrzymania rolety gdy będzie się zwijała,
  • #10 7248934
    Freddy
    Poziom 43  
    Ciekawe gdzie wy dacie te transoptory i jak je podłączycie.
    Poproszę oi schemat, aby można było dalej weryfikować program.
  • #11 7248982
    PiotrPitucha
    Poziom 34  
    Witam
    Jak masz dobrą mechanikę to można się pokusić o pomiar prądu silnika rolety, jak jedzie w dół to prąd będzie stosunkowo mały, jak dojedzie do końca i zacznie ciągnąć roletę do góry to pobór prądu się zwiększy, przy zwijaniu z kolei jak dojedzie do końca i przyblokuje to prąd się zwiększy znacząco.
    Jeśli jesteś w stanie to pomierzyć to można obyć się bez krańcówek i transoptorów.
    Piotr
REKLAMA