Satura rādītājs:

Arduino Morzes koda raidītājs: 11 soļi
Arduino Morzes koda raidītājs: 11 soļi

Video: Arduino Morzes koda raidītājs: 11 soļi

Video: Arduino Morzes koda raidītājs: 11 soļi
Video: Lesson 21: Using Infrared Remote Control with Arduino | SunFounder Robojax 2024, Novembris
Anonim
Arduino Morzes koda raidītājs
Arduino Morzes koda raidītājs
Arduino Morzes koda raidītājs
Arduino Morzes koda raidītājs

Šajā pamācībā jūs izmantosit Arduino Uno, lai izveidotu Morzes koda raidītāju, un izmantojiet sērijas monitoru, lai lasītu pārraidītos ziņojumus.

Jums nepieciešamās detaļas:

Arduino Uno

Maizes dēlis

Signāls

Pogas

Jumper vadi

1. darbība. Nodrošiniet maizi ar jaudu

Nodrošiniet maizi ar jaudu
Nodrošiniet maizi ar jaudu

Pievienojiet džempera vadu no 5 V tapas Arduino Uno uz pozitīvās līnijas uz jūsu maizes dēļa.

2. darbība: zemējiet maizes dēli

Sasmalciniet savu maizes dēli
Sasmalciniet savu maizes dēli

Tagad pievienojiet vadu no jebkuras Arduino GND tapas pie negatīvās līnijas uz jūsu maizes dēļa.

3. darbība: ievietojiet pogu

Ievietojiet savu pogu
Ievietojiet savu pogu

Ievietojiet savu pogu. Pārliecinieties, ka divas tā kājas atrodas katrā kanāla pusē uz maizes dēļa vidus un kājas ir stingri ievietotas. Smagi nospiežot tos ir viegli saliekt, tāpēc esiet piesardzīgs, nospiežot pogu.

4. solis: noslīpējiet pogu

Noslīpējiet pogu
Noslīpējiet pogu

Pievienojiet pogu zemei, ievietojot vienu galu vienā rindā ar pogas augšējo kāju, bet otru - negatīvajā rindā, kuru iepriekš pievienojāt zemei.

5. darbība: pievienojiet pogu

Savienojiet savu pogu
Savienojiet savu pogu

Aizveriet pogu ķēdi un ļaujiet Arduino nolasīt savu ievadi, savienojot vadu no tās pašas rindas kā apakšējā pogas kājiņa un 7. tapu uz Arduino.

6. darbība: ievietojiet skaņas signālu

Ievietojiet savu skaņas signālu
Ievietojiet savu skaņas signālu

Ievietojiet skaņas signālu tā, lai augšpusē esošā zīme "+" vai nedaudz garāka kārta atrastos tajā pašā maizes dēļa pusē, kurā vads ir pievienots 5V spriegumam.

7. solis: iezemējiet skaņas signālu

Zemējiet skaņas signālu
Zemējiet skaņas signālu

Pievienojiet pogu zemei ar vadu no tās pašas rindas, kurā ir tā īsākā kāja, pie negatīvās līnijas uz maizes dēļa, kuru iepriekš pievienojāt GND.

8. solis: ieslēdziet skaņas signālu

Ieslēdziet skaņas signālu
Ieslēdziet skaņas signālu

Nodrošiniet skaņas signāla strāvu un ļaujiet Arduino to vadīt ar vadu no tās pašas rindas, kurā ir tā garāka kāja, līdz Arduino 8. tapai.

9. solis: uzrakstiet savu kodu

Uzrakstiet savu kodu
Uzrakstiet savu kodu

Kopējiet un ielīmējiet mūsu kodu vai lejupielādējiet pievienoto failu.

statiskā virkņu Morze = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. ","-","-. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "…-", ".--", "-..-", "-.-- ","-.. "," E "};

statiskais simbols Alfabēts = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", " x ',' y ', “z”, “E”}; neparakstīts garš push_length, start_push, end_push; // laiks, uz kura poga tiek nospiesta int poga = 7; // ievades tapa spiedpogai int buzzer = 8; // outpu pin for LED String code = ""; // virkne, kurā tiek glabāts viens alfabēts

void setup () {

Sērijas sākums (9600); pinMode (poga, INPUT_PULLUP); // iekšējais pullup rezistors tiek izmantots, lai vienkāršotu ķēdes pinMode (zummeris, OUTPUT); Serial.println ("Sāciet savu ziņojumu!"); }

tukša cilpa ()

{MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // laiks pie pogas nospiešanas signāla (zummeris, 150); while (digitalRead (poga) == LOW) {} end_push = millis (); // laiks pie pogas atlaišanas noTone (zummeris); push_length = end_push - start_push; // laiks, uz kura poga tiek nospiesta, ja (push_length> 50) {// lai ņemtu vērā slēdža atcelšanas kodu += dot_or_dash (push_length); // funkcija, lai lasītu punktu vai domuzīmi}, kamēr ((milis () - beigas_push) <500) // ja laiks starp pogas nospiešanu ir lielāks par 0,5 sekundēm, izlaidiet cilpu un pārejiet pie nākamā alfabēta {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morzes_tulkojums (kods); // funkcija, lai atšifrētu kodu alfabētā}

char dot_or_dash (pludiņa garums)

{if (50 garums) {return '.'; // ja poga tiek nospiesta mazāk par 0,6 sekundēm, tas ir punkts} cits, ja (garums> 600) {return '-'; // ja poga tiek nospiesta vairāk nekā 0,6 sekundes, tā ir domuzīme}}

void Morse_translation (String morsecode)

{int i = 0; ja (kods == ".-.-.-") {Sērijas.druka ("."); // pārtraukumam} cits {while (Morse ! = "E") // cilpa ievades koda salīdzināšanai ar burtu masīvu {if (Morse == morsecode) {Serial.print (Alfabēts ); pārtraukums; } i ++; } ja (Morze == "E") {Serial.println ("Kļūda!"); // ja ievades kods neatbilst nevienam burtam, error}} code = ""; // atiestatīt kodu uz tukšu virkni}

10. darbība: izmantojiet sērijas monitoru, lai nolasītu izvadi

Izmantojiet seriālo monitoru, lai nolasītu savus rezultātus!
Izmantojiet seriālo monitoru, lai nolasītu savus rezultātus!

Atveriet seriālo monitoru, lai skatītu savus ziņojumus, nospiežot pogu, lai izveidotu Morzes kodu. Izmantojiet iepriekš sniegto ceļvedi, lai pareizi sakārtotu punktus un domuzīmes!

11. solis: Vai vēlaties vairāk šādu projektu?

Vai vēlaties vairāk šādu projektu?
Vai vēlaties vairāk šādu projektu?

Iegūstiet detaļas 2-3 projektiem mēnesī, kā arī instrukcijas un video, lai tos izveidotu, izmantojot MakeCrate!

Ieteicams: