#define T_DLY 100 // 音の長さを指定 int pin = 13; // ブザーを接続したピン番号 void setup() { cw(10); cwh(10); cwa("abc"); } void loop() { } void cw(unsigned int dat ){ unsigned int len,i; char str[24]; char c ; snprintf(str, 24, "%d", dat); len = strlen(str); for (i=0 ;i < len;i++){ c = str[i]; ccw(c); delay(T_DLY * 3); } delay(T_DLY * 4); } void cwa(char *ch ){ unsigned len,i; char c; len = strlen(ch); for (i=0 ;i < len;i++){ c = ch[i]; ccw(c); delay(T_DLY * 3); } delay(T_DLY * 4); } void cwh(unsigned int dat ){ unsigned int len,i; char str[24]; char c ; snprintf(str, 24, "%#x", dat); len = strlen(str); for (i=0 ;i < len;i++){ c = str[i]; ccw(c); delay(T_DLY * 3); } delay(T_DLY * 4); } void dot(){ tone(pin,784,T_DLY) ; delay(T_DLY * 2) ; } void dash(){ tone(pin,784,T_DLY*3) ; delay(T_DLY *4) ; } void ccw(char ch){ switch (ch) { case '1': dot();dash();dash();dash();dash(); break; case '2': dot();dot();dash();dash();dash(); break; case '3': dot();dot();dot();dash();dash(); break; case '4': dot();dot();dot();dot();dash(); break; case '5': dot();dot();dot();dot();dot(); break; case '6': dash();dot();dot();dot();dot(); break; case '7': dash();dash();dot();dot();dot(); break; case '8': dash();dash();dash();dot();dot(); break; case '9': dash();dash();dash();dash();dot(); break; case '0': dash();dash();dash();dash();dash(); break; case 'a': dot();dash(); break; case 'b': dash();dot();dot();dot(); break; case 'c': dash();dot();dash();dot(); break; case 'd': dash();dot();dot(); break; case 'e': dot(); break; case 'f': dot();dot();dash();dot(); break; case 'g': dash();dash();dot(); break; case 'h': dot();dot();dot();dot(); break; case 'i': dot();dot(); break; case 'j': dot();dash();dash();dash(); break; case 'k': dash();dot();dash(); break; case 'l': dot();dash();dot();dot(); break; case 'm': dash();dash(); break; case 'n': dash();dot(); break; case 'o': dash();dash();dash(); break; case 'p': dot();dash();dash();dot(); break; case 'q': dash();dash();dot();dash(); break; case 'r': dot();dash();dot(); break; case 's': dot();dot();dot(); break; case 't': dash(); break; case 'u': dot();dot();dash(); break; case 'v': dot();dot();dot();dash(); break; case 'w': dot();dash();dash(); break; case 'x': dash();dot();dot();dash(); break; case 'y': dash();dot();dash();dash(); break; case 'z': dash();dash();dot();dot(); break; case ' ': delay(T_DLY * 4); break; case '.': dot();dash();dot();dash();dot();dash(); break; case ',': dash();dash();dot();dot();dash();dash(); break; case ':': dash();dash();dash();dot();dot();dot(); break; case '?': dot();dot();dash();dash();dot();dot(); break; case '/': dash();dot();dot();dash();dot(); break; case '@': dot();dash();dash();dot();dash();dot(); break; case '-': dash();dot();dot();dot();dot();dash(); break; default: break; } }