Skocz do zawartości
wormux29

Nie działa program do Line Followera

Pomocna odpowiedź

Witam !

Napisałem jeden z pierwszych programów w Bascomie do mojego Line Followera. Niestety nie do końca działa. Całość zachowuje się tak jakby mikrokontroler był co jakiś czas restartowany. Buzzer powinien być włączony tylko na początku programu. Robot działa i wykonuje skręty, a buzer włącza się i wyłącza jakby program ciągle był rozpoczynany od początku.

Wyjście reset mam podciągnięte przez rezystor 10kOhm do +5V

Kod pogramu:

$regfile = "m8def.dat"
$crystal = 12000000


'KONFIGURACJA PORTÓW'

Config Portd.0 = Input                                      'PRZELACZNIK'
Config Portd.1 = Output                                     'BUZZER'
Config Portd.3 = Input                                      'TSOP'

Config Portc = Input                                        '6 x CNNY70'

Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output                                     'L293D - > SILNIKI'



'KONFIGURACJA STANÓW SPOCZYNKOWYCH'


Portd.0 = 1                                                 'PRZEŁĽCZNIK, JE�I 0 -> WCI�IĘTY'
Portd.1 = 1                                                 'BUZZER, JE�I 0 -> WŁĽCZONY'
Portd.3 = 1                                                 'TSOP1737, JE�I 0 -> PODAWANY JEST SYGNAŁ'

Portc = &B1111111                                           'CZUJNIKI CNY70 (1 = BRAK LINI POD CZUJNIKIEM)

Portb.0 = 0
Portb.1 = 1                                                 'PWM'
Portb.2 = 1                                                 'PWM'
Portb.3 = 1
Portb.4 = 1
Portb.5 = 0                                                 'SILNIKI WYŁĽCZONE'


Buzzer Alias Portd.1                                        'NAZWY POMOCNICZE'
Przelacznik Alias Pind.0                                    'NAZWY POMOCNICZE'
Tsop Alias Pind.3                                           'NAZWY POMOCNICZE'

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'KONFIGURACJA ADC
Start Adc

Config Timer1 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down       'konfiguracja timera1


Dim Wart_adc As Word                                        'ZCZYTYWANIE WARTO�I Z PORTU DO WART_AC'
Dim Stan_czujnikow As Byte                                  'KONCOWA WARTO� Z ODCZYTU'
Dim Sygnal As Byte

Declare Sub Uruchom
Declare Sub Przygotuj
Declare Sub Jedz
Declare Sub Ostatnia

Declare Sub Prosto
Declare Sub Prawo_bardzo_lekko
Declare Sub Lewo_bardzo_lekko
Declare Sub Lekko_prawo
Declare Sub Lekko_lewo
Declare Sub Prawo
Declare Sub Lewo
Declare Sub Mocno_prawo
Declare Sub Mocno_lewo
Declare Sub Bardzo_mocno_prawo
Declare Sub Bardzo_mocno_lewo


'Start'

Przygotuj:


  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 50
  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 50
  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 5
  Call Jedz

Jedz:
Do

Wart_adc = Getadc(0)
If Wart_adc <= 600 Then
Stan_czujnikow.0 = 1
Else
Stan_czujnikow.0 = 0
End If


Wart_adc = Getadc(1)
If Wart_adc <= 600 Then
Stan_czujnikow.1 = 1
Else
Stan_czujnikow.1 = 0
End If

Wart_adc = Getadc(2)
If Wart_adc <= 600 Then
Stan_czujnikow.2 = 1
Else
Stan_czujnikow.2 = 0
End If

Wart_adc = Getadc(3)
If Wart_adc <= 600 Then
Stan_czujnikow.3 = 1
Else
Stan_czujnikow.3 = 0
End If


Wart_adc = Getadc(4)
If Wart_adc <= 600 Then
Stan_czujnikow.4 = 1
Else
Stan_czujnikow.4 = 0
End If


Wart_adc = Getadc(5)
If Wart_adc <= 600 Then
Stan_czujnikow.5 = 1
Else
Stan_czujnikow.5 = 0
End If

'porownaj'


If Stan_czujnikow = &B110011 Then
Call Prosto
End If

If Stan_czujnikow = &B110001 Then
Call Prawo_bardzo_lekko
End If

If Stan_czujnikow = &B100011 Then
Call Lewo_bardzo_lekko
End If

If Stan_czujnikow = &B111001 Then
Call Lekko_prawo
End If

If Stan_czujnikow = &B100111 Then
Call Lekko_lewo
End If

If Stan_czujnikow = &B011001 Then
Call Prawo
End If

If Stan_czujnikow = &B100110 Then
Call Lewo
End If

If Stan_czujnikow = &B011101 Then
Call Mocno_prawo
End If

If Stan_czujnikow = &B101110 Then
Call Mocno_lewo
End If

If Stan_czujnikow = &B011111 Then
Call Bardzo_mocno_prawo
End If

If Stan_czujnikow = &B111110 Then
Call Bardzo_mocno_lewo
End If

If Stan_czujnikow = &B111111 Then
Call Prosto
End If

If Stan_czujnikow = &B111011 Then
Call Lekko_prawo
End If

If Stan_czujnikow = &B110111 Then
Call Lekko_lewo
End If

If Stan_czujnikow = &B111101 Then
Call Prawo
End If

If Stan_czujnikow = &B101111 Then
Call Lewo
End If

If Stan_czujnikow = &B000000 Then
Call Ostatnia
End If

Loop

Prosto:

Sygnal = 1
Pwm1a = 255
Pwm1b = 255
Call Jedz



Prawo_bardzo_lekko:

Sygnal = 2
Pwm1a = 255
Pwm1b = 190
Call Jedz


Lewo_bardzo_lekko:

Sygnal = 3
Pwm1a = 190
Pwm1b = 255
Call Jedz


Lekko_prawo:

Sygnal = 4
Pwm1a = 255
Pwm1b = 150
Call Jedz


Lekko_lewo:

Sygnal = 5
Pwm1a = 150
Pwm1b = 255
Call Jedz


Prawo:

Sygnal = 6
Pwm1a = 255
Pwm1b = 100
Call Jedz


Lewo:

Sygnal = 7
Pwm1a = 100
Pwm1b = 255
Call Jedz


Mocno_prawo:

Sygnal = 8
Pwm1a = 255
Pwm1b = 50
Call Jedz


Mocno_lewo:

Sygnal = 9
Pwm1a = 50
Pwm1b = 255
Call Jedz


Bardzo_mocno_prawo:

Sygnal = 10
Pwm1a = 255
Pwm1b = 0
Call Jedz


Bardzo_mocno_lewo:

Sygnal = 11
Pwm1a = 0
Pwm1b = 255
Call Jedz


Ostatnia:

If Sygnal = 1 Then
Call Prosto
End If

If Sygnal = 2 Then
Call Prawo_bardzo_lekko
End If

If Sygnal = 3 Then
Call Lewo_bardzo_lekko
End If

If Sygnal = 4 Then
Call Lekko_prawo
End If

If Sygnal = 5 Then
Call Lekko_lewo
End If

If Sygnal = 6 Then
Call Prawo
End If

If Sygnal = 7 Then
Call Lewo
End If

If Sygnal = 8 Then
Call Mocno_prawo
End If

If Sygnal = 9 Then
Call Mocno_lewo
End If

If Sygnal = 10 Then
Call Bardzo_mocno_prawo
End If

If Sygnal = 11 Then
Call Bardzo_mocno_lewo
End If

End

Proszę o pomoc w rozwiązaniu tego problemu. Z góry dziękuje za odpowiedź

Pozdrawiam serdecznie !

wormux29

__________

Komentarz dodany przez: Nawyk

Przy udostępnianiu kodu programu, stosuj odpowiednie znaczniki ([ code] i [ /code])

Udostępnij ten post


Link to post
Share on other sites

dodaj pętle główną programu

'konfiguracje
$regfile = "m8def.dat"
$crystal = 16000000
Config Lcd = 16 * 4
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Portb = Output
Config Portd = Input
        Portd = &B11111111
Dim C As Byte

