Cześć,
Tak jak w tytule, chciałbym zaprezentować Wam prosty projekt na Arduino skierowany głównie do początkujących użytkowników.
Zaszyfrujecie dzięki niemu dowolny wyraz w kodzie Morse’a, a nawet go wysłuchacie. Zatem do dzieła!
Co będzie potrzebne?
- Dowolne Arduino (ja korzystałem z UNO)
- Wyświetlacz LCD I2C (najlepiej 20×4)
- 3 przyciski (tact switch)
- Dioda LED z odpowiednim rezystorem
- Buzzer, brzęczyk lub inny generator hałasu na 5V :)
Ogólny zamysł i połączenie…
Do Arduino podłączamy wyświetlacz (łączymy piny z wyświetlacza z Arduino – VCC z 5V, GND z GND, SDA z SDA i SCL z SCL). Dodatkowo, na płytce stykowej umieszczamy 3 przyciski. Dwa z nich będą służyły do przewijania liter przez alfabet w górę i w dół, trzeci do zatwierdzania wyboru. Z jednej strony przyciski łączymy do masy, z drugiej zaś strony do pinów cyfrowych Arduino – 3, 4 i 5. Na koniec, wrzucamy na płytkę stykową nasz buzzer oraz diodę LED, połączone równolegle. Plus (anody) łączymy z pinem Arduino 11, katody do masy. Tak przygotowany zestaw jest już gotowy do wgrania programu. Poniżej załączam obrazek, jak powinno wyglądać prawidłowe połączenie.
Siadamy do kodu
Mój gotowy kod z komentarzami i objaśnieniami dostępny jest poniżej:
Działanie
Dwoma przyciskami przewijamy alfabet w górę i w dół, gdy mamy odpowiednią literę, klikamy trzeci przycisk i wybieramy kolejną. Aby zakończyć wprowadzanie liter przytrzymujemy trzeci przycisk przez ponad sekundę. Na wyświetlaczu pojawia się zaszyfrowane słowo.
Prezentacja działania na filmie poniżej:
Mam nadzieję, że projekt się spodobał lub kogoś zainspirował. Po skończeniu możemy również zabawić się w np. wysyłanie zaszyfrowanego komunikatu drogą radiową, ale to już sprawa na zupełnie osobny poradnik. Wszelkie uwagi mile widziane w komentarzach.
Pozdrawiam
Mikołaj
1) Kod Morse’a nie jest szyfrem, więc do szyfrowania temu daleko
2) Brak regulacji prędkości i tonu – to nawet nie jest standardowy ton, po prostu kluczujesz głośniczek bez tranzystora…
3) Wpisywanie na klawiszach… można było użyć chociaż enkodera, serio. Różnica cenowa prawie żadna, a znacznie lepsza obsługa.
Przykro mi to mówić, ale to kolejny projekt w stylu połączenia paru kabelków. Naprawdę, można było to ulepszyć (odpowiedni ton, regulacja szybkości, wybieranie znaku enkoderem, przyciski pause/stop/replay), aktualnie to wygląda jak słaby tutorial. Wiem że ostatnio narzekam na tej stronie, ale naprawdę na głównej są znacznie lepsze projekty, nie wyglądające jak tutorial do Arduino, z obudową i odpowiednio przemyślane. Jeżeli społeczność zadecyduje że ok to spoko, ja niestety jestem na nie. Po prostu nie podoba mi się projekt zbudowany z godzinę z losowego pomysłu, pozostawiony na breadboardzie, nieprzemyślany.
Kod Morse’a to jak łatwo się domyśleć kodowanie, a nie szyfrowanie.
Nie za bardzo przekonuje mnie projekt, do którego na dobrą sprawę nie trzeba ani Arduino ani żadnej amatorskiej elektroniki – wystarczy napisać prosty programik w Pythonie, C# albo Javie. Na dobrą sprawę są nawet strony internetowe, które realizują tę funkcjonalność – to czyni projekt dosyć mocno niepraktycznym. Można byłoby go odratować np. umieszczeniem w obudowie z jakimś zasilaniem żeby zrobić z niego moduł przenośny; potem umożliwić przesyłanie komunikatów laserem i na koniec zbudować i oprogramować odbiornik, który umiałby je odczytać i wyświetlić. Moim zdaniem fakt, że projekt działa to jeszcze trochę za mało, żeby trafił na główną stronę.
Ciekawy artykuł, spróbuje sobie złożyć coś takiego po zakupie buzzera
a co jeśli nie posiadam konwertera do wyświetlacza, jak wtedy to połączyć?
Potrzebuje pomocy! Jestem początkującym z Arduino (mam 13 lat) i nie wiem jak podłączyć wyświetlacz bezpośrednio do Arduino i jak zmienić kod aby to działało
A ogólnie to artykuł super😀
Sposób podłączenia masz w filmie:
https://www.youtube.com/watch?v=qKgldxcOKCg
Masz tam też bibliotekę, którą należy użyć.
W kodzie programu zamieniasz linijkę nr 2 na pierwszą linijkę z filmu.
Linijkę nr 4 zmieniasz na drugą wpisaną w filmie.
Wywalasz z kodu linijkę 30.
W linii 29 wpisujesz lcd.begin(16,2) – jeżeli masz wyświetlacz 2×16 znaków. Jeśli inny, wpisujesz tak, jak masz u siebie.
Jeśli będziesz miał nadal problem, napisz na forum.majsterko.pl, łatwiej będzie pomóc.