由于致盲的原因多种多样,很多视障者本该在接受教育的年龄在四处求医,从家长的角度考虑当然没问题,但对于残障者本身来说对他的发展是不利的。在校内年龄可能会相差较大,会出现超龄的情况。 在盲人学校里,同学一般都会学习用这种<帕金斯盲文打字机>。电子盲文显示机的打字方式也是一样的。为了减少视障人士教育学习的成本,我们打算设计一个便携式的<帕金斯盲文打字机>。直接使用六个按钮来模拟六个凸点。
作品项目展示
此设备盲人与聋哑人皆可使用
1、盲人
可以利用此设备进行盲文练习,六个按钮对应盲文的六个点,进行汉字拼写练习
2、语言障碍
简单盲文学习后,利用拼音机制进行简单文本拼写对话,也可以利用设备的发声装置进行简单对话
解决了语言障碍人士与健听人士的双向沟通障碍
通过盲文按键表达自己意思,机器同时播放声音便于健听人士接收信息
盲文又称点字,国际通用的点字由6个凸起的圆点为基本结构组成,是专供盲人摸读、书写的文字符号。1829年,法国盲人路易•布莱尔(Louls Braille,1809-1852)受夜文的启发,创造出了以简单的凸点代替拉丁字母的盲文体系,国际上用他的名字来命名盲文(Braille)。
布莱尔创造的由6个点为基础结构的盲字,在纸面上有的凸起,有的不凸起,形成64种变化,即64种符形,在每个符号(单位称“方”)左右两列,每列各三个点,从左边自上而下叫做1、2、3点,从右边自上而下叫做4、5、6点。
声母盲文格式:
注意:
1、g、k、h与j、q、x在同一韵母里不能同时存在,故可放在一起。
2、zhi chi shi ri zi ci si视作零韵母,只要写出它的声母即可。
3、如果声母是y或w的,则视作零声母,直接写韵母即可。
4、声母g/k/h在韵母i/u/ü时变读为j/q/x。z/c/s/zh/ch/sh/r后面的i省略
韵母盲文格式:
声调盲文格式
①:用3Done 设计盲文练习助手的外壳
②:开始硬件组装
③:焊接6个按钮,用于盲文的输入
④:开始组装按钮
⑤:固定按钮
⑥:根据电路图连接各个传感器
⑦:完成组装
/*!
* MindPlus
* mpython
*
*/
#include <MPython.h>
#include<DFRobot_SpeechSynthesis.h>
// 动态变量
String mind_s_WenBen, mind_s_ShengMu, mind_s_YunMu, mind_s_ShengDiao;
volatile float mind_n_ShuZhi, mind_n_ZhuangTai;
// 函数声明
void DF_ShengYunMuPanDuan();
void DF_WeiDiao();
void DF_ChuMoPanDuan();
void DF_HuoQuShuZhi();
void DF_HuoQuZhuangTai();
// 创建对象
DFRobot_SpeechSynthesis_I2C sstts;
// 主程序开始
void setup() {
mPython.begin();
sstts.begin();
sstts.setVolume(10);
sstts.setSpeed(3);
sstts.setSoundType(sstts.MALE1);
sstts.setTone(7);
mind_s_WenBen = "";
mind_s_ShengMu = "";
mind_s_YunMu = "";
mind_s_ShengDiao = "";
}
void loop() {
DF_ChuMoPanDuan();
if (((String(mind_s_ShengDiao).length())>0)) {
DF_WeiDiao();
sstts.speak((String((String((String("[i1]") + String(mind_s_ShengMu))) + String(mind_s_YunMu))) + String(mind_s_ShengDiao)));
mind_s_WenBen = (String((String((String(mind_s_WenBen) + String(mind_s_ShengMu))) + String(mind_s_YunMu))) + String(mind_s_ShengDiao));
mind_s_ShengMu = "";
mind_s_YunMu = "";
mind_s_ShengDiao = "";
}
}
// 自定义函数
void DF_ShengYunMuPanDuan() {
if ((mind_n_ShuZhi==110000)) {
mind_s_ShengMu = "b";
}
if ((mind_n_ShuZhi==111100)) {
mind_s_ShengMu = "p";
}
if ((mind_n_ShuZhi==101100)) {
mind_s_ShengMu = "m";
}
if ((mind_n_ShuZhi==110100)) {
mind_s_ShengMu = "f";
}
if ((mind_n_ShuZhi==100110)) {
mind_s_ShengMu = "d";
}
if ((mind_n_ShuZhi==11110)) {
mind_s_ShengMu = "t";
}
if ((mind_n_ShuZhi==101110)) {
mind_s_ShengMu = "n";
}
if ((mind_n_ShuZhi==111000)) {
mind_s_ShengMu = "l";
}
if ((mind_n_ShuZhi==110110)) {
mind_s_ShengMu = "g";
}
if ((mind_n_ShuZhi==101000)) {
mind_s_ShengMu = "k";
}
if ((mind_n_ShuZhi==110010)) {
mind_s_ShengMu = "h";
}
if ((mind_n_ShuZhi==1100)) {
mind_s_ShengMu = "zh";
}
if ((mind_n_ShuZhi==111110)) {
mind_s_ShengMu = "ch";
}
if ((mind_n_ShuZhi==100011)) {
mind_s_ShengMu = "sh";
}
if ((mind_n_ShuZhi==10110)) {
mind_s_ShengMu = "r";
}
if ((mind_n_ShuZhi==101011)) {
mind_s_ShengMu = "z";
}
if ((mind_n_ShuZhi==100100)) {
mind_s_ShengMu = "c";
}
if ((mind_n_ShuZhi==11100)) {
mind_s_ShengMu = "s";
}
if ((mind_n_ShuZhi==1010)) {
mind_s_YunMu = "a";
}
if ((mind_n_ShuZhi==10001)) {
mind_s_YunMu = "e";
}
if ((mind_n_ShuZhi==10100)) {
mind_s_YunMu = "i";
}
if ((mind_n_ShuZhi==101001)) {
mind_s_YunMu = "u";
}
if ((mind_n_ShuZhi==1101)) {
mind_s_YunMu = "v";
}
if ((mind_n_ShuZhi==10101)) {
mind_s_YunMu = "ai";
}
if ((mind_n_ShuZhi==11101)) {
mind_s_YunMu = "ei";
}
if ((mind_n_ShuZhi==10111)) {
mind_s_YunMu = "ui";
}
if ((mind_n_ShuZhi==11010)) {
mind_s_YunMu = "ao";
}
if ((mind_n_ShuZhi==111011)) {
mind_s_YunMu = "ou";
}
if ((mind_n_ShuZhi==110011)) {
mind_s_YunMu = "iu";
}
if ((mind_n_ShuZhi==100010)) {
mind_s_YunMu = "ie";
}
if ((mind_n_ShuZhi==11111)) {
mind_s_YunMu = "ue";
}
if ((mind_n_ShuZhi==111010)) {
mind_s_YunMu = "er";
}
if ((mind_n_ShuZhi==111001)) {
mind_s_YunMu = "an";
}
if ((mind_n_ShuZhi==1011)) {
mind_s_YunMu = "en";
}
if ((mind_n_ShuZhi==110001)) {
mind_s_YunMu = "in";
}
if ((mind_n_ShuZhi==10010)) {
mind_s_YunMu = "un";
}
if ((mind_n_ShuZhi==111)) {
mind_s_YunMu = "vn";
}
if ((mind_n_ShuZhi==11001)) {
mind_s_YunMu = "ang";
}
if ((mind_n_ShuZhi==1111)) {
mind_s_YunMu = "eng";
}
if ((mind_n_ShuZhi==1000001)) {
mind_s_YunMu = "ing";
}
if ((mind_n_ShuZhi==10011)) {
mind_s_YunMu = "ong";
}
if ((mind_n_ShuZhi==110101)) {
mind_s_YunMu = "ia";
}
if ((mind_n_ShuZhi==1110)) {
mind_s_YunMu = "iao";
}
if ((mind_n_ShuZhi==111111)) {
mind_s_YunMu = "ua";
}
if ((mind_n_ShuZhi==101111)) {
mind_s_YunMu = "uai";
}
if ((mind_n_ShuZhi==100101)) {
mind_s_YunMu = "ian";
}
if ((mind_n_ShuZhi==101101)) {
mind_s_YunMu = "iang";
}
if ((mind_n_ShuZhi==110111)) {
mind_s_YunMu = "uan";
}
if ((mind_n_ShuZhi==11011)) {
mind_s_YunMu = "uang";
}
if ((mind_n_ShuZhi==11011)) {
mind_s_YunMu = "van";
}
if ((mind_n_ShuZhi==100111)) {
mind_s_YunMu = "iong";
}
if ((mind_n_ShuZhi==100000)) {
mind_s_ShengDiao = "1";
}
if ((mind_n_ShuZhi==10000)) {
mind_s_ShengDiao = "2";
}
if ((mind_n_ShuZhi==1000)) {
mind_s_ShengDiao = "3";
}
if ((mind_n_ShuZhi==11000)) {
mind_s_ShengDiao = "4";
}
display.setCursorLine(1);
display.printLine(mind_s_ShengMu);
display.setCursorLine(2);
display.printLine(mind_s_YunMu);
display.setCursorLine(3);
display.printLine(mind_s_ShengDiao);
display.setCursorLine(4);
display.printLine((String((String(mind_s_ShengMu) + String(mind_s_YunMu))) + String(mind_s_ShengDiao)));
}
void DF_WeiDiao() {
if (((mind_s_ShengMu==String("zh")) && (mind_s_YunMu==0))) {
mind_s_ShengMu = "zhi";
}
if (((mind_s_ShengMu==String("ch")) && (mind_s_YunMu==0))) {
mind_s_ShengMu = "chi";
}
if (((mind_s_ShengMu==String("sh")) && (mind_s_YunMu==0))) {
mind_s_ShengMu = "shi";
}
if (((mind_s_ShengMu==String("r")) && (mind_s_YunMu==0))) {
mind_s_ShengMu = "ri";
}
if (((mind_s_ShengMu==String("z")) && (mind_s_YunMu==0))) {
mind_s_ShengMu = "zi";
}
if (((mind_s_ShengMu==String("c")) && (mind_s_YunMu==0))) {
mind_s_ShengMu = "ci";
}
if (((mind_s_ShengMu==String("s")) && (mind_s_YunMu==0))) {
mind_s_ShengMu = "si";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("iong")))) {
mind_s_YunMu = "yong";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("ong")))) {
mind_s_YunMu = "weng";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("un")))) {
mind_s_YunMu = "wen";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("uang")))) {
mind_s_YunMu = "wang";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("uan")))) {
mind_s_YunMu = "wan";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("ing")))) {
mind_s_YunMu = "ying";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("in")))) {
mind_s_YunMu = "yin";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("iang")))) {
mind_s_YunMu = "yang";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("ian")))) {
mind_s_YunMu = "yan";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("ue")))) {
mind_s_YunMu = "yue";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("uo")))) {
mind_s_YunMu = "wo";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("ui")))) {
mind_s_YunMu = "wei";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("uai")))) {
mind_s_YunMu = "wai";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("ua")))) {
mind_s_YunMu = "wa";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("iu")))) {
mind_s_YunMu = "you";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("ie")))) {
mind_s_YunMu = "ye";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("iao")))) {
mind_s_YunMu = "yao";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("ia")))) {
mind_s_YunMu = "ya";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("v")))) {
mind_s_YunMu = "yu";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("u")))) {
mind_s_YunMu = "wu";
}
if (((mind_s_ShengMu==0) && (mind_s_YunMu==String("i")))) {
mind_s_YunMu = "yi";
}
if (((mind_s_ShengMu==String("m")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("d")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("t")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("n")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("l")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("g")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("k")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("h")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("r")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("z")) && (0==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("c")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("s")) && (mind_s_YunMu==String("o")))) {
mind_s_YunMu = "e";
}
if (((mind_s_ShengMu==String("g")) && (mind_s_YunMu==String("in")))) {
mind_s_ShengMu = "j";
}
}
void DF_ChuMoPanDuan() {
DF_HuoQuZhuangTai();
delay(200);
DF_HuoQuShuZhi();
if ((mind_n_ShuZhi==mind_n_ZhuangTai)) {
DF_ShengYunMuPanDuan();
while (!(!(mind_n_ShuZhi==mind_n_ZhuangTai))) {
DF_HuoQuZhuangTai();
yield();
}
}
}
void DF_HuoQuShuZhi() {
mind_n_ShuZhi = 0;
if ((digitalRead(P13))) {
mind_n_ShuZhi += 100000;
}
if ((digitalRead(P14))) {
mind_n_ShuZhi += 10000;
}
if ((digitalRead(P15))) {
mind_n_ShuZhi += 1000;
}
if ((digitalRead(P1))) {
mind_n_ShuZhi += 100;
}
if ((digitalRead(P6))) {
mind_n_ShuZhi += 10;
}
if ((digitalRead(P7))) {
mind_n_ShuZhi += 1;
}
}
void DF_HuoQuZhuangTai() {
mind_n_ZhuangTai = 0;
if ((digitalRead(P13))) {
mind_n_ZhuangTai += 100000;
}
if ((digitalRead(P14))) {
mind_n_ZhuangTai += 10000;
}
if ((digitalRead(P15))) {
mind_n_ZhuangTai += 1000;
}
if ((digitalRead(P1))) {
mind_n_ZhuangTai += 100;
}
if ((digitalRead(P6))) {
mind_n_ZhuangTai += 10;
}
if ((digitalRead(P7))) {
mind_n_ZhuangTai += 1;
}
}