Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pagbuo ng Batayan
- Hakbang 2: Ang Servo Piece
- Hakbang 3: Pagdaragdag ng Servo Motor at ang Paper Roll sa Base
- Hakbang 4: Pagbuo ng Stepper Motor Frame
- Hakbang 5: Pagtatapos ng Mga Touch
- Hakbang 6: Elektronika
- Hakbang 7: Pag-troubleshoot
Video: Manunulat ng Arduino Morse Code: 7 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Gumawa ako ng isang robot na maaaring i-convert ang anumang naibigay na teksto sa Morse code at pagkatapos ay isulat ito !! Ginawa ito sa karton at Lego at para sa electronics ginamit ko ang Arduino at dalawang motor lamang.
Mga gamit
Arduino Uno board Stepper motor Micro servo SG90ULN2003 stepper motor driver module Module ng power supply Breadboard4 × Jumper wires6 × Babae-to-Lalaki dupont wires9V1A AdapterUSB cable Cardboard 2 × Wooden dowels 2 × Springs Straw White paperLegoSuper glue Hot glue gun Elastic band (upang makagawa ng may hawak ng panulat) Pamutol ng Gunting
Hakbang 1: Pagbuo ng Batayan
Magsimula sa pamamagitan ng pagbuo ng base. Ang mina ay 4 na studs ang lapad at 20 studs ang haba, pagkatapos ng pagbuo ng isang layer na may haba na iyon, nagtayo ako ng isang lapad na boarder sa paligid nito na nag-iiwan ng isang puwang sa isang gilid upang mag-iwan ng puwang para sa stepper motor, pagkatapos ay idinagdag ko mga piraso ng tile sa gitnang bahagi kung saan naroon ang strip ng papel. Ginamit ito ng Lego na napakalakas at madaling mabago. Upang magawa ang roll ng papel, pinutol ko ang mga piraso ng A4 na papel na 1.2cm ang lapad (pinili ko ang lapad na ito dahil pareho ang lapad ng ginamit kong Lego wheel, maaari mong gawing mas malaki o mas maliit ang sa iyo depende sa iyong gulong) at idinikit ko ang kanilang mga dulo upang bumuo ng isang napakahabang strip, pagkatapos ay ibinalot ko ito sa gulong.
Hakbang 2: Ang Servo Piece
Para sa hakbang na ito kailangan mo:
- dalawang kahoy na dowels na 4cm ang haba
- dalawang spring na 2cm ang haba
- isang dayami gupitin sa dalawang piraso 2cm ang haba bawat isa
- isang 12cm ng 4cm na piraso ng karton
- dalawang 4cm ng 1.5cm na piraso ng karton
- isang 4cm ng 2cm na piraso ng karton
Una, idikit ang mga dowel sa isa sa 4 na 1.5 piraso, pagkatapos ay ipasok ang mga bukal at dayami sa mga dowel, pagkatapos ay idikit ang iba pang piraso ng karton sa kabilang panig upang hawakan ang lahat sa lugar.
Pangalawa, kola ang 4cm ng 2cm na piraso sa tuktok ng mga dayami.
Pangatlo, i-flip ang buong piraso at idikit ang isang maliit na dowel sa likuran nito, hindi sa gitna ngunit bahagyang sa kaliwa. (Nakalimutan kong idagdag ang maliit na dowel sa unang larawan)
Sa wakas, gupitin ang isang butas sa malaking piraso ng karton na laki ng harap ng servo motor at idikit ang motor, pagkatapos ay idikit ang piraso na ginawa lamang namin sa mga dowel sa malaking piraso upang kapag gumalaw ang servo, itulak nito ang maliit na dowel pababa kung saan ay tulak din ang mga spring down.
Natapos ko ang pagputol ng tungkol sa 3cm mula sa ilalim na bahagi ng 12cm ng 4cm na piraso at pagdikit ng dalawa pang 4cm ng 1.5cm na mga piraso dito, pagkatapos ay takpan iyon ng isang 5.5cm ng 4cm na piraso ng karton. At upang hawakan ang marker gumawa ako ng isang maliit loop ng nababanat na banda at idinikit ito sa isang maliit na piraso ng karton at pagkatapos ay idinikit ko iyon sa 4cm ng 2cm na piraso na lilipat pababa kapag nagsimula ang servo. Ang mga pagdaragdag na ito ay tumigil sa marker mula sa paglipat mula sa isang gilid patungo sa gilid kapag ang mga bukal ay bumalik.
Hakbang 3: Pagdaragdag ng Servo Motor at ang Paper Roll sa Base
Nagdagdag ako ng dalawa pang brick sa isang bahagi ng base upang suportahan ang piraso ng servo at idinikit ko ito sa lugar. Pagkatapos ay idinagdag ko ang gulong sa pinakadulo ng base.
Hakbang 4: Pagbuo ng Stepper Motor Frame
Ang hakbang na ito ay medyo isang hamon, dahil ang motor ay hindi ginawa upang ganap na magkasya sa Lego. Gayunpaman, nagawa ko itong gawin sa pamamagitan ng paggamit ng dalawang butas sa motor upang ma-secure ito sa lugar. Susunod, idinikit ko ang isang gulong Lego sa dulo ng motor at pagkatapos ay inilagay ko ito sa tabi mismo ng base sa gilid na naiwan kong bukas sa hakbang 1.
Hakbang 5: Pagtatapos ng Mga Touch
Nagdagdag ako ng dalawang piraso ng arko upang takpan ang gulong upang maayos ang papel sa lugar. At nagdagdag ako ng dalawang mas maliit na mga piraso ng arko isa upang hawakan ang mga wire ng stepper motor at isa pa upang hawakan ang papel. Panghuli, binago ko ang stepper motor wheel sa isang bahagyang mas malaki na gumalaw ng papel nang mas mahusay kaysa sa dating gulong.
Hakbang 6: Elektronika
Sa wakas, kailangan mong ikonekta ang mga motor sa Arduino at i-upload ang code.
Magsisimula kami sa servo motor, ikonekta ang brown wire (ang ground wire) sa GND pin, pagkatapos ang pulang wire (ang power wire) sa 5V pin, at ang orange wire (ang signal wire) sa Dig # 5 pin Susunod, ang stepper motor, ikonekta ang 1N1 sa Dig # 11, 1N2 sa Dig # 10, 1N3 sa Dig # 9, 1N4 sa Dig # 8, ang 5V sa positibong bahagi ng breadboard at ang ground pin sa negatibong bahagi ng breadboard. At huwag kalimutan na ikonekta ang module ng supply ng kuryente sa breadboard na tinitiyak na ang positibo at negatibong panig nito ay nakahanay nang tama sa mga kaukulang panig sa breadboard. Kung nakalimutan mong gawin ito, ibabalik mo ang kapangyarihan sa iyong proyekto, at ayaw mong gawin iyon.
Para sa code, nagsulat ako ng apat na pamamaraan, isa upang sumulat ng isang tuldok, isa upang sumulat ng isang dash, at dalawa upang mag-iwan ng puwang sa pagitan ng bawat titik at bawat salita. Sa ganoong paraan, maaari ko lamang tawagan ang mga pamamaraang ito kapag kailangan ko sila sa halip na isulat ito muli para sa bawat liham. Pagkatapos ay nagsulat ako ng isang para sa loop na dumadaan sa bawat titik ng teksto at isulat ito, Sa loob nito, nagsulat ako ng isang pahayag kung para sa bawat titik ngunit maaari mo itong isulat sa isang pahayag ng switch kung nais mo. Siyempre maaari kang magdagdag sa code upang paganahin ang programa na mabasa ang mga numero. Kapag handa na ang lahat ng mga kable, kopyahin lamang at i-paste ang code sa iyong IDE. Huwag kalimutang i-install ang mga aklatan ng stepper, servo, at string. Pagkatapos nito, magaling kang pumunta.
Kung paano ito gumagana
Kapag sinimulan ng Arduino ang programa ay tumitingin sa unang titik ng teksto., At depende sa kung alin ito, tinawag nito ang mga pagpapaandar na nagsusulat nito sa Morse code. Halimbawa At kung tinawag ang pagpapaandar ng dash, igagalaw ng servo ang bolpen, pagkatapos ay iikot ng stepper motor ang gulong na hinihila ang papel na gumagawa ng panulat na magsulat ng isang dash. At kung ang isa sa mga pagpapaandar sa puwang ay tinatawag na stepper motor na umiikot ngunit sa panulat up kaya hinihila nito ang papel na gumagawa ng puwang sa pagitan ng mga titik o mga salita. Kapag tapos na ito, pupunta ito sa susunod na letra at inuulit ang parehong proseso. Sana magustuhan mo;)
Ang code
# isama
#include #include #include const int stepsPerRevolution = 150; // Ito ang variable para sa stepper motor String pangungusap = "* hello"; // Baguhin ang variable na ito upang sumulat ng iba't ibang mga salita ngunit isulat lamang sa maliliit na titik at simulan ang iyong salita sa "*" Stepper myStepper (stepsPerRevolution, 8, 10, 9, 11); Servo myServo; // Ito ang pamamaraan na gumagawa ng robot na magsulat ng isang dot void dot () {Serial.println ("dot start"); myServo.write (160); pagkaantala (1000); myServo.write (90); pagkaantala (1000); myStepper.step (stepsPerRevolution); pagkaantala (1000); Serial.println ("tuldok tapos na"); } // Ito ang pamamaraan na gumagawa ng robot na magsulat ng isang dash void dash () {Serial.println ("dash start"); myServo.write (160); pagkaantala (1000); myStepper.step (stepsPerRevolution); pagkaantala (1000); myServo.write (90); pagkaantala (1000); myStepper.step (stepsPerRevolution); pagkaantala (1000); Serial.println ("dash tapos na"); } // Ito ang pamamaraan na nag-iiwan ng robot ng puwang sa pagitan ng bawat titik na walang bisa () {Serial.println ("space start"); myServo.write (90); pagkaantala (1000); myStepper.step (200); pagkaantala (1000); Serial.println ("space tapos"); } // Ito ang pamamaraan na nag-iiwan ng robot ng mas malaking puwang sa pagitan ng bawat salitang walang bisa ng bigSpace () {myServo.write (90); myStepper.step (250); pagkaantala (1000); } void setup () {// ilagay ang iyong code sa pag-setup dito, upang tumakbo nang isang beses: Serial.begin (9600); myStepper.setSpeed (100); myServo.attach (5); int first = pangungusap.indexOf ('*'); // ito para sa loop ay dumaan sa bawat titik ng string at pagkatapos ay tatawag ng mga tamang pamamaraan upang isulat ito para sa (int i = 0; i <pangungusap.length (); i ++) {kung (pangungusap.charAt (una + i) == 'a') {Serial.print (".-"); tuldok (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'b') {Serial.print ("-…"); dash (); tuldok (); tuldok (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'c') {Serial.print ("-.-."); dash (); tuldok (); dash (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'd') {Serial.print ("-.."); dash (); tuldok (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'e') {Serial.print ("."); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'f') {Serial.print ("..-."); tuldok (); tuldok (); dash (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'g') {Serial.print ("-."); dash (); dash (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'h') {Serial.print ("…."); tuldok (); tuldok (); tuldok (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'i') {Serial.print (".."); tuldok (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'j') {Serial.print (".---"); tuldok (); dash (); dash (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'k') {Serial.print ("-.-"); dash (); tuldok (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'l') {Serial.print (".-.."); tuldok (); dash (); tuldok (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'm') {Serial.print ("-"); dash (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'n') {Serial.print ("-."); dash (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'o') {Serial.print ("---"); dash (); dash (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'p') {Serial.print (".--."); tuldok (); dash (); dash (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'q') {Serial.print ("--.-"); dash (); dash (); tuldok (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'r') {Serial.print (".-."); tuldok (); dash (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 's') {Serial.print ("…"); tuldok (); tuldok (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == 't') {Serial.print ("-"); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'u') {Serial.print ("..-"); tuldok (); tuldok (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'v') {Serial.print ("… -"); tuldok (); tuldok (); tuldok (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'w') {Serial.print (".--"); tuldok (); dash (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'x') {Serial.print ("-..-"); dash (); tuldok (); tuldok (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'y') {Serial.print ("-.--"); dash (); tuldok (); dash (); dash (); space(); } iba pa kung (pangungusap.charAt (una + i) == 'z') {Serial.print ("-.."); dash (); dash (); tuldok (); tuldok (); space(); } iba pa kung (pangungusap.charAt (una + i) == '') {Serial.print ("/"); bigSpace (); }}} void loop () {// Huwag magsulat ng anuman dito}
Hakbang 7: Pag-troubleshoot
Hindi gumagalaw ang gulong
Maaaring mayroong labis na alitan sa pagitan ng gulong at papel, subukang itaas ang gulong ng kaunti o palitan ito.
Hinihila ng gulong ang papel ngunit patuloy itong umiikot nang hindi hinihila ang papel
Tiyaking nakadikit ka ng gulong sa gitna ng stepper motor
Ang mga tuldok at gitling ay konektado
Suriin kung tama ang pagkakasulat ng tuldok, dash at puwang, dapat ganito ang mga ito:
// Ito ang pamamaraan na gumagawa ng robot na magsulat ng isang dotvoid dot () {Serial.println ("dot start"); myServo.write (160); pagkaantala (1000); myServo.write (90); pagkaantala (1000); myStepper.step (stepsPerRevolution); pagkaantala (1000); Serial.println ("tuldok tapos na"); }
// Ito ang pamamaraan na gumagawa ng robot na sumulat ng isang dash
void dash () {Serial.println ("dash start"); myServo.write (160); pagkaantala (1000); myStepper.step (stepsPerRevolution); pagkaantala (1000); myServo.write (90); pagkaantala (1000); myStepper.step (stepsPerRevolution); pagkaantala (1000); Serial.println ("dash tapos na"); }
// Ito ang pamamaraan na nag-iiwan ng robot ng puwang sa pagitan ng bawat titik
void space () {Serial.println ("space start"); myServo.write (90); pagkaantala (1000); myStepper.step (200); pagkaantala (1000); Serial.println ("space tapos"); }
Inirerekumendang:
Isang Susing Manunulat: 4 na Hakbang
Isang Key Writer: Naaalala mo ba si Stephen Hawking? Siya ang propesor sa Cambridge at sikat na dalub-agbilang sa wheelchair na may boses na nabuo sa computer. Naghirap siya mula sa Motor Neurone Disease at sa pagtatapos ng kanyang buhay, matapos niyang mawala ang kanyang pagsasalita, nagawa niya
ScanUp NFC Reader / manunulat at Audio Recorder para sa Bulag, May Kapansanan sa Paningin at Lahat ng Iba Pa: 4 na Hakbang (na may Mga Larawan)
ScanUp NFC Reader / manunulat at Audio Recorder para sa Bulag, May Kapansanan sa Paningin at Lahat ng Iba Pa: Nag-aaral ako ng pang-industriya na disenyo at ang proyekto ay gawa ng aking semester. Ang layunin ay upang suportahan ang mga may kapansanan sa paningin at bulag na mga tao sa isang aparato, na nagbibigay-daan upang mag-record ng audio sa format na.WAV sa isang SD card at tawagan ang impormasyong iyon sa pamamagitan ng isang NFC tag. Kaya sa
Gumawa ng Mga Video na Lumipas sa Oras Gamit ang Raspberry Pi (11 Mga Linya ng Code): 12 Mga Hakbang (na may Mga Larawan)
Gumawa ng Mga Video ng Paglipas ng Oras Gamit ang Raspberry Pi (11 Mga Linya ng Code): Kamakailan lamang ay nagtanim ako ng ilang mga binhi sa aking talahanayan sa unang pagkakataon. Talagang nasasabik akong panoorin ang paglaki nila, ngunit sa alam nating lahat na ito ay isang mabagal na proseso. Hindi makita ang paglago ay talagang nabigo ako ngunit biglang electronics hobbyist sa loob ng aking gisingin
Morse Code Touch Keyer / Autocoder: 12 Hakbang (na may Mga Larawan)
Morse Code Touch Keyer / Autocoder: Talagang itinayo ko ang proyektong ito kanina ngunit naisip na ang isang tao ay maaaring magamit ang ideya. Isa akong lalaki sa radio ng ham at nakarating dito nang medyo huli sa buhay nang magretiro ako at magkaroon ng oras. Mayroon akong pangkalahatang lisensya ngayon at gumagamit ng telepono (vo
Ang Mataas na Manunulat: 4 na Hakbang
Ang Mataas na Manunulat: Ang manunulat ng NYC na KATSU ay nagpapakita ng pagpapaandar ng pinakabagong tool mula sa Graffiti Research Lab: The High Writer. Ang pagguhit sa nakaraang mga disenyo ng pintura-poste mula sa mga nagbubuhat tulad ng Barry McGee at ang Mga Mamamayan Laban sa Ugly Street Spam, ang Mataas na Manunulat ay