C = 0


Do
'program główny(pętla główna)
Loop
End



Rightlabel:
'etykiety
Return

ja używam takiego szablonu, a u ciebie widzę że nie ma pętli głównej programu

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

I na przyszłość przy opisywaniu programu nie używaj polskich znaków, bo ciężko jest się rozczytać.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

I jeszcze jakie masz zasilanie? Może napięcie siada.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dokonałem zmiany kodu, ale program dalej działa tak samo. Ze względu na to, że program jest dosyć długi będe zmiaszczał go w linkach

Link do programu: KLIK

Zasilanie jest dobre.

Mam aku modelarskie RAY LI POLI 2x/7.4V 1100mAh 25C

Bezpośrednio napięcie z niego doprowadzone jest na silniki, oraz na stabilizator napięcia +5V -> (zasilanie układów logicznych). Dodatkowo robota podłączałem pod zasilacz laboratoryjny z napięciem wyjściowym ustawionym na 7.5VDC i efekt był taki sam. Sprawdzałem miernikiem zasilanie za stabilizatorem i podczas jazdy jest cały czas +5VDC.

Udostępnij ten post


Link to post
Share on other sites

ale nie dałeś pętli głównej 😋

Udostępnij ten post


Link to post
Share on other sites

Witam !

Pętlę zrobiłem w podprogramie Jedz:

Tak w skrócie

Do

Zczytywanie danych z czujników

Wybór odpowiedniego podprogramu

Loop

End

Aktualny link do porgramu: KLIK

__________

Komentarz dodany przez: Nawyk

Lepiej będzie dla wszystkich, jeśli pliki wrzucisz na serwer diody; zwłaszcza tak małe - nie wygasną po czasie i gdy ktoś kiedyś będzie miał podobny problem, będzie mógł z nich skorzystać

dioda1.txt

Udostępnij ten post


Link to post
Share on other sites

Na mój gust to przepełniasz stos. Funkcja Jedz wywołuje np. Prosto, następnie prosto wywołuje Jedz.

Zamiast Call używaj Goto (tak przynajmniej jest w Basic-u, bo Bascom-a nigdy nie używałem).

Jeśli używasz Call, to na końcu procedury musi być z niej powrót (pewnie przez Return).

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Witam !

Poprawiłem program pod tym względem że każdy podporgram wywołany poprzez call kończy się poleceniem return.

Dodatkowo skasowałem część kodu, odpowiedzialną za zapamiętywanie ostatniej konfiguracji czujników, aby łatwiej było zlokalizować problem.

Mimo tych zmian program ciągle się restartuje

W załączniku zamieszczam aktualny kod.

dioda2.txt

Udostępnij ten post


Link to post
Share on other sites
$regfile = "m8def.dat"
$crystal = 12000000


'KONFIGURACJA PORTÓW'

Config Portd.0 = Input                                      'PRZELACZNIK'
Config Portd.1 = Output                                     'BUZZER'
Config Portd.3 = Input                                      'TSOP'

Config Portc = Input                                        '6 x CNNY70'

Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output                                     'L293D - > SILNIKI'



'KONFIGURACJA STANÓW SPOCZYNKOWYCH'


Portd.0 = 1                                                 'PRZEŁĄCZNIK, JEŚLI 0 -> WCIŚNIĘTY'
Portd.1 = 1                                                 'BUZZER, JEŚLI 0 -> WŁĄCZONY'
Portd.3 = 1                                                 'TSOP1737, JEŚLI 0 -> PODAWANY JEST SYGNAŁ'

Portc = &B1111111                                           'CZUJNIKI CNY70 (1 = BRAK LINI POD CZUJNIKIEM)

Portb.0 = 0
Portb.1 = 1                                                 'PWM'
Portb.2 = 1                                                 'PWM'
Portb.3 = 1
Portb.4 = 1
Portb.5 = 0                                                 'SILNIKI WYŁĄCZONE'


Buzzer Alias Portd.1                                        'NAZWY POMOCNICZE'
Przelacznik Alias Pind.0                                    'NAZWY POMOCNICZE'
Tsop Alias Pind.3                                           'NAZWY POMOCNICZE'

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'KONFIGURACJA ADC
Start Adc

