Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.27 KB | None | 0 0
  1. char InputStr[] = "HELLO"; //valid numbers 0-9, symbols .-_= and letters ABCDEFGHIJLMNOPRSTU Some letters are displayed lower case
  2.  
  3.  
  4. const int SegAPin = 2;
  5. const int SegBPin = 3;
  6. const int SegCPin = 4;
  7. const int SegDPin = 5;
  8. const int SegEPin = 6;
  9. const int SegFPin = 7;
  10. const int SegGPin = 8;
  11. const int SegDpPin = 9;
  12.  
  13. //const int ledPin = 12; //extra button activated led for testing
  14. //const int buttonPin = 13; //extra button pin for testing
  15.  
  16. const int Dig0Pin = 14;
  17. const int Dig1Pin = 15;
  18. const int Dig2Pin = 16;
  19. const int Dig3Pin = 17;
  20. const int Dig4Pin = 18;
  21.  
  22. const int DelayMS = 3;
  23.  
  24. byte BinSegs0;
  25. byte BinSegs1;
  26. byte BinSegs2;
  27. byte BinSegs3;
  28. byte BinSegs4;
  29.  
  30. //int buttonState = 0; // variable for reading the pushbutton status
  31. //long previousMillis = 0;
  32. //long interval = 1000;
  33.  
  34.  
  35. void setup() {
  36. pinMode(SegAPin, OUTPUT); //config segment pins
  37. pinMode(SegBPin, OUTPUT);
  38. pinMode(SegCPin, OUTPUT);
  39. pinMode(SegDPin, OUTPUT);
  40. pinMode(SegEPin, OUTPUT);
  41. pinMode(SegFPin, OUTPUT);
  42. pinMode(SegGPin, OUTPUT);
  43. pinMode(SegDpPin, OUTPUT);
  44.  
  45. // pinMode(ledPin, OUTPUT); //extra button activated led for testing
  46. // pinMode(buttonPin, INPUT); //extra button pin for testing
  47.  
  48. pinMode(Dig0Pin, OUTPUT); //config digit pins
  49. pinMode(Dig1Pin, OUTPUT);
  50. pinMode(Dig2Pin, OUTPUT);
  51. pinMode(Dig3Pin, OUTPUT);
  52. pinMode(Dig4Pin, OUTPUT);
  53.  
  54. digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
  55. digitalWrite(Dig1Pin, HIGH);
  56. digitalWrite(Dig2Pin, HIGH);
  57. digitalWrite(Dig3Pin, HIGH);
  58. digitalWrite(Dig4Pin, HIGH);
  59.  
  60. BinSegs0 = BinCharXvert(InputStr[0]);
  61. BinSegs1 = BinCharXvert(InputStr[1]);
  62. BinSegs2 = BinCharXvert(InputStr[2]);
  63. BinSegs3 = BinCharXvert(InputStr[3]);
  64. BinSegs4 = BinCharXvert(InputStr[4]);
  65. }
  66.  
  67.  
  68. void loop() {
  69. digitalWrite(Dig0Pin, LOW);
  70. if (BinSegs0 & 1){
  71. digitalWrite(SegAPin, HIGH);}
  72. if (BinSegs0 & 2){
  73. digitalWrite(SegBPin, HIGH);}
  74. if (BinSegs0 & 4){
  75. digitalWrite(SegCPin, HIGH);}
  76. if (BinSegs0 & 8){
  77. digitalWrite(SegDPin, HIGH);}
  78. if (BinSegs0 & 16){
  79. digitalWrite(SegEPin, HIGH);}
  80. if (BinSegs0 & 32){
  81. digitalWrite(SegFPin, HIGH);}
  82. if (BinSegs0 & 64){
  83. digitalWrite(SegGPin, HIGH);}
  84. if (BinSegs0 & 128){
  85. digitalWrite(SegDpPin, HIGH);}
  86. delay(DelayMS);
  87.  
  88. digitalWrite(Dig0Pin, HIGH);
  89. if (BinSegs0 & 1){
  90. digitalWrite(SegAPin, LOW);}
  91. if (BinSegs0 & 2){
  92. digitalWrite(SegBPin, LOW);}
  93. if (BinSegs0 & 4){
  94. digitalWrite(SegCPin, LOW);}
  95. if (BinSegs0 & 8){
  96. digitalWrite(SegDPin, LOW);}
  97. if (BinSegs0 & 16){
  98. digitalWrite(SegEPin, LOW);}
  99. if (BinSegs0 & 32){
  100. digitalWrite(SegFPin, LOW);}
  101. if (BinSegs0 & 64){
  102. digitalWrite(SegGPin, LOW);}
  103. if (BinSegs0 & 128){
  104. digitalWrite(SegDpPin, LOW);}
  105.  
  106.  
  107. digitalWrite(Dig1Pin, LOW);
  108. if (BinSegs1 & 1){
  109. digitalWrite(SegAPin, HIGH);}
  110. if (BinSegs1 & 2){
  111. digitalWrite(SegBPin, HIGH);}
  112. if (BinSegs1 & 4){
  113. digitalWrite(SegCPin, HIGH);}
  114. if (BinSegs1 & 8){
  115. digitalWrite(SegDPin, HIGH);}
  116. if (BinSegs1 & 16){
  117. digitalWrite(SegEPin, HIGH);}
  118. if (BinSegs1 & 32){
  119. digitalWrite(SegFPin, HIGH);}
  120. if (BinSegs1 & 64){
  121. digitalWrite(SegGPin, HIGH);}
  122. if (BinSegs1 & 128){
  123. digitalWrite(SegDpPin, HIGH);}
  124. delay(DelayMS);
  125.  
  126. digitalWrite(Dig1Pin, HIGH);
  127. if (BinSegs1 & 1){
  128. digitalWrite(SegAPin, LOW);}
  129. if (BinSegs1 & 2){
  130. digitalWrite(SegBPin, LOW);}
  131. if (BinSegs1 & 4){
  132. digitalWrite(SegCPin, LOW);}
  133. if (BinSegs1 & 8){
  134. digitalWrite(SegDPin, LOW);}
  135. if (BinSegs1 & 16){
  136. digitalWrite(SegEPin, LOW);}
  137. if (BinSegs1 & 32){
  138. digitalWrite(SegFPin, LOW);}
  139. if (BinSegs1 & 64){
  140. digitalWrite(SegGPin, LOW);}
  141. if (BinSegs1 & 128){
  142. digitalWrite(SegDpPin, LOW);}
  143.  
  144.  
  145. digitalWrite(Dig2Pin, LOW);
  146. if (BinSegs2 & 1){
  147. digitalWrite(SegAPin, HIGH);}
  148. if (BinSegs2 & 2){
  149. digitalWrite(SegBPin, HIGH);}
  150. if (BinSegs2 & 4){
  151. digitalWrite(SegCPin, HIGH);}
  152. if (BinSegs2 & 8){
  153. digitalWrite(SegDPin, HIGH);}
  154. if (BinSegs2 & 16){
  155. digitalWrite(SegEPin, HIGH);}
  156. if (BinSegs2 & 32){
  157. digitalWrite(SegFPin, HIGH);}
  158. if (BinSegs2 & 64){
  159. digitalWrite(SegGPin, HIGH);}
  160. if (BinSegs2 & 128){
  161. digitalWrite(SegDpPin, HIGH);}
  162. delay(DelayMS);
  163.  
  164. digitalWrite(Dig2Pin, HIGH);
  165. if (BinSegs2 & 1){
  166. digitalWrite(SegAPin, LOW);}
  167. if (BinSegs2 & 2){
  168. digitalWrite(SegBPin, LOW);}
  169. if (BinSegs2 & 4){
  170. digitalWrite(SegCPin, LOW);}
  171. if (BinSegs2 & 8){
  172. digitalWrite(SegDPin, LOW);}
  173. if (BinSegs2 & 16){
  174. digitalWrite(SegEPin, LOW);}
  175. if (BinSegs2 & 32){
  176. digitalWrite(SegFPin, LOW);}
  177. if (BinSegs2 & 64){
  178. digitalWrite(SegGPin, LOW);}
  179. if (BinSegs2 & 128){
  180. digitalWrite(SegDpPin, LOW);}
  181.  
  182.  
  183. digitalWrite(Dig3Pin, LOW);
  184. if (BinSegs3 & 1){
  185. digitalWrite(SegAPin, HIGH);}
  186. if (BinSegs3 & 2){
  187. digitalWrite(SegBPin, HIGH);}
  188. if (BinSegs3 & 4){
  189. digitalWrite(SegCPin, HIGH);}
  190. if (BinSegs3 & 8){
  191. digitalWrite(SegDPin, HIGH);}
  192. if (BinSegs3 & 16){
  193. digitalWrite(SegEPin, HIGH);}
  194. if (BinSegs3 & 32){
  195. digitalWrite(SegFPin, HIGH);}
  196. if (BinSegs3 & 64){
  197. digitalWrite(SegGPin, HIGH);}
  198. if (BinSegs3 & 128){
  199. digitalWrite(SegDpPin, HIGH);}
  200. delay(DelayMS);
  201.  
  202. digitalWrite(Dig3Pin, HIGH);
  203. if (BinSegs3 & 1){
  204. digitalWrite(SegAPin, LOW);}
  205. if (BinSegs3 & 2){
  206. digitalWrite(SegBPin, LOW);}
  207. if (BinSegs3 & 4){
  208. digitalWrite(SegCPin, LOW);}
  209. if (BinSegs3 & 8){
  210. digitalWrite(SegDPin, LOW);}
  211. if (BinSegs3 & 16){
  212. digitalWrite(SegEPin, LOW);}
  213. if (BinSegs3 & 32){
  214. digitalWrite(SegFPin, LOW);}
  215. if (BinSegs3 & 64){
  216. digitalWrite(SegGPin, LOW);}
  217. if (BinSegs3 & 128){
  218. digitalWrite(SegDpPin, LOW);}
  219.  
  220.  
  221. digitalWrite(Dig4Pin, LOW);
  222. if (BinSegs4 & 1){
  223. digitalWrite(SegAPin, HIGH);}
  224. if (BinSegs4 & 2){
  225. digitalWrite(SegBPin, HIGH);}
  226. if (BinSegs4 & 4){
  227. digitalWrite(SegCPin, HIGH);}
  228. if (BinSegs4 & 8){
  229. digitalWrite(SegDPin, HIGH);}
  230. if (BinSegs4 & 16){
  231. digitalWrite(SegEPin, HIGH);}
  232. if (BinSegs4 & 32){
  233. digitalWrite(SegFPin, HIGH);}
  234. if (BinSegs4 & 64){
  235. digitalWrite(SegGPin, HIGH);}
  236. if (BinSegs4 & 128){
  237. digitalWrite(SegDpPin, HIGH);}
  238. delay(DelayMS);
  239.  
  240. digitalWrite(Dig4Pin, HIGH);
  241. if (BinSegs4 & 1){
  242. digitalWrite(SegAPin, LOW);}
  243. if (BinSegs4 & 2){
  244. digitalWrite(SegBPin, LOW);}
  245. if (BinSegs4 & 4){
  246. digitalWrite(SegCPin, LOW);}
  247. if (BinSegs4 & 8){
  248. digitalWrite(SegDPin, LOW);}
  249. if (BinSegs4 & 16){
  250. digitalWrite(SegEPin, LOW);}
  251. if (BinSegs4 & 32){
  252. digitalWrite(SegFPin, LOW);}
  253. if (BinSegs4 & 64){
  254. digitalWrite(SegGPin, LOW);}
  255. if (BinSegs4 & 128){
  256. digitalWrite(SegDpPin, LOW);}
  257. }
  258.  
  259. byte BinCharXvert(char XvertXChar)
  260. {
  261. if (XvertXChar == '0')
  262. return 63;
  263. else if (XvertXChar == '1')
  264. return 6;
  265. else if (XvertXChar == '2')
  266. return 91;
  267. else if (XvertXChar == '3')
  268. return 79;
  269. else if (XvertXChar == '4')
  270. return 102;
  271. else if (XvertXChar == '5')
  272. return 109;
  273. else if (XvertXChar == '6')
  274. return 124;
  275. else if (XvertXChar == '7')
  276. return 7;
  277. else if (XvertXChar == '8')
  278. return 127;
  279. else if (XvertXChar == '9')
  280. return 111;
  281. else if (XvertXChar == '-')
  282. return 64;
  283. else if (XvertXChar == '.')
  284. return 128;
  285. else if (XvertXChar == '_')
  286. return 8;
  287. else if (XvertXChar == '=')
  288. return 72;
  289. else if (XvertXChar == 'A')
  290. return 119;
  291. else if (XvertXChar == 'B')
  292. return 124;
  293. else if (XvertXChar == 'C')
  294. return 88;
  295. else if (XvertXChar == 'D')
  296. return 94;
  297. else if (XvertXChar == 'E')
  298. return 121;
  299. else if (XvertXChar == 'F')
  300. return 113;
  301. else if (XvertXChar == 'G')
  302. return 61;
  303. else if (XvertXChar == 'H')
  304. return 116;
  305. else if (XvertXChar == 'I')
  306. return 16;
  307. else if (XvertXChar == 'J')
  308. return 30;
  309. else if (XvertXChar == 'L')
  310. return 56;
  311. else if (XvertXChar == 'M')
  312. return 212;
  313. else if (XvertXChar == 'N')
  314. return 84;
  315. else if (XvertXChar == 'O')
  316. return 92;
  317. else if (XvertXChar == 'P')
  318. return 115;
  319. else if (XvertXChar == 'R')
  320. return 80;
  321. else if (XvertXChar == 'S')
  322. return 109;
  323. else if (XvertXChar == 'T')
  324. return 120;
  325. else if (XvertXChar == 'U')
  326. return 28;
  327. else
  328. return 0;
  329. }
  330. /*
  331. void loop() {
  332. //say hello
  333. digitalWrite(Dig0Pin, LOW); //set digit pin (A0/14) to low
  334. digitalWrite(SegBPin, HIGH);//set seg pins B,C,E,F,G to high (letter H)
  335. digitalWrite(SegCPin, HIGH);
  336. digitalWrite(SegEPin, HIGH);
  337. digitalWrite(SegFPin, HIGH);
  338. digitalWrite(SegGPin, HIGH);
  339.  
  340. delay(DelayMS); //DELAY AND RESET ALL PINS!
  341. digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
  342. digitalWrite(Dig1Pin, HIGH);
  343. digitalWrite(Dig2Pin, HIGH);
  344. digitalWrite(Dig3Pin, HIGH);
  345. digitalWrite(Dig4Pin, HIGH);
  346. digitalWrite(SegAPin, LOW); //set all segments to LOW
  347. digitalWrite(SegBPin, LOW);
  348. digitalWrite(SegCPin, LOW);
  349. digitalWrite(SegDPin, LOW);
  350. digitalWrite(SegEPin, LOW);
  351. digitalWrite(SegFPin, LOW);
  352. digitalWrite(SegGPin, LOW);
  353. digitalWrite(SegDpPin, LOW);
  354.  
  355. digitalWrite(Dig1Pin, LOW); //set digit pin (A1/15) to low
  356. digitalWrite(SegAPin, HIGH);//set seg pins A,D,E,F,G to high (letter E)
  357. digitalWrite(SegDPin, HIGH);
  358. digitalWrite(SegEPin, HIGH);
  359. digitalWrite(SegFPin, HIGH);
  360. digitalWrite(SegGPin, HIGH);
  361.  
  362. delay(DelayMS); //DELAY AND RESET ALL PINS!
  363. digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
  364. digitalWrite(Dig1Pin, HIGH);
  365. digitalWrite(Dig2Pin, HIGH);
  366. digitalWrite(Dig3Pin, HIGH);
  367. digitalWrite(Dig4Pin, HIGH);
  368. digitalWrite(SegAPin, LOW); //set all segments to LOW
  369. digitalWrite(SegBPin, LOW);
  370. digitalWrite(SegCPin, LOW);
  371. digitalWrite(SegDPin, LOW);
  372. digitalWrite(SegEPin, LOW);
  373. digitalWrite(SegFPin, LOW);
  374. digitalWrite(SegGPin, LOW);
  375. digitalWrite(SegDpPin, LOW);
  376.  
  377. digitalWrite(Dig2Pin, LOW); //set digit pin (A2/16) to low
  378. digitalWrite(SegDPin, HIGH);//set seg pins D,E,F to high (letter L)
  379. digitalWrite(SegEPin, HIGH);
  380. digitalWrite(SegFPin, HIGH);
  381.  
  382. delay(DelayMS); //DELAY AND RESET ALL PINS!
  383. digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
  384. digitalWrite(Dig1Pin, HIGH);
  385. digitalWrite(Dig2Pin, HIGH);
  386. digitalWrite(Dig3Pin, HIGH);
  387. digitalWrite(Dig4Pin, HIGH);
  388. digitalWrite(SegAPin, LOW); //set all segments to LOW
  389. digitalWrite(SegBPin, LOW);
  390. digitalWrite(SegCPin, LOW);
  391. digitalWrite(SegDPin, LOW);
  392. digitalWrite(SegEPin, LOW);
  393. digitalWrite(SegFPin, LOW);
  394. digitalWrite(SegGPin, LOW);
  395. digitalWrite(SegDpPin, LOW);
  396.  
  397. digitalWrite(Dig3Pin, LOW); //set digit pin (A3/17) to low
  398. digitalWrite(SegDPin, HIGH);//set seg pins D,E,F to high (letter L)
  399. digitalWrite(SegEPin, HIGH);
  400. digitalWrite(SegFPin, HIGH);
  401.  
  402. delay(DelayMS); //DELAY AND RESET ALL PINS!
  403. digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
  404. digitalWrite(Dig1Pin, HIGH);
  405. digitalWrite(Dig2Pin, HIGH);
  406. digitalWrite(Dig3Pin, HIGH);
  407. digitalWrite(Dig4Pin, HIGH);
  408. digitalWrite(SegAPin, LOW); //set all segments to LOW
  409. digitalWrite(SegBPin, LOW);
  410. digitalWrite(SegCPin, LOW);
  411. digitalWrite(SegDPin, LOW);
  412. digitalWrite(SegEPin, LOW);
  413. digitalWrite(SegFPin, LOW);
  414. digitalWrite(SegGPin, LOW);
  415. digitalWrite(SegDpPin, LOW);
  416.  
  417. digitalWrite(Dig4Pin, LOW); //set digit pin (A4/18) to low
  418. digitalWrite(SegAPin, HIGH);//set seg pins A,B,C,D,E,F to high (letter O)
  419. digitalWrite(SegBPin, HIGH);
  420. digitalWrite(SegCPin, HIGH);
  421. digitalWrite(SegDPin, HIGH);
  422. digitalWrite(SegEPin, HIGH);
  423. digitalWrite(SegFPin, HIGH);
  424.  
  425. delay(DelayMS); //DELAY AND RESET ALL PINS!
  426. digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
  427. digitalWrite(Dig1Pin, HIGH);
  428. digitalWrite(Dig2Pin, HIGH);
  429. digitalWrite(Dig3Pin, HIGH);
  430. digitalWrite(Dig4Pin, HIGH);
  431. digitalWrite(SegAPin, LOW); //set all segments to LOW
  432. digitalWrite(SegBPin, LOW);
  433. digitalWrite(SegCPin, LOW);
  434. digitalWrite(SegDPin, LOW);
  435. digitalWrite(SegEPin, LOW);
  436. digitalWrite(SegFPin, LOW);
  437. digitalWrite(SegGPin, LOW);
  438. digitalWrite(SegDpPin, LOW);
  439. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement