Arduino: buduj tłumacze Morse'a - jak to działa
W tej praktycznej wskazówce dowiesz się, jak łatwo zbudować tłumacz Morse'a za pomocą Arduino.
Budowanie tłumaczy Morse'a za pomocą Arduino - jest to potrzebne
Przede wszystkim oczywiście potrzebujesz Arduino.
- Powinieneś również uzyskać aktywny brzęczyk i diodę LED.
- Podłącz brzęczyk do styku 9, a LED do styku 13.
Arduino: program Morse tłumacz
Tutaj zaprogramowaliśmy dla Ciebie mały przykładowy kod, z którego możesz korzystać. Wystarczy załadować go do Arduino i uruchomić monitor szeregowy.
- #define debuguj true
- int ledPin = 13;
- int speakerPin = 9;
- int pitch1 = 140;
- int pitch2 = 140;
- int kropka = 50;
- int myślnik = 3 * kropka;
- String morseATable [] = {".-", "-...", "-.-.", "- ..", ".", "..-.", "-.", ". ... ”, „ .. ”, „ .--- ”, „ _._ ”, „ .- .. ”, „ - ”, „ -. ”, „ --- ”, „ .- . ", " --.- ", " .-. ", " ... ", " - ", " ..- ", " ...- ", " .-- ", " -..- „, ” -.-- ”, „ - .. ”};
- String morseNTable [] = {"-----", ".----", "..---", "...--", "....-", "... .. ”, „ -.... ”, „ --... ”, „ --- .. ”, „ ----. ”};
- void setup () {
- pinMode (ledPin, OUTPUT);
- pinMode (głośnikPin, WYJŚCIE);
- Serial.begin (9600);
- if (debugowanie) {
- Serial.println ( "\ nstart");}
- }
- void loop () {
- jeśli (prawda) {
- convert2Morse (Serial.readString ());
- }
- }
- void convert2Morse (komunikat ciągu) {
- for (int pos = 0; pos <message.length (); pos ++) {
- if (debugowanie) {
- Serial.print (message.charAt (poz));
- Serial.print („”);
- }
- if ((message.charAt (pos)> = 97) && (message.charAt (pos) <= 122)) {
- morseLED (morseATable [message.charAt (POS) -97])};
- if ((message.charAt (pos)> = 48) && (message.charAt (pos) <= 57)) {
- morseLED (Morse tabeli [komunikat [poz] -48])}
- if (message.charAt (pos) == 32) {
- morseLED ("");}
- if (debugowanie) {
- Serial.println ();
- }
- }}
- void morseLED (ciąg znaków) {
- for (int pos = 0; pos <sekwencja.length (); pos ++) {
- FlashLED (sequence.charAt (POS))}
- opóźnienie (2 * kropka);
- }
- void flashLED (char dotOrDash) {
- if (debugowanie) {
- Serial.print (dotOrDash);}
- if (dotOrDash == 46) {
- digitalWrite (ledPin, HIGH);
- ton (głośnik Pin, wysokość 1);
- opóźnienia (kropka);
- digitalWrite (ledPin, LOW);
- noTone (speakerPin);
- opóźnienia (kropka);
- } else if (dotOrDash == 45) {
- digitalWrite (ledPin, HIGH);
- ton (głośnik Pin, wysokość 2);
- opóźnienia (łącznik);
- digitalWrite (ledPin, LOW);
- noTone (speakerPin);
- opóźnienia (kropka);
- } else if (dotOrDash == 32) {
- Opóźnienie (kropka);}
- }
W kolejnej praktycznej wskazówce pokażemy, jak korzystać z modułu GSM w Arduino.