Skocz do zawartości

Pomocna odpowiedź

Witam,

Od niedawna borykam się z układam mającym działać jak telegraf. W takim sensie, iż do dyspozycji mamy 5 przycisków. Mają następujące funkcje:

  1. pisanie kropki
  2. pisanie kreski
  3. pisanie ukośnika
  4. wymazywanie całości zapisanego kodu
  5. wysyłanie kodu

Nie wiem jak przesłać napisany kod Morse'a z Serial Monitora jednego Arduino do drugiego Arduino  przez transmiter oraz odbiorem tego przez receiver i wyświetleniem tego na LCD. Próbowałem już coś kombinować, ale nie daje to żadnego efektu.

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites

@faalkoor, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.
6 minut temu, faalkoor napisał:

Nie wiem jak przesłać napisany kod Morse'a z Serial Monitora jednego Arduino do drugiego Arduino  przez transmiter oraz odbiorem tego przez receiver i wyświetleniem tego na LCD. Próbowałem już coś kombinować, ale nie daje to żadnego efektu.

Opisz swoje próby, pokaż co udało Ci się już zrobić - wtedy na pewno będzie łatwiej udzielić Ci odpowiedniej pomocy 🙂

PS Przeniosłem Twój temat do właściwego działu.

Udostępnij ten post


Link to post
Share on other sites

Ok, dziękuje 🙂 . Jeśli chodzi o kod to gdzieś zaginął 😞 . Mam tylko ten fragment, który odpowiada za pisanie odpowiedniego znaku na LCD.

Udostępnij ten post


Link to post
Share on other sites

To pokaż co masz, zawsze będzie łatwiej zacząć 🙂

Udostępnij ten post


Link to post
Share on other sites
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

byte kropka [8] = {
  B00000,
  B00000,
  B01110,
  B01110,
  B01110,  
  B00000,
  B00000,
  };   

byte myslnik [8] = {
  B00000,
  B00000,
  B00000,
  B11111,
  B00000,
  B00000,
  B00000,
  };   

int kbutton = 7;
int mbutton = 8;
int cbutton = 9;
int x=0;

void setup() 
{
  lcd.createChar(0, kropka);
  lcd.createChar(1, myslnik);
  lcd.begin(16,2);
  pinMode(kbutton, INPUT);
  pinMode(mbutton, INPUT);
  pinMode(cbutton, INPUT);
}

void loop() 
{
  lcd.setCursor(0,0); 
  lcd.print("KORMORAN NADAJE:");
  
  if (digitalRead(kbutton) == HIGH)
  {
    lcd.setCursor(x,1);
    x++;
    lcd.write(byte(0));
    while(digitalRead(kbutton) == HIGH);
  }
  
  if (digitalRead(mbutton) == HIGH)
  {
    lcd.setCursor(x,1);
    x++;
    lcd.write(byte(1));
    while(digitalRead(mbutton) == HIGH);
  }
    
  if (digitalRead(cbutton) == HIGH)
  {
    lcd.clear();
    while(digitalRead(cbutton) == HIGH);
    x=0;
  }
  
  if(x>=16)
  {
    lcd.clear();
    x=0;
  }

}

 

Udostępnij ten post


Link to post
Share on other sites

Skoro nic nie masz i chcesz coś zrobić to znaczy, że zaczynasz od początku. Opisz zatem jak to ma działać. Do czego są podłączone te przyciski, co tu ma do rzeczy monitor portu szeregowego, ro ma robić jeden i drugi procesor, gdzie jest wyświetlacz i co rozumiesz przez "receiver" i "transmitter". Czy chodzi o bloki UARTa czy jakieś moduły radiowe a jeśli tak to jakie. Napisz czy przeszedłeś forbotowe kursy programowania Arduino a jeśli nie to dlaczego, i czy w ogóle kiedykolwiek zrobiłeś jakieś swój własny, nietrywialny program.

BTW: W czasach rozkwitu radioamatorstwa popularne były tzw. automatyczne klucze telegraficzne. To naprawdę znacznie zwiększało szybkość ręcznego nadawania. Ja spokojnie robiłem na tym 20 grup/minutę, choć oczywiście w drugą stronę już tak różowo nie było. Taki klucz miał dwie manetki trzymane między kciukiem a palcem wskazującym. Jedna nadawała kropki, druga kreski a razem dawały ciąg naprzemienny zaczynający się od tego co pierwsze nacisnąłeś. Super sprawa, polecam, mam gdzieś jeszcze mój DIY.

Co to Twoje cudo ma robić i po co? To na jakiś pokaz?

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Ma działać, że chcę pomiędzy dwoma Arduino bezprzewodowo przesyłać wiadomość w postaci kodu Morse'a. Do obu Arduino podłączone są wyświetlacze LCD. Możliwe, że błędnie użyłem pojęć receiver i transmitter, chodzi o wykorzystanie modułu radiowego, którego niestety już nie posiadam, gdyż uległ przypadkowej destrukcji 😞 . Chcę to wykorzystać głównie na zbiórkach i obozach harcerskich. Jeśli chodzi o zakończone programy to był to układ imitujący bombę. Pracuję również nad układem mającym działać jak klawiatura w telefonach komórkowych. Nie robiłem kursów forbotowych i w sumie nie wiem dlaczego. 

Udostępnij ten post


Link to post
Share on other sites

Nie bardzo rozumiem.

Jeśli chcesz Morsem przesyłać informacje, to tam nie ma żadnych ukośników czy wymazywania - po prostu naciśnięcie klucza w nadajniku powoduje reakcję odbiornika (np. uruchomienie brzęczyka czy dociśnięcie pisaka do taśmy). Przesyłanie Morsem między dwoma urządzeniami jest trywialne, natomiast odczyt tego co nadaje człowiek już niespecjalnie.

@marek1707 ja robiłem 30 grup na kluczu od RBM-1 - i do dzisiaj uważam że był to najlepszy klucz z możliwych 🙂

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

@faalkoorNo to zacznijmy od tego do czego to ma być. Jeśli chcesz z robić łączność vintage i pokazać dzieciakom jak to kiedyś bywało, to klucz Morse'a jest jedynym sensownym wyjściem. Przyciski które wymyśliłeś to jakaś pomyłka. Do używania klucza potrzebna jest wprawna ręka i trochę treningu, który jest niczym w porównaniu z pracą jaką trzeba włożyć w naukę odbioru. A jeśli chcesz przesyłać literki z wyświetlacza na wyświetelacz, to moduły radiowe są właśnie do tego, ale to zupełnie inna sprawa. Piszesz tekst (no musisz mieć jakąś klawiaturę niestety) po jednej stronie, naiciskasz "Wyślij" i po chwili to samo ląduje po drugiej stronie. Nie ma tu żadnego Morse'a, dane są kodowane cyfrowo od początku do końca. Jakoś  idei tych rysowanych(?) kropek i kresek nie trawię a odbiór znaków Morse'a prezentowanych w formie graficznej to najgłupsza rzecz jaką można zrobić. To jestr alfabet do odbioru słuchem. Więc skup się i obroń swój pomysł albo przemyśl go jeszcze raz. Będziesz musiał jakoś kodować te symbole, bo moduły nie przesyłają po prostu fali nośnej na emisji CW. Te najprostsze może tak, ale z kolei odbiorniki tego wtedy nie odbiorą. Musisz nałożyć na to jakąś modulację. Mam nadzieję, że rozumiesz o czym piszę.

Moim zdaniem zrób im kurs nadawania i odbioru titawy a wcześniej sam się tego naucz. Zobaczysz jak to wygląda, jak działa i ile czasu musisz na to poświęcić. Dopiero gdy chociaż dwóch z was będzie umiało nadać i odebrać większość znaków możecie zacząć myśleć o łączu radiowym. W międzyczasie możecie sklecić prosty odbiornik nasłuchowy np. na pasmo 80m i zobaczyć (usłyszeć) co w trawie piszczy. Schermaty takich rzeczy są w sieci a nawet można kupić tanie gotowce lub zestawy do samodzielnego złożenia.

Wszelkie próby obchodzenia nauki słuchowej, jakieś absurdalne przyciski czy rysowanie kropek i kresek na wyświetlaczu są oszukiwaniem samego siebie i próbami ponownego wynajdowania koła. Taka wiedza na nic się nikomu nie przyda. To już prościej zadzwonić z komórki.

@ethanak A próbowałeś na takim automacie (może raczej półautomacie)? To jakbyś się przesiadł z malucha do.. Poloneza 🙂 Oczywiście także uważam, że dobry klucz to podstawa wszystkiego, ale do dzisiaj pamiętam tego banana na twarzy gdy odpaliłem mój sprzęt na paru TTL-ach i głośniczku.

Edytowano przez marek1707
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »

×