// // Memory keyer with Bluetooth I/F // for Arduino Uno // written by JA1IWP on 2021.05.31 // // Ham Fair 2021 version // // Input // Tact SW1 = 6, SW2 = 4, SW3 = 5, SW4 = 8, SW5 = 12, SW6 = 7 // Dip SW1 = 16, SW2 = 17, SW3 = 18, SW4= 19 // // Paddle = 2, 3 // Speed Cont. = 14 (ADC) // Bluetooth = 9, 10 // // Output // Sidetone = 11 // LED = 13 // PhotoCoupler = 15 (to TX) // #include SoftwareSerial apt(10,9); //int bluetoothRx = 9; //int bluetoothTx = 10; //SoftwareSerial mySerial( bluetoothRx, bluetoothTx ); int val = 0; int offset = 0; int T, T3, T4; int tau, SA; int a = 1; int SPK = 11; // speaker int LED = 13; // LED on the Board int PHC = 15; // Photo coupler for Output int KY1 = 3; int KY2 = 2; int SW1 = 6; int SW2 = 4; int SW3 = 5; int SW4 = 8; int SW5 = 12; int SW6 = 7; int DP1 = 16; int DP2 = 17; int DP3 = 18; int DP4 = 19; int Sidetone_freq = 587; void setup() { // put your setup code here, to run once: //Serial.begin(115200); //mySerial.begin(115200); apt.begin(9600); apt.print("?"); pinMode(LED, OUTPUT); pinMode(SPK, OUTPUT); pinMode(PHC, OUTPUT); pinMode(A0 , INPUT); // ADC input for speed control pinMode(KY1, INPUT_PULLUP); pinMode(KY2, INPUT_PULLUP); pinMode(SW1, INPUT_PULLUP); pinMode(SW2, INPUT_PULLUP); pinMode(SW3, INPUT_PULLUP); pinMode(SW4, INPUT_PULLUP); pinMode(SW5, INPUT_PULLUP); pinMode(SW6, INPUT_PULLUP); pinMode(DP1, INPUT_PULLUP); pinMode(DP2, INPUT_PULLUP); pinMode(DP3, INPUT); pinMode(DP4, INPUT); } void loop() { // put your main code here, to run repeatedly: val = analogRead(A0); T = (1024 - val) / 32 + 12 + offset; T3 = T * 6; T4 = T * 8; T = T * 2; //if (Serial.available() > 0) { //keyboard(); //} //if (mySerial.available() > 0) { //mykeyboard(); //} if (digitalRead(DP1) == HIGH) { keyer_mode(); } else { pract_mode(); } } // loop() end (main loop end) // Message1*() void MSG11() { CQ(); CQ(); CQ(); DE(); ja1iwpsla3(); JCC(); N2703(); m_k(); delay(T4); } void MSG12() { QSL(); TU(); QRZ(); DE(); ja1iwpsla3(); m_k(); delay(T4); } void MSG13() { QSL(); TU(); QRZ(); delay(T4); } void MSG14() { QRZ(); DE(); ja1iwpsla3(); m_k(); delay(T4); } void MSG15() { QSL(); m_u(); m_r(); delay(T4); m_5(); m_n(); m_n(); TU(); delay(T4); } void MSG16() { aiueo(); w_da(); w_pa(); w_cho(); N1234567890(); } // Message2*() void MSG21() { CQ(); CQ(); CQ(); DE(); c8J1HAM(); JCC(); N100108(); m_k(); delay(T4); } void MSG22() { QSL(); TU(); QRZ(); DE(); c8J1HAM(); m_k(); delay(T4); } void MSG23() { QSL(); TU(); QRZ(); delay(T4); } void MSG24() { QRZ(); DE(); c8J1HAM(); JCC(); N100108(); m_k(); delay(T4); } void MSG25() { QSL(); m_u(); m_r(); delay(T4); m_5(); m_9(); m_9(); TU(); delay(T4); } void MSG26() { N73(); delay(T4); TU(); delay(T4); m_va(); delay(T4); m_e(); delay(T4); delay(T4); m_e(); delay(T4); } void ToRa() { // ToRa ToRa ToRa w_to(); w_ra(); delay(T4); w_to(); w_ra(); delay(T4); w_to(); w_ra(); delay(T4); } // Origainal Functions void ja1iwp() { m_j(); m_a(); m_1(); m_i(); m_w(); m_p(); delay(T4); } void ja1iwpsla3() { ja1iwp(); m_sla(); m_3(); delay(T4); } void CQ() { m_c(); m_q(); delay(T4); } void DE() { m_d(); m_e(); delay(T4); } void JCC() { m_j(); m_c(); m_c(); delay(T4); } void N1105() { m_1(); m_1(); m_0(); m_5(); delay(T4); } void N2703() { m_2(); m_7(); m_0(); m_3(); delay(T4); } void JCG() { m_j(); m_c(); m_g(); delay(T4); } void QRZ() { m_q(); m_r(); m_z(); delay(T4); } void QSL() { m_q(); m_s(); m_l(); delay(T4); } void QTH() { m_q(); m_t(); m_h(); delay(T4); } void TU() { m_t(); m_u(); delay(T4); } void N73() { m_7(); m_3(); delay(T4); } void aiueo() { w_a(); w_i(); w_u(); w_e(); w_o(); w_ka(); w_ki(); w_ku(); w_ke(); w_ko(); w_sa(); w_si(); w_su(); w_se(); w_so(); w_ta(); w_ti(); w_tu(); w_te(); w_to(); w_na(); w_ni(); w_nu(); w_ne(); w_no(); w_ha(); w_hi(); w_hu(); w_he(); w_ho(); w_ma(); w_mi(); w_mu(); w_me(); w_mo(); w_ya(); w_yu(); w_yo(); w_ra(); w_ri(); w_ru(); w_re(); w_ro(); w_wa(); w_wo(); w_nn(); } void N1234567890() { m_1(); m_2(); m_3(); m_4(); m_5(); m_6(); m_7(); m_8(); m_9(); m_0(); } void c8J1HAM() { m_8(); m_j(); m_1(); m_h(); m_a(); m_m(); delay(T4); } void N100108() { m_1(); m_0(); m_0(); m_1(); m_0(); m_8(); delay(T4); } // function dot(); and dash(); void dot() { digitalWrite(LED, HIGH); digitalWrite(PHC, HIGH); tone(SPK, Sidetone_freq); delay(T); digitalWrite(LED, LOW); digitalWrite(PHC, LOW); noTone(SPK); delay(T); } void dash() { digitalWrite(LED, HIGH); digitalWrite(PHC, HIGH); tone(SPK, Sidetone_freq); delay(T3); digitalWrite(LED, LOW); digitalWrite(PHC, LOW); noTone(SPK); delay(T); } void keydown() { if ((digitalRead(KY1) == LOW) || (digitalRead(KY2) == LOW)) { digitalWrite(LED, HIGH); digitalWrite(PHC, HIGH); tone(SPK, Sidetone_freq); delay(60); digitalWrite(LED, LOW); digitalWrite(PHC, LOW); noTone(SPK); } } // void keyboard() { switch (Serial.read()) { case 'a': m_a(); break; case 'b': m_b(); break; case 'c': m_c(); break; case 'd': m_d(); break; case 'e': m_e(); break; case 'f': m_f(); break; case 'g': m_g(); break; case 'h': m_h(); break; case 'i': m_i(); break; case 'j': m_j(); break; case 'k': m_k(); break; case 'l': m_l(); break; case 'm': m_m(); break; case 'n': m_n(); break; case 'o': m_o(); break; case 'p': m_p(); break; case 'q': m_q(); break; case 'r': m_r(); break; case 's': m_s(); break; case 't': m_t(); break; case 'u': m_u(); break; case 'v': m_v(); break; case 'w': m_w(); break; case 'x': m_x(); break; case 'y': m_y(); break; case 'z': m_z(); break; case '1': m_1(); break; case '2': m_2(); break; case '3': m_3(); break; case '4': m_4(); break; case '5': m_5(); break; case '6': m_6(); break; case '7': m_7(); break; case '8': m_8(); break; case '9': m_9(); break; case '0': m_0(); break; case '/': m_sla(); break; case '?': m_que(); break; case '.': m_peri(); break; case ',': m_comm(); break; case ' ': delay(T4); break; case 'Z': MSG11(); break; case 'X': MSG12(); break; case 'C': MSG13(); break; case 'V': MSG14(); break; case 'B': MSG15(); break; case 'N': MSG16(); break; case 'A': MSG21(); break; case 'S': MSG22(); break; case 'D': MSG23(); break; case 'F': MSG24(); break; case 'G': MSG25(); break; case 'H': MSG26(); break; case 'P': ToRa(); break; case '+': offset = offset - 2; break; // add 2020.10.23 case '-': offset = offset + 2; break; // add 2020.10.23 } } // //void mykeyboard() { // switch (mySerial.read()) { // case 'a': m_a(); break; // case 'b': m_b(); break; // case 'c': m_c(); break; // case 'd': m_d(); break; // case 'e': m_e(); break; // case 'f': m_f(); break; // case 'g': m_g(); break; // case 'h': m_h(); break; // case 'i': m_i(); break; // case 'j': m_j(); break; // case 'k': m_k(); break; // case 'l': m_l(); break; // case 'm': m_m(); break; // case 'n': m_n(); break; // case 'o': m_o(); break; // case 'p': m_p(); break; // case 'q': m_q(); break; // case 'r': m_r(); break; // case 's': m_s(); break; // case 't': m_t(); break; // case 'u': m_u(); break; // case 'v': m_v(); break; // case 'w': m_w(); break; // case 'x': m_x(); break; // case 'y': m_y(); break; // case 'z': m_z(); break; // case '1': m_1(); break; // case '2': m_2(); break; // case '3': m_3(); break; // case '4': m_4(); break; // case '5': m_5(); break; // case '6': m_6(); break; // case '7': m_7(); break; // case '8': m_8(); break; // case '9': m_9(); break; // case '0': m_0(); break; // case '/': m_sla(); break; // case '?': m_que(); break; // case '.': m_peri(); break; // case ',': m_comm(); break; // case ' ': delay(T4); break; // case 'Z': MSG11(); break; // case 'X': MSG12(); break; // case 'C': MSG13(); break; // case 'V': MSG14(); break; // case 'B': MSG15(); break; // case 'N': MSG16(); break; // case 'A': MSG21(); break; // case 'S': MSG22(); break; // case 'D': MSG23(); break; // case 'F': MSG24(); break; // case 'G': MSG25(); break; // case 'H': MSG26(); break; // case 'P': ToRa(); break; // // case '+': offset = offset - 2; break; // add 2020.10.23 // case '-': offset = offset + 2; break; // add 2020.10.23 // } //} // void m_a() { dot(); delay(T); dash(); delay(T3); } void m_b() { dash(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_c() { dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_d() { dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_e() { dot(); delay(T3); } void m_f() { dot(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_g() { dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_h() { dot(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_i() { dot(); delay(T); dot(); delay(T3); } void m_j() { dot(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_k() { dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void m_l() { dot(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_m() { dash(); delay(T); dash(); delay(T3); } void m_n() { dash(); delay(T); dot(); delay(T3); } void m_o() { dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_p() { dot(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_q() { dash(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void m_r() { dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_s() { dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_t() { dash(); delay(T3); } void m_u() { dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void m_v() { dot(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void m_w() { dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_x() { dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void m_y() { dash(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_z() { dash(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_1() { dot(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_2() { dot(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_3() { dot(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_4() { dot(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void m_5() { dot(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_6() { dash(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_7() { dash(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_8() { dash(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_9() { dash(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_0() { dash(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_sla() { dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_que() { dot(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void m_peri() { dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void m_comm() { dash(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void m_ar() { dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_bt() { dash(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void m_kn() { dash(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void m_va() { dot(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_a() { // --*-- dash(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_i() { // *- dot(); delay(T); dash(); delay(T3); } void w_u() { // **- dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_e() { // -*--- dash(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_o() { // *-*** dot(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_ka() { // *-** dot(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_ki() { // -*-** dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_ku() { // ***- dot(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_ke() { // -*-- dash(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_ko() { // ---- dash(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_sa() { // -*-*- dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_si() { // --*-* dash(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_su() { // ---*- dash(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_se() { // *---* dot(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_so() { // ---- dash(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_ta() { // -* dash(); delay(T); dot(); delay(T3); } void w_ti() { // **-* dot(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_tu() { // *--* dot(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_te() { // *-*-- dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_to() { // **-** dot(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_na() { // *-* dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_ni() { // -*-* dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_nu() { // **** dot(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_ne() { // --*- dash(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_no() { // **-- dot(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_ha() { // -*** dash(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_hi() { // --**- dash(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_hu() { // --** dash(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_he() { // * dot(); delay(T3); } void w_ho() { // -** dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_ma() { // -**- dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_mi() { // **-*- dot(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_mu() { // - dash(); delay(T3); } void w_me() { // --***- dash(); delay(T); dot(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_mo() { // -**-* dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_ya() { // *-- dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_yi() { // *-**- dot(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_yu() { // -**-- dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_ye() { // *--** dot(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_yo() { // -- dash(); delay(T); dash(); delay(T3); } void w_ra() { // *** dot(); delay(T); dot(); delay(T); dot(); delay(T3); } void w_ri() { // --* dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_ru() { // -*--* dash(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_re() { // --- dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_ro() { // *-*- dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_wa() { // -*- dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_wo() { // *--- dot(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T3); } void w_nn() { // *-*-* dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_da() { // ** dakuten dot(); delay(T); dot(); delay(T3); } void w_pa() { // **--* han-dakuten dot(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T3); } void w_cho() { // *--*- dot(); delay(T); dash(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_ten() { // *-*-*- dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T); dot(); delay(T); dash(); delay(T3); } void w_hore() { // -**--- dash(); delay(T); dot(); delay(T); dot(); delay(T); dash(); delay(T); dash(); delay(T); dash(); delay(T3); } // keyer_mode() void keyer_mode() { if (digitalRead(DP3) == HIGH) { // electronic keyer mode if (digitalRead(DP4) == HIGH) { // paddle normal mode if (digitalRead(KY1) == LOW) { dot(); } if (digitalRead(KY2) == LOW) { dash(); } } else { // paddle reverse mode if (digitalRead(KY2) == LOW) { dot(); } if (digitalRead(KY1) == LOW) { dash(); } } } if (digitalRead(DP3) == LOW) { // dual key mode keydown(); } if (digitalRead(SW1) == LOW) { if (digitalRead(DP2) == HIGH) { MSG11(); } else { // MSG21(); w_a(); apt.println("a"); delay(800); w_i(); apt.println("i"); delay(800); w_u(); apt.println("u"); delay(800); w_e(); apt.println("e"); delay(800); w_o(); apt.println("o"); delay(800); w_ka(); apt.println("ka"); delay(800); w_ki(); apt.println("ki"); delay(800); w_ku(); apt.println("ku"); delay(800); w_ke(); apt.println("ke"); delay(800); w_ko(); apt.println("ko"); delay(800); w_sa(); apt.println("sa"); delay(800); w_si(); apt.println("si"); delay(800); w_su(); apt.println("su"); delay(800); w_se(); apt.println("se"); delay(800); w_so(); apt.println("so"); delay(800); w_ta(); apt.println("ta"); delay(800); w_ti(); apt.println("ti"); delay(800); w_tu(); apt.println("tu"); delay(800); w_te(); apt.println("te"); delay(800); w_to(); apt.println("to"); delay(800); w_na(); apt.println("na"); delay(800); w_ni(); apt.println("ni"); delay(800); w_nu(); apt.println("nu"); delay(800); w_ne(); apt.println("ne"); delay(800); w_no(); apt.println("no"); delay(800); w_ha(); apt.println("ha"); delay(800); w_hi(); apt.println("hi"); delay(800); w_hu(); apt.println("hu"); delay(800); w_he(); apt.println("he"); delay(800); w_ho(); apt.println("ho"); delay(800); w_ma(); apt.println("ma"); delay(800); w_mi(); apt.println("mi"); delay(800); w_mu(); apt.println("mu"); delay(800); w_me(); apt.println("me"); delay(800); w_mo(); apt.println("mo"); delay(800); w_ya(); apt.println("ya"); delay(800); w_yu(); apt.println("yu"); delay(800); w_yo(); apt.println("yo"); delay(800); w_ra(); apt.println("ra"); delay(800); w_ri(); apt.println("ri"); delay(800); w_ru(); apt.println("ru"); delay(800); w_re(); apt.println("re"); delay(800); w_ro(); apt.println("ro"); delay(800); w_wa(); apt.println("wa"); delay(800); w_wo(); apt.println("wo"); delay(800); w_nn(); apt.println("un'"); delay(800); w_cho(); apt.println("cho-'o/n"); delay(1200); w_ten(); apt.println("te'n'"); delay(1000); } } if (digitalRead(SW2) == LOW) { if (digitalRead(DP2) == HIGH) { MSG12(); } else { MSG22(); } } if (digitalRead(SW3) == LOW) { if (digitalRead(DP2) == HIGH) { MSG13(); } else { MSG23(); } } if (digitalRead(SW4) == LOW) { if (digitalRead(DP2) == HIGH) { MSG14(); } else { MSG24(); } } if (digitalRead(SW5) == LOW) { if (digitalRead(DP2) == HIGH) { MSG15(); } else { MSG25(); } } if (digitalRead(SW6) == LOW) { if (digitalRead(DP2) == HIGH) { MSG16(); } else { MSG26(); } } } // end keyer_mode() //pract_mode() void pract_mode() { if (digitalRead(DP2) == HIGH) { if (digitalRead(DP3) == HIGH) { ohbun_saki_pract(); }else{ ohbun_ato_pract(); } }else{ if (digitalRead(DP3) == HIGH) { wabun_saki_pract(); }else{ wabun_ato_pract(); } } } // end pract_mode() void ohbun_saki_pract() { int i, x1; int x = 101; a = a + 4; // Serial.println(a); int b = 19; //if (digitalRead(DP3) == LOW) a = a + 4; //add 2021.01.25 if (digitalRead(DP4) == LOW) a = a + 8; int M = 128; // make 1024 random numbers (LCG:linear congruential generator) // HR HR BT delay(200); apt.println("o-bunmo'-rusu jusinre'nsyuu/"); delay(3000); m_h(); m_r(); delay(T4); m_h(); m_r(); delay(T4); m_bt(); delay(T4); for (i = 0; i < M; i++) { x1 = (a * x + b) % M; // LCG:linear congruential generator if (x1 > 0 && x1 <= 20){ m_1(); apt.println("ichi"); delay(800); } if (x1 > 20 && x1 <= 40){ m_2(); apt.println("ni"); delay(800); } if (x1 > 40 && x1 <= 60){ m_3(); apt.println("san"); delay(800); } if (x1 > 60 && x1 <= 80){ m_4(); apt.println("yon"); delay(800); } if (x1 > 80 && x1 <= 100){ m_5(); apt.println("go"); delay(800); } if (x1 > 100 && x1 <= 120){ m_6(); apt.println("roku"); delay(800); } if (x1 > 120 && x1 <= 140){ m_7(); apt.println("nana"); delay(800); } if (x1 > 140 && x1 <= 160){ m_8(); apt.println("hachi"); delay(800); } if (x1 > 160 && x1 <= 180){ m_9(); apt.println("kyu-"); delay(800); } if (x1 > 180 && x1 <= 200){ m_0(); apt.println("zoro"); delay(800); } if (x1 > 200 && x1 <= 220){ m_a(); apt.println("e-"); delay(800); } if (x1 > 220 && x1 <= 240){ m_b(); apt.println("bi-"); delay(800); } if (x1 > 240 && x1 <= 260){ m_c(); apt.println("si-"); delay(800); } if (x1 > 260 && x1 <= 280){ m_d(); apt.println("dhi-"); delay(800); } if (x1 > 280 && x1 <= 300){ m_e(); apt.println("i-"); delay(800); } if (x1 > 300 && x1 <= 320){ m_f(); apt.println("ehu"); delay(800); } if (x1 > 320 && x1 <= 340){ m_g(); apt.println("gi-"); delay(800); } if (x1 > 340 && x1 <= 360){ m_h(); apt.println("eichi"); delay(800); } if (x1 > 360 && x1 <= 380){ m_i(); apt.println("ai"); delay(800); } if (x1 > 380 && x1 <= 400){ m_j(); apt.println("je-"); delay(800); } if (x1 > 400 && x1 <= 420){ m_k(); apt.println("ke-"); delay(800); } if (x1 > 420 && x1 <= 440){ m_l(); apt.println("eru"); delay(800); } if (x1 > 440 && x1 <= 460){ m_m(); apt.println("emu"); delay(800); } if (x1 > 460 && x1 <= 480){ m_n(); apt.println("enu"); delay(800); } if (x1 > 480 && x1 <= 500){ m_o(); apt.println("o-"); delay(800); } if (x1 > 500 && x1 <= 520){ m_p(); apt.println("pi-"); delay(800); } if (x1 > 520 && x1 <= 540){ m_q(); apt.println("kyu-"); delay(800); } if (x1 > 540 && x1 <= 560){ m_r(); apt.println("a-ru"); delay(800); } if (x1 > 560 && x1 <= 580){ m_s(); apt.println("esu"); delay(800); } if (x1 > 580 && x1 <= 600){ m_t(); apt.println("thi-"); delay(800); } if (x1 > 600 && x1 <= 620){ m_u(); apt.println("yu-"); delay(800); } if (x1 > 620 && x1 <= 640){ m_v(); apt.println("bui"); delay(800); } if (x1 > 640 && x1 <= 660){ m_w(); apt.println("daburyu-"); delay(800); } if (x1 > 660 && x1 <= 680){ m_x(); apt.println("ekkusu"); delay(800); } if (x1 > 680 && x1 <= 700){ m_y(); apt.println("wai"); delay(800); } if (x1 > 700 && x1 <= 720){ m_z(); apt.println("zetto"); delay(800); } if (x1 > 720 && x1 <= 740){ m_e(); apt.println("i-"); delay(800); } if (x1 > 740 && x1 <= 760){ m_t(); apt.println("thi-"); delay(800); } if (x1 > 760 && x1 <= 780){ m_a(); apt.println("e-"); delay(800); } if (x1 > 780 && x1 <= 800){ m_o(); apt.println("o-"); delay(800); } if (x1 > 800 && x1 <= 820){ m_i(); apt.println("ai"); delay(800); } if (x1 > 820 && x1 <= 830){ m_n(); apt.println("enu"); delay(800); } if (x1 > 830 && x1 <= 840){ m_s(); apt.println("esu"); delay(800); } if (x1 > 840 && x1 <= 850){ m_h(); apt.println("eichi"); delay(800); } if (x1 > 850 && x1 <= 860){ m_r(); apt.println("a-ru"); delay(800); } if (x1 > 860 && x1 <= 870){ m_peri(); apt.println("piriodo"); delay(800); } if (x1 > 870 && x1 <= 880){ m_comm(); apt.println("kanma"); delay(800); } if (x1 > 880 && x1 <= 890){ m_que(); apt.println("kuesuchon"); delay(800); } if (x1 > 890 && x1 <= 900){ m_sla(); apt.println("surasshu"); delay(800); } if (x1 > 900 && x1 <= 1024) delay(T4); x = x1; } // de ja1iwp 73 AR delay(T4); m_d(); m_e(); delay(T4); ja1iwp(); delay(T4); m_7(); m_3(); delay(T4); m_ar(); delay(300); } // practice ohbun saki mode end void ohbun_ato_pract() { int i, x1; int x = 101; a = a + 4; // Serial.println(a); int b = 19; //if (digitalRead(DP3) == LOW) a = a + 4; //add 2021.01.25 if (digitalRead(DP4) == LOW) a = a + 8; int M = 128; // make 1024 random numbers (LCG:linear congruential generator) // HR HR BT delay(200); apt.println("o-bunmo'-rusu sousinre'nsyuu/"); delay(3000); m_h(); m_r(); delay(T4); m_h(); m_r(); delay(T4); m_bt(); delay(T4); for (i = 0; i < M; i++) { x1 = (a * x + b) % M; // LCG:linear congruential generator if (x1 > 0 && x1 <= 20){ apt.println("ichi"); delay(800); m_1(); } if (x1 > 20 && x1 <= 40){ apt.println("ni"); delay(800); m_2(); } if (x1 > 40 && x1 <= 60){ apt.println("san"); delay(800); m_3(); } if (x1 > 60 && x1 <= 80){ apt.println("yon"); delay(800); m_4(); } if (x1 > 80 && x1 <= 100){ apt.println("go"); delay(800); m_5(); } if (x1 > 100 && x1 <= 120){ apt.println("roku"); delay(800); m_6(); } if (x1 > 120 && x1 <= 140){ apt.println("nana"); delay(800); m_7(); } if (x1 > 140 && x1 <= 160){ apt.println("hachi"); delay(800); m_8(); } if (x1 > 160 && x1 <= 180){ apt.println("kyu-"); delay(800); m_9(); } if (x1 > 180 && x1 <= 200){ apt.println("zoro"); delay(800); m_0(); } if (x1 > 200 && x1 <= 220){ apt.println("e-"); delay(800); m_a(); } if (x1 > 220 && x1 <= 240){ apt.println("bi-"); delay(800); m_b(); } if (x1 > 240 && x1 <= 260){ apt.println("si-"); delay(800); m_c(); } if (x1 > 260 && x1 <= 280){ apt.println("dhi-"); delay(800); m_d(); } if (x1 > 280 && x1 <= 300){ apt.println("i-"); delay(800); m_e(); } if (x1 > 300 && x1 <= 320){ apt.println("ehu"); delay(800); m_f(); } if (x1 > 320 && x1 <= 340){ apt.println("gi-"); delay(800); m_g(); } if (x1 > 340 && x1 <= 360){ apt.println("eichi"); delay(800); m_h(); } if (x1 > 360 && x1 <= 380){ apt.println("ai"); delay(800); m_i(); } if (x1 > 380 && x1 <= 400){ apt.println("je-"); delay(800); m_j(); } if (x1 > 400 && x1 <= 420){ apt.println("ke-"); delay(800); m_k(); } if (x1 > 420 && x1 <= 440){ apt.println("eru"); delay(800); m_l(); } if (x1 > 440 && x1 <= 460){ apt.println("emu"); delay(800); m_m(); } if (x1 > 460 && x1 <= 480){ apt.println("enu"); delay(800); m_n(); } if (x1 > 480 && x1 <= 500){ apt.println("o-"); delay(800); m_o(); } if (x1 > 500 && x1 <= 520){ apt.println("pi-"); delay(800); m_p(); } if (x1 > 520 && x1 <= 540){ apt.println("kyu-"); delay(800); m_q(); } if (x1 > 540 && x1 <= 560){ apt.println("a-ru"); delay(800); m_r(); } if (x1 > 560 && x1 <= 580){ apt.println("esu"); delay(800); m_s(); } if (x1 > 580 && x1 <= 600){ apt.println("thi-"); delay(800); m_t(); } if (x1 > 600 && x1 <= 620){ apt.println("yu-"); delay(800); m_u(); } if (x1 > 620 && x1 <= 640){ apt.println("bui"); delay(800); m_v(); } if (x1 > 640 && x1 <= 660){ apt.println("daburyu-"); delay(800); m_w(); } if (x1 > 660 && x1 <= 680){ apt.println("ekkusu"); delay(800); m_x(); } if (x1 > 680 && x1 <= 700){ apt.println("wai"); delay(800); m_y(); } if (x1 > 700 && x1 <= 720){ apt.println("zetto"); delay(800); m_z(); } if (x1 > 720 && x1 <= 740){ apt.println("i-"); delay(800); m_e(); } if (x1 > 740 && x1 <= 760){ apt.println("thi-"); delay(800); m_t(); } if (x1 > 760 && x1 <= 780){ apt.println("e-"); delay(800); m_a(); } if (x1 > 780 && x1 <= 800){ apt.println("o-"); delay(800); m_o(); } if (x1 > 800 && x1 <= 820){ apt.println("ai"); delay(800); m_i(); } if (x1 > 820 && x1 <= 830){ apt.println("enu"); delay(800); m_n(); } if (x1 > 830 && x1 <= 840){ apt.println("esu"); delay(800); m_s(); } if (x1 > 840 && x1 <= 850){ apt.println("eichi"); delay(800); m_h(); } if (x1 > 850 && x1 <= 860){ apt.println("a-ru"); delay(800); m_r(); } if (x1 > 860 && x1 <= 870){ apt.println("piriodo"); delay(800); m_peri(); } if (x1 > 870 && x1 <= 880){ apt.println("kanma"); delay(800); m_comm(); } if (x1 > 880 && x1 <= 890){ apt.println("kuesuchon"); delay(800); m_que(); } if (x1 > 890 && x1 <= 900){ apt.println("surasshu"); delay(800); m_sla(); } if (x1 > 900 && x1 <= 1024) delay(T4); x = x1; } // de ja1iwp 73 AR delay(T4); m_d(); m_e(); delay(T4); ja1iwp(); delay(T4); m_7(); m_3(); delay(T4); m_ar(); delay(300); } // practice ohbun mode end void wabun_saki_pract() { int i, x1; int x = 101; a = a + 4; // Serial.println(a); int b = 19; //if (digitalRead(DP3) == LOW) a = a + 4; //add 2021.01.25 if (digitalRead(DP4) == LOW) a = a + 8; int M = 128; // make 1024 random numbers (LCG:linear congruential generator) // HR HR hore delay(200); apt.println("wabunmo'-rusu jusinre'nsyuu/"); delay(3000); m_h(); m_r(); delay(T3); m_h(); m_r(); delay(T3); w_hore(); delay(T4); for (i = 0; i < M; i++) { x1 = (a * x + b) % M; // LCG:linear congruential generator if (x1 > 0 && x1 <= 20){ w_a(); apt.println("a"); delay(800); } if (x1 > 20 && x1 <= 40){ w_i(); apt.println("i"); delay(800); } if (x1 > 40 && x1 <= 60){ w_u(); apt.println("u"); delay(800); } if (x1 > 60 && x1 <= 80){ w_e(); apt.println("e"); delay(800); } if (x1 > 80 && x1 <= 100){ w_o(); apt.println("o"); delay(800); } if (x1 > 100 && x1 <= 115){ w_ka(); apt.println("ka"); delay(800); } if (x1 > 116 && x1 <= 120) { w_da(); apt.println("ga"); delay(800); w_ka(); } if (x1 > 120 && x1 <= 135){ w_ki(); apt.println("ki"); delay(800); } if (x1 > 135 && x1 <= 140) { w_ki(); w_da(); apt.println("gi"); delay(800); } if (x1 > 140 && x1 <= 155){ w_ku(); apt.println("ku"); delay(800); } if (x1 > 155 && x1 <= 160) { w_da(); apt.println("gu"); delay(800); w_ku(); } if (x1 > 160 && x1 <= 175){ w_ke(); apt.println("ke"); delay(800); } if (x1 > 175 && x1 <= 180) { w_ke(); w_da(); apt.println("ge"); delay(800); } if (x1 > 180 && x1 <= 195){ w_ko(); apt.println("ko"); delay(800); } if (x1 > 195 && x1 <= 200) { w_ko(); w_da(); apt.println("go"); delay(800); } if (x1 > 200 && x1 <= 215){ w_sa(); apt.println("sa"); delay(800); } if (x1 > 215 && x1 <= 220) { w_sa(); w_da(); apt.println("za"); delay(800); } if (x1 > 220 && x1 <= 235){ w_si(); apt.println("si"); delay(800); } if (x1 > 235 && x1 <= 240) { w_si(); w_da(); apt.println("zi"); delay(800); } if (x1 > 240 && x1 <= 255){ w_su(); apt.println("su"); delay(800); } if (x1 > 255 && x1 <= 260) { w_su(); w_da(); apt.println("zu"); delay(800); } if (x1 > 260 && x1 <= 275){ w_se(); apt.println("se"); delay(800); } if (x1 > 275 && x1 <= 280) { w_se(); w_da(); apt.println("ze"); delay(800); } if (x1 > 280 && x1 <= 295){ w_so(); apt.println("so"); delay(800); } if (x1 > 295 && x1 <= 300) { w_so(); w_da(); apt.println("zo"); delay(800); } if (x1 > 300 && x1 <= 315){ w_ta(); apt.println("ta"); delay(800); } if (x1 > 315 && x1 <= 320) { w_da(); apt.println("da"); delay(800); w_ta(); } if (x1 > 320 && x1 <= 335){ w_ti(); apt.println("ti"); delay(800); } if (x1 > 335 && x1 <= 340) { w_ti(); w_da(); apt.println("di"); delay(800); } if (x1 > 340 && x1 <= 355){ w_tu(); apt.println("tu"); delay(800); } if (x1 > 355 && x1 <= 360) { w_tu(); w_da(); apt.println("du"); delay(800); } if (x1 > 360 && x1 <= 375){ w_te(); apt.println("te"); delay(800); } if (x1 > 375 && x1 <= 380) { w_te(); w_da(); apt.println("de"); delay(800); } if (x1 > 380 && x1 <= 395){ w_to(); apt.println("to"); delay(800); } if (x1 > 395 && x1 <= 400) { w_to(); w_da(); apt.println("do"); delay(800); } if (x1 > 400 && x1 <= 420){ w_na(); apt.println("na"); delay(800); } if (x1 > 420 && x1 <= 440){ w_ni(); apt.println("ni"); delay(800); } if (x1 > 440 && x1 <= 460){ w_nu(); apt.println("nu"); delay(800); } if (x1 > 460 && x1 <= 480){ w_ne(); apt.println("ne"); delay(800); } if (x1 > 480 && x1 <= 500){ w_no(); apt.println("no"); delay(800); } if (x1 > 500 && x1 <= 515){ w_ha(); apt.println("ha"); delay(800); } if (x1 > 515 && x1 <= 520) { w_ha(); w_da(); apt.println("ba"); delay(800); } if (x1 > 520 && x1 <= 535){ w_hi(); apt.println("hi"); delay(800); } if (x1 > 535 && x1 <= 540) { w_hi(); w_da(); apt.println("bi"); delay(800); } if (x1 > 540 && x1 <= 555){ w_hu(); apt.println("hu"); delay(800); } if (x1 > 555 && x1 <= 560) { w_hu(); w_da(); apt.println("bu"); delay(800); } if (x1 > 560 && x1 <= 575){ w_he(); apt.println("he"); delay(800); } if (x1 > 575 && x1 <= 580) { w_he(); w_da(); apt.println("be"); delay(800); } if (x1 > 580 && x1 <= 595){ w_ho(); apt.println("ho"); delay(800); } if (x1 > 595 && x1 <= 600) { w_ho(); w_da(); apt.println("bo"); delay(800); } if (x1 > 601 && x1 <= 604) { w_ha(); w_pa(); apt.println("pa"); delay(800); } if (x1 > 604 && x1 <= 608) { w_hi(); w_pa(); apt.println("pi"); delay(800); } if (x1 > 608 && x1 <= 612) { w_hu(); w_pa(); apt.println("pu"); delay(800); } if (x1 > 612 && x1 <= 616) { w_he(); w_pa(); apt.println("pe"); delay(800); } if (x1 > 616 && x1 <= 620) { w_ho(); w_pa(); apt.println("po"); delay(800); } if (x1 > 620 && x1 <= 640){ w_ma(); apt.println("ma"); delay(800); } if (x1 > 640 && x1 <= 660){ w_mi(); apt.println("mi"); delay(800); } if (x1 > 660 && x1 <= 680){ w_mu(); apt.println("mu"); delay(800); } if (x1 > 680 && x1 <= 700){ w_me(); apt.println("me"); delay(800); } if (x1 > 700 && x1 <= 720){ w_mo(); apt.println("mo"); delay(800); } if (x1 > 720 && x1 <= 740){ w_ya(); apt.println("ya"); delay(800); } if (x1 > 740 && x1 <= 760){ w_yu(); apt.println("yu"); delay(800); } if (x1 > 760 && x1 <= 780){ w_yo(); apt.println("yo"); delay(800); } if (x1 > 780 && x1 <= 800){ w_ra(); apt.println("ra"); delay(800); } if (x1 > 800 && x1 <= 820){ w_ri(); apt.println("ri"); delay(800); } if (x1 > 820 && x1 <= 840){ w_ru(); apt.println("ru"); delay(800); } if (x1 > 840 && x1 <= 860){ w_re(); apt.println("re"); delay(800); } if (x1 > 860 && x1 <= 880){ w_ro(); apt.println("ro"); delay(800); } if (x1 > 880 && x1 <= 900){ w_wa(); apt.println("wa"); delay(800); } if (x1 > 900 && x1 <= 920){ w_wo(); apt.println("wo"); delay(800); } if (x1 > 920 && x1 <= 940){ w_nn(); apt.println("un'"); delay(800); } if (x1 > 940 && x1 <= 960){ w_cho(); apt.println("cho-'o/n"); delay(1200); } if (x1 > 960 && x1 <= 980){ w_ten(); apt.println("te'n'"); delay(1000); } if (x1 > 980 && x1 <= 1024) delay(T4); x = x1; } // de ja1iwp 73 AR delay(300); m_d(); m_e(); delay(T3); ja1iwp(); delay(T3); m_7(); m_3(); delay(T4); m_ar(); delay(300); } // practice wabun mode end void wabun_ato_pract() { int i, x1; int x = 101; a = a + 4; // Serial.println(a); int b = 19; //if (digitalRead(DP3) == LOW) a = a + 4; //add 2021.01.25 if (digitalRead(DP4) == LOW) a = a + 8; int M = 128; // make 1024 random numbers (LCG:linear congruential generator) // HR HR hore delay(200); apt.println("wabunmo'-rusu sousinre'nsyuu/"); delay(3000); m_h(); m_r(); delay(T3); m_h(); m_r(); delay(T3); w_hore(); delay(T4); for (i = 0; i < M; i++) { x1 = (a * x + b) % M; // LCG:linear congruential generator if (x1 > 0 && x1 <= 20){ apt.println("a"); delay(800); w_a(); } if (x1 > 20 && x1 <= 40){ apt.println("i"); delay(800); w_i(); } if (x1 > 40 && x1 <= 60){ apt.println("u"); delay(800); w_u(); } if (x1 > 60 && x1 <= 80){ apt.println("e"); delay(800); w_e(); } if (x1 > 80 && x1 <= 100){ apt.println("o"); delay(800); w_o(); } if (x1 > 100 && x1 <= 115){ apt.println("ka"); delay(800); w_ka(); } if (x1 > 116 && x1 <= 120) { apt.println("ga"); delay(800); w_ka(); w_da(); } if (x1 > 120 && x1 <= 135){ apt.println("ki"); delay(800); w_ki(); } if (x1 > 135 && x1 <= 140) { apt.println("gi"); delay(800); w_ki(); w_da(); } if (x1 > 140 && x1 <= 155){ apt.println("ku"); delay(800); w_ku(); } if (x1 > 155 && x1 <= 160) { apt.println("gu"); delay(800); w_ku(); w_da(); } if (x1 > 160 && x1 <= 175){ apt.println("ke"); delay(800); w_ke(); } if (x1 > 175 && x1 <= 180) { apt.println("ge"); delay(800); w_ke(); w_da(); } if (x1 > 180 && x1 <= 195){ apt.println("ko"); delay(800); w_ko(); } if (x1 > 195 && x1 <= 200) { apt.println("go"); delay(800); w_ko(); w_da(); } if (x1 > 200 && x1 <= 215){ apt.println("sa"); delay(800); w_sa(); } if (x1 > 215 && x1 <= 220) { apt.println("za"); delay(800); w_sa(); w_da(); } if (x1 > 220 && x1 <= 235){ apt.println("si"); delay(800); w_si(); } if (x1 > 235 && x1 <= 240) { apt.println("zi"); delay(800); w_si(); w_da(); } if (x1 > 240 && x1 <= 255){ apt.println("su"); delay(800); w_su(); } if (x1 > 255 && x1 <= 260) { apt.println("zu"); delay(800); w_su(); w_da(); } if (x1 > 260 && x1 <= 275){ apt.println("se"); delay(800); w_se(); } if (x1 > 275 && x1 <= 280) { apt.println("ze"); delay(800); w_se(); w_da(); } if (x1 > 280 && x1 <= 295){ apt.println("so"); delay(800); w_so(); } if (x1 > 295 && x1 <= 300) { apt.println("zo"); delay(800); w_so(); w_da(); } if (x1 > 300 && x1 <= 315){ apt.println("ta"); delay(800); w_ta(); } if (x1 > 315 && x1 <= 320) { apt.println("da"); delay(800); w_ta(); w_da(); } if (x1 > 320 && x1 <= 335){ apt.println("ti"); delay(800); w_ti(); } if (x1 > 335 && x1 <= 340) { apt.println("di"); delay(800); w_ti(); w_da(); } if (x1 > 340 && x1 <= 355){ apt.println("tu"); delay(800); w_tu(); } if (x1 > 355 && x1 <= 360) { apt.println("du"); delay(800); w_tu(); w_da(); } if (x1 > 360 && x1 <= 375){ apt.println("te"); delay(800); w_te(); } if (x1 > 375 && x1 <= 380) { apt.println("de"); delay(800); w_te(); w_da(); } if (x1 > 380 && x1 <= 395){ apt.println("to"); delay(800); w_to(); } if (x1 > 395 && x1 <= 400) { apt.println("do"); delay(800); w_to(); w_da(); } if (x1 > 400 && x1 <= 420){ apt.println("na"); delay(800); w_na(); } if (x1 > 420 && x1 <= 440){ apt.println("ni"); delay(800); w_ni(); } if (x1 > 440 && x1 <= 460){ apt.println("nu"); delay(800); w_nu(); } if (x1 > 460 && x1 <= 480){ apt.println("ne"); delay(800); w_ne(); } if (x1 > 480 && x1 <= 500){ apt.println("no"); delay(800); w_no();} if (x1 > 500 && x1 <= 515){ apt.println("ha"); delay(800); w_ha(); } if (x1 > 515 && x1 <= 520) { apt.println("ba"); delay(800); w_ha(); w_da(); } if (x1 > 520 && x1 <= 535){ apt.println("hi"); delay(800); w_hi(); } if (x1 > 535 && x1 <= 540) { apt.println("bi"); delay(800); w_hi(); w_da(); } if (x1 > 540 && x1 <= 555){ apt.println("hu"); delay(800); w_hu(); } if (x1 > 555 && x1 <= 560) { apt.println("bu"); delay(800); w_hu(); w_da(); } if (x1 > 560 && x1 <= 575){ apt.println("he"); delay(800); w_he(); } if (x1 > 575 && x1 <= 580) { apt.println("be"); delay(800); w_he(); w_da(); } if (x1 > 580 && x1 <= 595){ apt.println("ho"); delay(800); w_ho(); } if (x1 > 595 && x1 <= 600) { apt.println("bo"); delay(800); w_ho(); w_da(); } if (x1 > 601 && x1 <= 604) { apt.println("pa"); delay(800); w_ha(); w_pa(); } if (x1 > 604 && x1 <= 608) { apt.println("pi"); delay(800); w_hi(); w_pa(); } if (x1 > 608 && x1 <= 612) { apt.println("pu"); delay(800); w_hu(); w_pa(); } if (x1 > 612 && x1 <= 616) { apt.println("pe"); delay(800); w_he(); w_pa(); } if (x1 > 616 && x1 <= 620) { apt.println("po"); delay(800); w_ho(); w_pa(); } if (x1 > 620 && x1 <= 640){ apt.println("ma"); delay(800); w_ma(); } if (x1 > 640 && x1 <= 660){ apt.println("mi"); delay(800); w_mi(); } if (x1 > 660 && x1 <= 680){ apt.println("mu"); delay(800); w_mu(); } if (x1 > 680 && x1 <= 700){ apt.println("me"); delay(800); w_me(); } if (x1 > 700 && x1 <= 720){ apt.println("mo"); delay(800); w_mo(); } if (x1 > 720 && x1 <= 740){ apt.println("ya"); delay(800); w_ya(); } if (x1 > 740 && x1 <= 760){ apt.println("yu"); delay(800); w_yu(); } if (x1 > 760 && x1 <= 780){ apt.println("yo"); delay(800); w_yo(); } if (x1 > 780 && x1 <= 800){ apt.println("ra"); delay(800); w_ra(); } if (x1 > 800 && x1 <= 820){ apt.println("ri"); delay(800); w_ri(); } if (x1 > 820 && x1 <= 840){ apt.println("ru"); delay(800); w_ru(); } if (x1 > 840 && x1 <= 860){ apt.println("re"); delay(800); w_re(); } if (x1 > 860 && x1 <= 880){ apt.println("ro"); delay(800); w_ro(); } if (x1 > 880 && x1 <= 900){ apt.println("wa"); delay(800); w_wa(); } if (x1 > 900 && x1 <= 920){ apt.println("wo"); delay(800); w_wo(); } if (x1 > 920 && x1 <= 940){ apt.println("un'"); delay(800); w_nn(); } if (x1 > 940 && x1 <= 960){ apt.println("cho-'o/n"); delay(1200); w_cho(); } if (x1 > 960 && x1 <= 980){ apt.println("te'n'"); delay(1000); w_ten(); } if (x1 > 980 && x1 <= 1024) delay(T4); x = x1; } // de ja1iwp 73 AR delay(300); m_d(); m_e(); delay(T3); ja1iwp(); delay(T3); m_7(); m_3(); delay(T4); m_ar(); delay(300); } // practice wabun mode end //