盲文打印机的制作

步骤1:文档
盲文打印机或盲文压花机(是同一件事),与普通打印机做同样的事情,但它是为盲人打印的。盲文以其创建者法国人路易斯·布莱叶(louis braille)的名字命名,后者因儿童时期的事故而失去了视力。
我要做的第一件事是学习字母,所以我开始研究
完整的盲文单元包含六个凸起的点,这些凸起的点排列在两个横向行中,每个横向行具有三个点。点的位置由一到六的数字标识。使用一个或多个点可以实现64个解决方案。单个单元格可用于表示字母,数字,标点符号,甚至整个单词。
步骤2:部件列表
某些零件从旧的计算机和打印机中重新使用
2x驱动程序
1x伺服
1x arduino
1x旧cd读取器
1x滚轮
1x旧步进打印机的步进器
一些电线
胶水和动力,不要忘记动力!
步骤3:工作原理
轮子由步进电机(x轴)驱动,将纸张拖入。y轴由旧的cd读取器制成,顶部是伺服系统,将纸张放入。
第4步:arduino软件
#include
#include
int in1pin = 12; int in2pin = 11; int in3pin = 10; int in4pin = 9;
int in5pin = 8; int in6pin = 7; int in7pin = 6; int in8pin = 5;
#define steps 24 #define steps2 56伺服myservo;步进电机(steps,in1pin,in2pin,in3pin,in4pin);步进电机(steps2,in5pin,in6pin,in7pin,in8pin);
void m1(){int steps = serial.parseint(); motor.step(步骤); }
void m2(){int steps2 = serial.parseint(); mfoaie.step(steps2); }
void伺服(){myservo.write(1);延迟(200); myservo.write(30);延迟(200); }
void litera(char l){if(l ==‘]’){mfoaie.step(2);} if(l ==‘;’){mfoaie.step(1); }如果(l ==‘a’){servo(); mfoaie.step(5);}如果(l ==‘b’){伺服(); motor.step(39);伺服(); motor.step(1-39); mfoaie.step(2); mfoaie.step(3); }如果(l ==‘c’){servo(); mfoaie.step(2); servo(); mfoaie.step(3);}如果(l ==‘d’){servo(); mfoaie.step(2); servo(); motor.step(39); servo(); motor.step(-39); mfoaie.step(3);}如果(l ==‘e’){servo( ); mfoaie.step(2); motor.step(39); servo(); motor.step(-39); mfoaie.step(3);}如果(l ==‘f’){servo(); motor。 step(39); servo(); motor.step(-39); mfoaie.step(2); servo(); mfoaie.step(3);}如果(l ==‘g’){servo(); motor.step(39); servo(); mfoaie.step(2); servo(); motor.step(-39); servo(); mfoaie.step(3);}如果(l ==‘h’ ){servo(); motor.step(39); servo(); mfoaie.step(2); servo(); motor.step(-39); mfoaie.step(3);}如果(l ==‘ i’){motor.step(39);伺服(); motor.step(1-39); mfoaie.step(2); servo(); mfoaie.step(3);}如果(l ==‘j’){motor.step(39); servo(); mfoaie.step(2); servo() ; motor.step(-39); servo(); mfoaie.step(3);}如果(l ==‘k’){servo(); motor.step(69); servo(); motor.step( -69); mfoaie.step(5);}如果(l ==‘l’){servo(); motor.step(39); servo(); motor.step(30); servo(); motor。 step(-69); mfoaie.step(5);}如果(l ==‘m’){servo(); motor.step(69); servo(); motor.step(-69); servo() ; mfoaie.step(2); servo(); mfoaie.step(3);}如果(l ==‘n’){servo(); motor.step(69); servo(); motor.step(- 69); servo(); mfoaie.step(2); servo(); motor.step(39); servo(); motor.step(-39); mfoaie.step(3);}如果(l == ‘o’){伺服(); motor.step(69);伺服(); motor.step(-69);伺服(); mfoaie.step(2); motor.step(39);伺服(); motor.step(-39); mfoaie.step(3);}如果(l ==‘p’){servo(); motor.step(39); servo(); motor.step(30); servo( ); motor.step(-69); mfoaie.step(2); servo(); mfoaie.step(3);}如果(l ==‘q’){servo(); motor.step(39);伺服(); motor.step(30);伺服(); motor.step(-30); mfoaie.step(2);伺服(); motor.step(1-39);伺服(); mfoaie.step( 3);}如果(l ==‘r “){伺服(); motor.step(39);伺服(); motor.step(30);伺服(); motor.step(-30); mfoaie.step(2);伺服();马达。 step(-39); mfoaie.step(3);}如果(l ==’s‘){motor.step(39); servo(); motor.step(30); servo(); motor.step( -69); mfoaie.step(2); servo(); mfoaie.step(3);}如果(l ==’t‘){motor.step(39); servo(); motor.step(30) ; servo(); motor.step(-30); mfoaie.step(2); servo(); motor.step(-39); servo(); mfoaie.step(3);}如果(l ==’ u‘){servo(); motor.step(69); servo(); mfoaie.step(2); servo(); motor.step(-69); mfoaie.step(3);}如果(l = =’v‘){servo(); motor.step(39); servo(); motor.step(30); servo(); mfoaie.step(2); servo(); motor.step(-69) ; mfoaie.step(3);}如果(l ==’w‘){motor.step(39); servo(); motor.step(30); mfoaie.step(2); servo(); motor。 step(-30); servo(); motor.step(-39); servo(); mfoaie.step(3);}如果(l ==’x‘){servo(); motor.step(69) ; servo(); mfoaie.step(2); servo(); motor.step(-69); mfoaie.step(3);}如果(l ==’y‘){servo(); motor.step( 69);伺服(); mfoaie.step(2);伺服(); motor.step(-30);伺服(); motor.step(1-39);伺服(); mfoaie.step(3);}如果(l ==’z‘){se rvo(); motor.step(69);伺服(); mfoaie.step(2);伺服(); motor.step(-30);伺服(); motor.step(1-39); mfoaie.step( 3);}}
//步长取决于您使用哪种步进器以及孔之间的距离。
void setup(){//初始化串行通信:serial.begin(9600); pinmode(in1pin,输出); pinmode(in2pin,输出); pinmode(in3pin,输出); pinmode(in4pin,输出); pinmode(in5pin,输出); pinmode(in6pin,输出); pinmode(in7pin,输出); pinmode(in8pin,输出); serial.begin(9600); myservo.attach(4); myservo.write(40); motor.setspeed(100); mfoaie.setspeed(50);//delay(10000); }
void loop(){//读取传感器:if(serial.available()》 0){char inbyte = serial.read(); litera(inbyte);
}}
步骤5:注意
此项目仅供参考。我将尝试通过详细步骤来制作另一个。这个项目是在一天之内完成的。]