Config Timer1 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down       'konfiguracja timera1


Dim Wart_adc As Word                                        'ZCZYTYWANIE WARTOŚCI Z PORTU DO WART_AC'
Dim Stan_czujnikow As Byte                                  'KONCOWA WARTOŚĆ Z ODCZYTU'
Dim Sygnal As Byte

Declare Sub Uruchom
Declare Sub Przygotuj
Declare Sub Jedz
Declare Sub Ostatnia

Declare Sub Prosto
Declare Sub Prawo_bardzo_lekko
Declare Sub Lewo_bardzo_lekko
Declare Sub Lekko_prawo
Declare Sub Lekko_lewo
Declare Sub Prawo
Declare Sub Lewo
Declare Sub Mocno_prawo
Declare Sub Mocno_lewo
Declare Sub Bardzo_mocno_prawo
Declare Sub Bardzo_mocno_lewo


'Start'

call przygotuj

Do

Wart_adc = Getadc(0)
If Wart_adc <= 600 Then
Stan_czujnikow.0 = 1
Else
Stan_czujnikow.0 = 0
End If


Wart_adc = Getadc(1)
If Wart_adc <= 600 Then
Stan_czujnikow.1 = 1
Else
Stan_czujnikow.1 = 0
End If

Wart_adc = Getadc(2)
If Wart_adc <= 600 Then
Stan_czujnikow.2 = 1
Else
Stan_czujnikow.2 = 0
End If

Wart_adc = Getadc(3)
If Wart_adc <= 600 Then
Stan_czujnikow.3 = 1
Else
Stan_czujnikow.3 = 0
End If


Wart_adc = Getadc(4)
If Wart_adc <= 600 Then
Stan_czujnikow.4 = 1
Else
Stan_czujnikow.4 = 0
End If


Wart_adc = Getadc(5)
If Wart_adc <= 600 Then
Stan_czujnikow.5 = 1
Else
Stan_czujnikow.5 = 0
End If

'porownaj'


If Stan_czujnikow = &B110011 Then
Call Prosto
End If

If Stan_czujnikow = &B110001 Then
call Prawo_bardzo_lekko
End If

If Stan_czujnikow = &B100011 Then
Call Lewo_bardzo_lekko
End If

If Stan_czujnikow = &B111001 Then
Call Lekko_prawo
End If

If Stan_czujnikow = &B100111 Then
Call Lekko_lewo
End If

If Stan_czujnikow = &B011001 Then
Call Prawo
End If

If Stan_czujnikow = &B100110 Then
Call Lewo
End If

If Stan_czujnikow = &B011101 Then
Call Mocno_prawo
End If

If Stan_czujnikow = &B101110 Then
Call Mocno_lewo
End If

If Stan_czujnikow = &B011111 Then
Call Bardzo_mocno_prawo
End If

If Stan_czujnikow = &B111110 Then
Call Bardzo_mocno_lewo
End If

If Stan_czujnikow = &B111111 Then
Call Prosto
End If

If Stan_czujnikow = &B111011 Then
Call Lekko_prawo
End If

If Stan_czujnikow = &B110111 Then
Call Lekko_lewo
End If

If Stan_czujnikow = &B111101 Then
Call Prawo
End If

If Stan_czujnikow = &B101111 Then
Call Lewo
End If

Loop

End

Prosto:


Pwm1a = 255
Pwm1b = 255
Return

Prawo_bardzo_lekko:


Pwm1a = 255
Pwm1b = 190
Return

Lewo_bardzo_lekko:


Pwm1a = 190
Pwm1b = 255
Return

Lekko_prawo:


Pwm1a = 255
Pwm1b = 150
Return

Lekko_lewo:


Pwm1a = 150
Pwm1b = 255
Return

Prawo:


Pwm1a = 255
Pwm1b = 100
Return

Lewo:


Pwm1a = 100
Pwm1b = 255
Return

Mocno_prawo:


Pwm1a = 255
Pwm1b = 50
Return

Mocno_lewo:


