![Arduino Morse Code Writer: 7 kroků (s obrázky) Arduino Morse Code Writer: 7 kroků (s obrázky)](https://i.howwhatproduce.com/images/001/image-1189-33-j.webp)
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
![Image Image](https://i.howwhatproduce.com/images/001/image-1189-35-j.webp)
![](https://i.ytimg.com/vi/QptTR_BVdjA/hqdefault.jpg)
![Arduino Morse Code Writer Arduino Morse Code Writer](https://i.howwhatproduce.com/images/001/image-1189-36-j.webp)
Vyrobil jsem robota, který dokáže převést jakýkoli daný text na morseovku a poté ji zapsat !! Je vyroben z kartonu a Lega a pro elektroniku jsem použil Arduino a pouze dva motory.
Zásoby
Deska Arduino Uno Krokový motor Micro servo SG90ULN2003 modul ovladače krokového motoru Modul napájecího zdroje Breadboard4 × propojovací vodiče6 × dupontní vodiče žena-muž-samice 9V1A adaptér USB kabel Karton 2 × dřevěné hmoždinky 2 × pružiny Sláma bílý papír legoSuper lepidlo Horká lepicí pistole Elastický pásek (pro vytvoření držák pera) Nůžky
Krok 1: Budování základny
![Budování základny Budování základny](https://i.howwhatproduce.com/images/001/image-1189-37-j.webp)
![Budování základny Budování základny](https://i.howwhatproduce.com/images/001/image-1189-38-j.webp)
![Budování základny Budování základny](https://i.howwhatproduce.com/images/001/image-1189-39-j.webp)
Začněte stavěním základny. Moje má 4 čepy široké a 20 čepů dlouhé, poté, co jsem postavil jednu vrstvu s těmito délkami, postavil jsem kolem něj jeden hranatý široký hranol, který na jedné straně zanechal mezeru a ponechal prostor pro krokový motor, poté jsem přidal kousky dlaždic do střední části, kde bude papírový proužek. Díky použití Lega bylo velmi robustní a snadno se upravovalo. Abych vytvořil roli papíru, nastříhal jsem proužky papíru formátu A4 o šířce 1,2 cm (tuto šířku jsem zvolil, protože má stejnou šířku jako kolečko Lego, které jsem použil, podle kola můžete své zvětšit nebo zmenšit) a jejich konce jsem slepil k sobě aby vytvořil jeden velmi dlouhý pás, pak jsem ho omotal kolem kola.
Krok 2: Servo Piece
![Servo kus Servo kus](https://i.howwhatproduce.com/images/001/image-1189-40-j.webp)
![Servo kus Servo kus](https://i.howwhatproduce.com/images/001/image-1189-41-j.webp)
![Servo kus Servo kus](https://i.howwhatproduce.com/images/001/image-1189-42-j.webp)
K tomuto kroku potřebujete:
- dva dřevěné hmoždinky dlouhé 4 cm
- dva prameny dlouhé 2 cm
- jedna sláma nakrájená na dva kusy o délce 2 cm
- jeden kus lepenky o rozměrech 12 x 4 cm
- dva kusy lepenky o rozměrech 4 x 1,5 cm
- jeden kus lepenky o rozměrech 4 x 2 cm
Hmoždinky nejprve přilepte k jednomu ze 4 kusů o rozměru 1,5, poté vložte pružiny a brčka do hmoždinek a poté přilepte druhý kus lepenky na druhé straně, aby vše drželo na svém místě.
Za druhé, přilepte kus 4 cm na 2 cm na brčka.
Za třetí, otočte celý kus a přilepte na něj malou hmoždinku, ne uprostřed, ale mírně doleva. (Zapomněl jsem přidat malý hmoždinku na prvním obrázku)
Nakonec vyřízněte díru ve velkém kusu lepenky o velikosti přední části servomotoru a přilepte motor dovnitř, poté nalepte kus, který jsme právě vyrobili hmoždinkami, na velký kus, aby při pohybu servopohonu tlačil malý kolík dolů, který zase tlačí pružiny dolů.
Nakonec jsem odřízl asi 3 cm od spodní části dílu o rozměrech 12 cm x 4 cm a přilepil na něj další dva kusy o rozměrech 4 x 1,5 cm, poté jsem to překryl kusem lepenky o rozměrech 5,5 x 4 cm. A pro fixaci jsem vytvořil malý smyčku z elastického pásu a přilepil jsem ji na malý kousek lepenky, pak jsem to nalepil na kousek o rozměrech 4 x 2 cm, který se posune dolů, když začne servo. Tyto doplňky zastavily pohyb značky ze strany na stranu, když se pružiny vrátily nahoru.
Krok 3: Přidání servomotoru a role papíru k základně
![Přidání servomotoru a role papíru k základně Přidání servomotoru a role papíru k základně](https://i.howwhatproduce.com/images/001/image-1189-43-j.webp)
![Přidání servomotoru a role papíru k základně Přidání servomotoru a role papíru k základně](https://i.howwhatproduce.com/images/001/image-1189-44-j.webp)
Přidal jsem další dvě cihly na jednu stranu základny, abych podepřel servopohon, a přilepil jsem to na místo. Potom jsem přidal kolečko na vzdálenější konec základny.
Krok 4: Sestavení rámu krokového motoru
![Stavba rámu krokového motoru Stavba rámu krokového motoru](https://i.howwhatproduce.com/images/001/image-1189-45-j.webp)
![Stavba rámu krokového motoru Stavba rámu krokového motoru](https://i.howwhatproduce.com/images/001/image-1189-46-j.webp)
![Stavba rámu krokového motoru Stavba rámu krokového motoru](https://i.howwhatproduce.com/images/001/image-1189-47-j.webp)
Tento krok byl trochu výzvou, protože motor nebyl vyroben tak, aby dokonale odpovídal Legu. Zvládl jsem to však pomocí dvou otvorů v motoru, abych to zajistil na svém místě. Dále jsem na špičku motoru nalepil kolo Lego a pak jsem ho dal hned vedle základny na straně, kterou jsem nechal otevřenou v kroku 1.
Krok 5: Dokončení dotyků
![Dokončovací doteky Dokončovací doteky](https://i.howwhatproduce.com/images/001/image-1189-48-j.webp)
![Dokončovací doteky Dokončovací doteky](https://i.howwhatproduce.com/images/001/image-1189-49-j.webp)
![Dokončovací doteky Dokončovací doteky](https://i.howwhatproduce.com/images/001/image-1189-50-j.webp)
![Dokončovací doteky Dokončovací doteky](https://i.howwhatproduce.com/images/001/image-1189-51-j.webp)
Přidal jsem dva obloukové kusy na zakrytí kola, abych upevnil papír na místě. A přidal jsem dva menší obloukové kusy, jeden pro držení vodičů krokového motoru a druhý pro držení papíru. Nakonec jsem změnil kolečko krokového motoru na trochu větší, které posunovalo papír lépe než staré kolo.
Krok 6: Elektronika
![Elektronika Elektronika](https://i.howwhatproduce.com/images/001/image-1189-52-j.webp)
![Elektronika Elektronika](https://i.howwhatproduce.com/images/001/image-1189-53-j.webp)
Nakonec musíte připojit motory k Arduinu a nahrát kód.
Začneme servomotorem, připojíme hnědý vodič (zemnící vodič) ke kolíku GND, poté červený vodič (napájecí vodič) ke kolíku 5 V a oranžový vodič (signální vodič) k Dig #5 kolík. Dále krokový motor, připojte 1N1 k Dig #11, 1N2 k Dig #10, 1N3 k Dig #9, 1N4 k Dig #8, 5V k kladné straně prkénka a zemnicí kolík k záporné straně prkénko. A nezapomeňte připojit napájecí modul k prkénku a ujistěte se, že jeho kladné a záporné strany jsou správně zarovnány s odpovídajícími stranami na prkénku. Pokud to zapomenete, obrátíte sílu svého projektu a nechcete to dělat.
Pro kód jsem napsal čtyři způsoby, jeden pro psaní tečky, jeden pro psaní pomlčky a dva pro ponechání mezery mezi každým písmenem a každým slovem. Tímto způsobem mohu tyto metody jednoduše zavolat, když je potřebuji, místo toho, abych je znovu psal pro každé písmeno. Potom jsem napsal smyčku for, která prochází každým písmenem textu a napsala ji. Do ní jsem pro každé písmeno napsal příkaz if, ale pokud chcete, můžete jej napsat do příkazu switch. Samozřejmě můžete přidat do kódu, aby program mohl číst čísla. Když je veškerá kabeláž připravena, stačí zkopírovat a vložit kód do IDE. Nezapomeňte nainstalovat knihovny krokových, servopohonů a řetězců. Poté můžete vyrazit.
Jak to funguje
Když Arduino spustí, program se podívá na první písmeno textu. V závislosti na tom, které to je, zavolá funkce, které jej zapisují do Morseovy abecedy. Když je například volána funkce tečky, servomotor je nastaven na 160, který pohybuje perem dolů, pak je nastaven zpět na 90, což umožňuje pružinám vrátit se nahoru a pohybovat perem s nimi. A pokud je volána funkce pomlčky, servo posune pero dolů, pak krokový motor otáčí kolem, které táhne papír, čímž pero napíše pomlčku. A pokud se některá z vesmírných funkcí nazývá krokový motor, otáčí se, ale perem nahoru, táhne papír a vytváří mezeru mezi písmeny nebo slovy. Když je hotovo, přejde na další písmeno a opakuje stejný postup. Doufám, že se ti to líbí;)
Kód
#zahrnout
#include #include #include const int stepsPerRevolution = 150; // Toto je proměnná pro krokový motor Řetězcová věta = "*ahoj"; // Změňte tuto proměnnou tak, aby psala různá slova, ale pište pouze malými písmeny a začněte slovo „*“Stepper myStepper (stepsPerRevolution, 8, 10, 9, 11); Servo myServo; // Toto je metoda, díky které robot zapisuje tečku prázdná tečka () {Serial.println ("tečka start"); myServo.write (160); zpoždění (1000); myServo.write (90); zpoždění (1000); myStepper.step (stepsPerRevolution); zpoždění (1000); Serial.println ("tečka hotová"); } // Toto je metoda, díky které robot zapisuje pomlčku void dash () {Serial.println ("dash dash"); myServo.write (160); zpoždění (1000); myStepper.step (stepsPerRevolution); zpoždění (1000); myServo.write (90); zpoždění (1000); myStepper.step (stepsPerRevolution); zpoždění (1000); Serial.println ("pomlčka hotová"); } // Toto je metoda, díky které robot ponechá mezeru mezi jednotlivými písmeny prázdná mezera () {Serial.println ("mezera"); myServo.write (90); zpoždění (1000); myStepper.step (200); zpoždění (1000); Serial.println („místo dokončeno“); } // Toto je metoda, díky které robot ponechá větší mezeru mezi každým slovem void bigSpace () {myServo.write (90); myStepper.step (250); zpoždění (1000); } void setup () {// sem vložte instalační kód, aby se spustil jednou: Serial.begin (9600); myStepper.setSpeed (100); myServo.attach (5); int první = věta.indexOf ('*'); // tato smyčka for prochází každým písmenem řetězce a poté zavolá správné metody, které ji zapíší (int i = 0; i <věta.length (); i ++) {if (věta.charAt (první+i) == 'a') {Serial.print (".-"); tečka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'b') {Serial.print ("-…"); pomlčka(); tečka(); tečka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'c') {Serial.print ("-.-."); pomlčka(); tečka(); pomlčka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'd') {Serial.print ("-.."); pomlčka(); tečka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'e') {Serial.print ("."); tečka(); prostor(); } else if (věta.charAt (první + i) == 'f') {Serial.print ("..-."); tečka(); tečka(); pomlčka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'g') {Serial.print ("-."); pomlčka(); pomlčka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'h') {Serial.print ("…."); tečka(); tečka(); tečka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'i') {Serial.print (".."); tečka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'j') {Serial.print ("---"); tečka(); pomlčka(); pomlčka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'k') {Serial.print ("-.-"); pomlčka(); tečka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'l') {Serial.print (".-.."); tečka(); pomlčka(); tečka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'm') {Serial.print ("-"); pomlčka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'n') {Serial.print ("-."); pomlčka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'o') {Serial.print ("---"); pomlčka(); pomlčka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'p') {Serial.print ("-."); tečka(); pomlčka(); pomlčka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 'q') {Serial.print ("--.-"); pomlčka(); pomlčka(); tečka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'r') {Serial.print (".-."); tečka(); pomlčka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 's') {Serial.print ("…"); tečka(); tečka(); tečka(); prostor(); } else if (věta.charAt (první + i) == 't') {Serial.print ("-"); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'u') {Serial.print ("..-"); tečka(); tečka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'v') {Serial.print ("…-"); tečka(); tečka(); tečka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'w') {Serial.print ("-"); tečka(); pomlčka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'x') {Serial.print ("-..-"); pomlčka(); tečka(); tečka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'y') {Serial.print ("-.--"); pomlčka(); tečka(); pomlčka(); pomlčka(); prostor(); } else if (věta.charAt (první + i) == 'z') {Serial.print ("-.."); pomlčka(); pomlčka(); tečka(); tečka(); prostor(); } else if (věta.charAt (první + i) == '') {Serial.print ("/"); bigSpace (); }}} void loop () {// Nic sem nepište}
Krok 7: Odstraňování problémů
Kolo se nepohybuje
Mezi kolem a papírem může být příliš velké tření, zkuste kolo trochu nadzvednout nebo vyměnit.
Kolečko táhne papír, ale pak se stále otáčí, aniž by papír tahalo
Ujistěte se, že jste nalepili kolo ve středu krokového motoru
Tečky a čárky jsou spojeny
Zkontrolujte, zda jsou funkce tečky, pomlčky a mezery zapsány správně, měly by vypadat takto:
// Toto je metoda, díky které robot zapisuje tečku bez tečky () {Serial.println ("začátek tečky"); myServo.write (160); zpoždění (1000); myServo.write (90); zpoždění (1000); myStepper.step (stepsPerRevolution); zpoždění (1000); Serial.println ("tečka hotová"); }
// Toto je metoda, díky které robot napíše pomlčku
void dash () {Serial.println ("start dash"); myServo.write (160); zpoždění (1000); myStepper.step (stepsPerRevolution); zpoždění (1000); myServo.write (90); zpoždění (1000); myStepper.step (stepsPerRevolution); zpoždění (1000); Serial.println ("pomlčka hotová"); }
// Toto je metoda, díky které robot ponechá mezeru mezi jednotlivými písmeny
void space () {Serial.println ("start prostoru"); myServo.write (90); zpoždění (1000); myStepper.step (200); zpoždění (1000); Serial.println („místo dokončeno“); }
Doporučuje:
Binary Tree Morse Decoder: 7 kroků (s obrázky)
![Binary Tree Morse Decoder: 7 kroků (s obrázky) Binary Tree Morse Decoder: 7 kroků (s obrázky)](https://i.howwhatproduce.com/images/002/image-4706-14-j.webp)
Binary Tree Morse Decoder: a.articles {font-size: 110,0%; font-weight: bold; styl písma: kurzíva; textová dekorace: žádná; color-background: red;} a.articles: hover {background-color: black;} This instructable explains how to decode Morse Code using a Arduino Uno R3.T
Klíč USB Arduino Morse Code: 6 kroků
![Klíč USB Arduino Morse Code: 6 kroků Klíč USB Arduino Morse Code: 6 kroků](https://i.howwhatproduce.com/images/004/image-9747-j.webp)
USB klíč Arduino Morseova abeceda: Chtěli jste někdy psát na počítači pomocí morseovky nebo se učit/učit morseovku? Jste na správné stránce! Pro mé další projekty navštivte můj web calvin.sh
Vysílač Arduino Morse Code: 11 kroků
![Vysílač Arduino Morse Code: 11 kroků Vysílač Arduino Morse Code: 11 kroků](https://i.howwhatproduce.com/images/001/image-72-49-j.webp)
Vysílač Arduino Morse Code: V tomto návodu použijete Arduino Uno k vytvoření vysílače Morseova kódu a pomocí sériového monitoru budete číst zprávy, které jste vyslali. Díly, které budete potřebovat: Arduino UnoBreadboardBuzzerButtons propojovací vodiče
Generátor Arduino Yún Morse: 4 kroky (s obrázky)
![Generátor Arduino Yún Morse: 4 kroky (s obrázky) Generátor Arduino Yún Morse: 4 kroky (s obrázky)](https://i.howwhatproduce.com/images/001/image-618-140-j.webp)
Generátor Arduino Yún Morse: Už jste někdy byli v baru, kde jste nemohli mluvit se svým přítelem, protože hudba byla příliš hlasitá? teď ho můžete požádat o pivo v Morseově abecedě! Začněme
Altoids Tin Morse Code Practice Key: 6 kroků
![Altoids Tin Morse Code Practice Key: 6 kroků Altoids Tin Morse Code Practice Key: 6 kroků](https://i.howwhatproduce.com/images/001/image-2860-25-j.webp)
Klíč k procvičování Altoids Tin Morse Code: Měl jsem položeno pár plechovek Altoids a rozhodl jsem se vytvořit klíč k procvičování Morseovy abecedy. Jedná se o nejjednodušší elektronický projekt, jaký byste mohli získat, ale konečný výsledek je docela zábavný. Materiály: Altoids Cín - prázdný a vymazaný Čistý bzučák