[Bascom AVR][tiny2313] NASA Roger beep

Miejsce dobre do dyskusji nad własnymi projektami - pochwal się wszystkim co samodzielnie stworzyłeś.
ODPOWIEDZ
Awatar użytkownika
Pikczu
Użytkownik
Posty: 754
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

[Bascom AVR][tiny2313] NASA Roger beep

Post autor: Pikczu » 06 lut 2011, 20:01

Witam mając chwile wolnego czasu postanowiłem sklecić roger beepa do mojego radia.

Dla wyjaśnienia dodam co to jest roger beep- jest to krótki sygnał dźwiękowy generowany po zwolnieniu przycisku nadawania w nadajniku radiowym.

Poniżej przedstawiam wersie NASA, czyli jeden ton na początku transmisji drugi na końcu. Podobne tony można było usłyszeć podczas misji Apollo.

Płytka dwustronna została zaprojektowana w KICAD a oprogramowanie napisane w Bascom AVR v2.0.4

Obrazek

Uploaded with ImageShack.us
Obrazek


Obrazek
Obrazek
Obrazek
Obrazek
Obrazek

Poniżej widoczna jest wstępna wersja kodu z komunikacją przez rs232, co pomogło mi na szybsze dobranie odpowiedniego tonu i czasu.
W kolejnej wersji planuje zastąpienie bascomowego sound, timerem a także zlikwidowanie wait , oraz dodanie wyłącznika na portb.0 który w tym momencie nie działa.


Kod: Zaznacz cały

$regfile = "attiny2313.dat"
$baud = 9600

$crystal = 8000000
$hwstack = 32
$swstack = 8
$framesize = 24

Dim Tim_e1 As Word
Dim Tim_e2 As Word
Dim Tone1 As Word
Dim Tone2 As Word
Dim Flag1 As Bit
Dim Flag2 As Bit
Dim Flag3 As Bit

Dim Serial_flag As Byte

Dim Wait_time As Byte

Config Portd.4 = Output
Portd.4 = 0
Config Portb.0 = Input
Portb.0 = 1

Ptt Alias Portd.4


Config Portd.5 = Output
Portd.5 = 0

Beep Alias Portd.5
Config Portd.2 = Input
Portd.2 = 1
Config Portd.3 = Input
Portd.3 = 1

Config Portd.6 = Output
Portd.6 = 1

Config Int0 = Falling
Config Int1 = Rising

Enable Interrupts
Enable Int0
Enable Int1
On Int0 Ptt_on
On Int1 Ptt_off
Wait_time = 120
Tim_e1 = 200
Tone1 = 270
Tim_e2 = 600
Tone2 = 275

Do


Serial_flag = Ischarwaiting()                               'jesli jakis znak w buforze to ustaw flage na 1

If Serial_flag = 1 Then
Input "did you press enter?"
Input "120-input delay PTT" , Wait_time
Input "200-firts beep Time=" , Tim_e1
Print "Time of first beep is =" ; Tim_e1 ; Chr(13)
Input "270-input tone of first beep =" , Tone1
Print "tone of first beep is = " ; Tone1 ; Chr(13)
Print
Input "600-input second beep Time=" , Tim_e2
Print "Time of second beep is =" ; Tim_e2 ; Chr(13)
Input "275-input tone of second beep =" , Tone2
Print "tone of second beep is = " ; Tone2 ; Chr(13)

End If

Debounce Pinb.0 , 0 , Pr

If Flag1 = 1 Then
Waitms Wait_time
Set Beep
Sound Portd.6 , Tim_e1 , Tone1
Reset Flag1
Reset Beep
End If
'Waitms 100

If Flag2 = 1 Then
Set Beep
Sound Portd.6 , Tim_e2 , Tone2
Reset Flag2
Reset Beep
Reset Ptt
End If

Loop
End



Ptt_on:
Set Ptt
Set Flag1
Return


Ptt_off:
Set Flag2
Return



'Pr:


Reset Portd.4
Reset Portd.5
Return


[ Dodano: 2011-02-07, 19:53 ]
Dla zainteresowanych dodaje plik rar a w nim cały projekt plus kod.
Załączniki
Roger Beep.rar
(67.12 KiB) Pobrany 662 razy

Awatar użytkownika
c4v2
Użytkownik
Posty: 426
Rejestracja: 22 lis 2005, 15:14
Lokalizacja: z przed monitora

Post autor: c4v2 » 09 lut 2011, 21:12

Fajny pomysł i realizacja Roger Beep z dźwiękami z programu Apollo. W oryginalnym transcaiverze z Apollo funkcja była pewnie realizowana na jakimś generatorze MCZ. Co by w NASA konstruowali gdyby w tamtych czasach mieli Atmele?... :smile:

Awatar użytkownika
Pikczu
Użytkownik
Posty: 754
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

Post autor: Pikczu » 09 lut 2011, 22:58

Tak z nudów, wiem że to profanacja do ICOM-a roger beepa zakładać ale to tak na rozgrzewkę, właśnie myślę nad nową wersją z jakimś ISD albo MP3 playerem zamiast beepa chce mieć nagrany głos.
Pozdrawiam

Awatar użytkownika
c4v2
Użytkownik
Posty: 426
Rejestracja: 22 lis 2005, 15:14
Lokalizacja: z przed monitora

Post autor: c4v2 » 09 lut 2011, 23:00

Swoją drogą ciekawe dlaczego w programie Apollo używano dwóch sygnałów na początku i na końcu nadawania? Przecież to nie wzięło się dla bajeru tylko było dobrze przemyślane.
Czy w celu łatwiejszej identyfikacji (przy rejestracji rozmów)?
Może umożliwiało to "weryfikację kompletności transmisji"?
Nadawanie było trybie Simplex, Dulpex?

Awatar użytkownika
Pikczu
Użytkownik
Posty: 754
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

Post autor: Pikczu » 10 lut 2011, 19:14

Zobacz na tą stronę jest tam opis http://cobraworxshopz.com/bleeps_27.html
W skrócie chodziło o to NASA używało kilku stacji naziemnych do śledzenia lotów bez załogowych
Goldstone Deep Space Communications Complex in California i Canberra Deep Space Communications Complex in Australia.
Wszystkie te stacje naziemne były połączone dedykowana linia telefoniczna z Houston.
Które były bardzo kosztowne w tamtym czasie.
Więc użyli nadajników radiowych do komunikacji. I tak pierwszy ton włączał nadawanie w centrum nadawczym a drugi ton je wyłączał. Tak w wielkim skrócie.

Tu jest link do pliku Mp3 z nagraniem testowania komunikacji przez NASA
http://cobraworxshopz.com/doc/NASAquindarTONEStest.mp3

ODPOWIEDZ