Pwm1a = 50
Pwm1b = 255
Return

Bardzo_mocno_prawo:


Pwm1a = 255
Pwm1b = 0
Return

Bardzo_mocno_lewo:


Pwm1a = 0
Pwm1b = 255
Return

Przygotuj:

  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 50
  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 50
  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 5
return

tak powinno być git 😉

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
Kod nie działał (niepotrzebnie zajmował miejsce)

A raczej tak powinno być git.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Ja bym proponował jeszcze raz sprawdzić, czy to nie problem z zasilaniem.

Spróbuj odłączyć silniki i ręcznie "pochodzić" chwilę robotem. Jeśli nie będzie się resetował, to może jednak skoki zasilania - kondensatory powinny pomóc.

Jak nadal będzie problem, to proponuję bardzo skrócić program - najpierw zrobić jazdę bez czujników - np. 2sek prosto, 2 sek w prawo 2 sek w lewo.

Póżniej dodać obsługę 1 czujnika i zobaczyć czy działa.

Dalej kolejno dodawać następne czujniki - jak się popsuje to będzie wiadomo gdzie szukać błędu.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Witam !

Sprawdziłem jeszcze raz jedną rzecz. Odłączyłem silniki i tak jak radził Elvis przesunąłem robota po linii i nic nie piszczało, czyli program się nie restartuje. Sprawdzałem na dwóch ostatnich programach zamieszczonych przez Was.

Wina w takim razie musi leżeć po stronie silników lub mostka H-bridge.

Wydaje mi się także że wykluczyłem wpływ zakłóceń na pracę programu. Podłączyłem silniki do zasilania z zasilacza laboratoryjnego a układy logiczne podłączone były do akumulatora + stabilizator +5V.

Czy problemem może być zastosowany mostek H-bridge L293NE ? Dodam, że nie ma on scalonych diod jak w przypadku l293D.

Poniżej zamieszczam schemat ideowy swojego projektu.

Dziękuje wszystkim za pomoc i piwko dla każdego 🙂

dioda.pdf

Udostępnij ten post


Link to post
Share on other sites

Czekaj,czekaj! Wartość ADC jest 10-cio bitowa? Z tego co pamietam to jest 8-śmio bitowa, a więc może ten kod będzie działał:

$regfile = "m8def.dat"
$crystal = 12000000


'KONFIGURACJA PORTÓW'

Config Pind.0 = Input                                      'PRZELACZNIK'
Config Pind.1 = Output                                     'BUZZER'
Config Pind.3 = Input                                      'TSOP'

Config Portc = Input                                        '6 x CNNY70'

Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output
Config Pinb.4 = Output
Config Pinb.5 = Output                                     'L293D - > SILNIKI'



'KONFIGURACJA STANÓW SPOCZYNKOWYCH'


Portd.0 = 1                                                 'PRZEŁĄCZNIK, JEŚLI 0 -> WCIŚNIĘTY'
Portd.1 = 1                                                 'BUZZER, JEŚLI 0 -> WŁĄCZONY'
Portd.3 = 1                                                 'TSOP1737, JEŚLI 0 -> PODAWANY JEST SYGNAŁ'

Portc = &B1111111                                           'CZUJNIKI CNY70 (1 = BRAK LINI POD CZUJNIKIEM)

Portb.0 = 0
Portb.1 = 1                                                 'PWM'
Portb.2 = 1                                                 'PWM'
Portb.3 = 1
Portb.4 = 1
Portb.5 = 0                                                 'SILNIKI WYŁĄCZONE'


Buzzer Alias Portd.1                                        'NAZWY POMOCNICZE'
Przelacznik Alias Pind.0                                    'NAZWY POMOCNICZE'
Tsop Alias Pind.3                                           'NAZWY POMOCNICZE'

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'KONFIGURACJA ADC
Start Adc

Config Timer1 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down       'konfiguracja timera1


Dim Wart_adc As Word                                        'ZCZYTYWANIE WARTOŚCI Z PORTU DO WART_AC'
Dim Stan_czujnikow As Byte                                  'KONCOWA WARTOŚĆ Z ODCZYTU'
Dim Sygnal As Byte