Fetch Robotics获4600万美元C轮融资,依靠工业云平台实现按需自动化
DLC发布了植物灯V2.0标准的正式版,并将于2021年3月21日开始实施
福布斯认为还有这八大障碍阻挡VR普及
想知道无人机性能是否优异,看这3个参数
【EDATEC】智慧水务大数据管理系统?树莓派:都让开!让我来
盲文打印机的制作
Marvell推出业界首款针对Cat5e电缆的商用以太网收发器,全面优化2.5Gbps和5Gbps数据传输速率
华为Mate30Pro拆解获iFixit5分的可修复性得分
小米透明电视被批没有核心技术是组装厂,然而预售秒光
手机芯片市场加速洗牌:TI博通先后退出
运营商通过卡槽概念获客之后就是存量经营并提升用户价值
GRANDMICRO有容微ASW3642 : HDMI切换器专业解决方案
realme真我V11正式发布!京东、天猫等电商平台开售
苹果已经预定了台积电的3纳米芯片
无人机第一课 无人机无接触送口罩
未来五年 仪器仪表行业总产值或近万亿
T-Mobile开始建设5G网络_在无线市场中觅得新机
检查PCB中的短路的四个步骤
拼接屏品牌排行榜前十名
Xeon E3-1200 v6家族频率升级 1230 V6要被冷落