Declare Sub Uruchom
Declare Sub Przygotuj
Declare Sub Jedz
Declare Sub Ostatnia

Declare Sub Prosto
Declare Sub Prawo_bardzo_lekko
Declare Sub Lewo_bardzo_lekko
Declare Sub Lekko_prawo
Declare Sub Lekko_lewo
Declare Sub Prawo
Declare Sub Lewo
Declare Sub Mocno_prawo
Declare Sub Mocno_lewo
Declare Sub Bardzo_mocno_prawo
Declare Sub Bardzo_mocno_lewo


'Start'

call przygotuj

Do

Wart_adc = Getadc(0)
If Wart_adc <= 120 Then
Stan_czujnikow.0 = 1
Else
Stan_czujnikow.0 = 0
End If


Wart_adc = Getadc(1)
If Wart_adc <= 120 Then
Stan_czujnikow.1 = 1
Else
Stan_czujnikow.1 = 0
End If

Wart_adc = Getadc(2)
If Wart_adc <= 120 Then
Stan_czujnikow.2 = 1
Else
Stan_czujnikow.2 = 0
End If

Wart_adc = Getadc(3)
If Wart_adc <= 120 Then
Stan_czujnikow.3 = 1
Else
Stan_czujnikow.3 = 0
End If


Wart_adc = Getadc(4)
If Wart_adc <= 120 Then
Stan_czujnikow.4 = 1
Else
Stan_czujnikow.4 = 0
End If


Wart_adc = Getadc(5)
If Wart_adc <= 120 Then
Stan_czujnikow.5 = 1
Else
Stan_czujnikow.5 = 0
End If

'porownaj'


If Stan_czujnikow = &B110011 Then
Call Prosto
End If

If Stan_czujnikow = &B110001 Then
call Prawo_bardzo_lekko
End If

If Stan_czujnikow = &B100011 Then
Call Lewo_bardzo_lekko
End If

If Stan_czujnikow = &B111001 Then
Call Lekko_prawo
End If

If Stan_czujnikow = &B100111 Then
Call Lekko_lewo
End If

If Stan_czujnikow = &B011001 Then
Call Prawo
End If

If Stan_czujnikow = &B100110 Then
Call Lewo
End If

If Stan_czujnikow = &B011101 Then
Call Mocno_prawo
End If

If Stan_czujnikow = &B101110 Then
Call Mocno_lewo
End If

If Stan_czujnikow = &B011111 Then
Call Bardzo_mocno_prawo
End If

If Stan_czujnikow = &B111110 Then
Call Bardzo_mocno_lewo
End If

If Stan_czujnikow = &B111111 Then
Call Prosto
End If

If Stan_czujnikow = &B111011 Then
Call Lekko_prawo
End If

If Stan_czujnikow = &B110111 Then
Call Lekko_lewo
End If

If Stan_czujnikow = &B111101 Then
Call Prawo
End If

If Stan_czujnikow = &B101111 Then
Call Lewo
End If

Loop

End

Prosto:


Pwm1a = 255
Pwm1b = 255
Return

Prawo_bardzo_lekko:


Pwm1a = 255
Pwm1b = 190
Return

Lewo_bardzo_lekko:


Pwm1a = 190
Pwm1b = 255
Return

Lekko_prawo:


Pwm1a = 255
Pwm1b = 150
Return

Lekko_lewo:


Pwm1a = 150
Pwm1b = 255
Return

Prawo:


Pwm1a = 255
Pwm1b = 100
Return

Lewo:


Pwm1a = 100
Pwm1b = 255
Return

Mocno_prawo:


Pwm1a = 255
Pwm1b = 50
Return

Mocno_lewo:


Pwm1a = 50
Pwm1b = 255
Return

Bardzo_mocno_prawo:


Pwm1a = 255
Pwm1b = 0
Return

Bardzo_mocno_lewo:


Pwm1a = 0
Pwm1b = 255
Return

Przygotuj:

  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 50
  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 50
  Reset Buzzer
  Waitms 50
  Set Buzzer
  Waitms 5
return 

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...