Advertisement
tpaper

Propeller Display

May 12th, 2012
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 20.18 KB | None | 0 0
  1. #include <math.h>
  2. #define ASCII_OFFSET 32
  3. float angle = 4.0;
  4. float focus = 0.5;
  5. boolean charset[95][5][7];
  6. //              CA  C  R
  7.  
  8. void defchar() {
  9. // 0;32;" "
  10. charset[0][0][0] = false;
  11. charset[0][0][1] = false;
  12. charset[0][0][2] = false;
  13. charset[0][0][3] = false;
  14. charset[0][0][4] = false;
  15. charset[0][0][5] = false;
  16. charset[0][0][6] = false;
  17.  
  18. charset[0][1][0] = false;
  19. charset[0][1][1] = false;
  20. charset[0][1][2] = false;
  21. charset[0][1][3] = false;
  22. charset[0][1][4] = false;
  23. charset[0][1][5] = false;
  24. charset[0][1][6] = false;
  25.  
  26. charset[0][2][0] = false;
  27. charset[0][2][1] = false;
  28. charset[0][2][2] = false;
  29. charset[0][2][3] = false;
  30. charset[0][2][4] = false;
  31. charset[0][2][5] = false;
  32. charset[0][2][6] = false;
  33.  
  34. charset[0][3][0] = false;
  35. charset[0][3][1] = false;
  36. charset[0][3][2] = false;
  37. charset[0][3][3] = false;
  38. charset[0][3][4] = false;
  39. charset[0][3][5] = false;
  40. charset[0][3][6] = false;
  41.  
  42. charset[0][4][0] = false;
  43. charset[0][4][1] = false;
  44. charset[0][4][2] = false;
  45. charset[0][4][3] = false;
  46. charset[0][4][4] = false;
  47. charset[0][4][5] = false;
  48. charset[0][4][6] = false;
  49.  
  50.  
  51. // 1;33;"!"
  52. charset[1][0][0] = false;
  53. charset[1][0][1] = false;
  54. charset[1][0][2] = false;
  55. charset[1][0][3] = false;
  56. charset[1][0][4] = false;
  57. charset[1][0][5] = false;
  58. charset[1][0][6] = false;
  59.  
  60. charset[1][1][0] = false;
  61. charset[1][1][1] = false;
  62. charset[1][1][2] = false;
  63. charset[1][1][3] = false;
  64. charset[1][1][4] = false;
  65. charset[1][1][5] = false;
  66. charset[1][1][6] = false;
  67.  
  68. charset[1][2][0] = true;
  69. charset[1][2][1] = false;
  70. charset[1][2][2] = false;
  71. charset[1][2][3] = true;
  72. charset[1][2][4] = true;
  73. charset[1][2][5] = true;
  74. charset[1][2][6] = true;
  75.  
  76. charset[1][3][0] = false;
  77. charset[1][3][1] = false;
  78. charset[1][3][2] = false;
  79. charset[1][3][3] = false;
  80. charset[1][3][4] = false;
  81. charset[1][3][5] = false;
  82. charset[1][3][6] = false;
  83.  
  84. charset[1][4][0] = false;
  85. charset[1][4][1] = false;
  86. charset[1][4][2] = false;
  87. charset[1][4][3] = false;
  88. charset[1][4][4] = false;
  89. charset[1][4][5] = false;
  90. charset[1][4][6] = false;
  91.  
  92. // 2;34;"""
  93. int c=2;
  94. charset[c][0][0] = false;
  95. charset[c][0][1] = false;
  96. charset[c][0][2] = false;
  97. charset[c][0][3] = false;
  98. charset[c][0][4] = false;
  99. charset[c][0][5] = false;
  100. charset[c][0][6] = false;
  101.  
  102. charset[c][1][0] = false;
  103. charset[c][1][1] = false;
  104. charset[c][1][2] = false;
  105. charset[c][1][3] = false;
  106. charset[c][1][4] = true;
  107. charset[c][1][5] = true;
  108. charset[c][1][6] = true;
  109.  
  110. charset[c][2][0] = false;
  111. charset[c][2][1] = false;
  112. charset[c][2][2] = false;
  113. charset[c][2][3] = false;
  114. charset[c][2][4] = false;
  115. charset[c][2][5] = false;
  116. charset[c][2][6] = false;
  117.  
  118. charset[c][3][0] = false;
  119. charset[c][3][1] = false;
  120. charset[c][3][2] = false;
  121. charset[c][3][3] = false;
  122. charset[c][3][4] = true;
  123. charset[c][3][5] = true;
  124. charset[c][3][6] = true;
  125.  
  126. charset[c][4][0] = false;
  127. charset[c][4][1] = false;
  128. charset[c][4][2] = false;
  129. charset[c][4][3] = false;
  130. charset[c][4][4] = false;
  131. charset[c][4][5] = false;
  132. charset[c][4][6] = false;
  133.  
  134. // 2;34;"""
  135. c=16;
  136. charset[c][0][0] = false;
  137. charset[c][0][1] = true;
  138. charset[c][0][2] = true;
  139. charset[c][0][3] = true;
  140. charset[c][0][4] = true;
  141. charset[c][0][5] = true;
  142. charset[c][0][6] = false;
  143.  
  144. charset[c][1][0] = true;
  145. charset[c][1][1] = false;
  146. charset[c][1][2] = true;
  147. charset[c][1][3] = false;
  148. charset[c][1][4] = false;
  149. charset[c][1][5] = false;
  150. charset[c][1][6] = true;
  151.  
  152. charset[c][2][0] = true;
  153. charset[c][2][1] = false;
  154. charset[c][2][2] = false;
  155. charset[c][2][3] = true;
  156. charset[c][2][4] = false;
  157. charset[c][2][5] = false;
  158. charset[c][2][6] = true;
  159.  
  160. charset[c][3][0] = true;
  161. charset[c][3][1] = false;
  162. charset[c][3][2] = false;
  163. charset[c][3][3] = false;
  164. charset[c][3][4] = true;
  165. charset[c][3][5] = false;
  166. charset[c][3][6] = true;
  167.  
  168. charset[c][4][0] = false;
  169. charset[c][4][1] = true;
  170. charset[c][4][2] = true;
  171. charset[c][4][3] = true;
  172. charset[c][4][4] = true;
  173. charset[c][4][5] = true;
  174. charset[c][4][6] = false;
  175.  
  176. c=17;
  177. charset[c][0][0] = false;
  178. charset[c][0][1] = false;
  179. charset[c][0][2] = false;
  180. charset[c][0][3] = false;
  181. charset[c][0][4] = false;
  182. charset[c][0][5] = false;
  183. charset[c][0][6] = false;
  184.  
  185. charset[c][1][0] = true;
  186. charset[c][1][1] = false;
  187. charset[c][1][2] = false;
  188. charset[c][1][3] = false;
  189. charset[c][1][4] = false;
  190. charset[c][1][5] = true;
  191. charset[c][1][6] = false;
  192.  
  193. charset[c][2][0] = true;
  194. charset[c][2][1] = true;
  195. charset[c][2][2] = true;
  196. charset[c][2][3] = true;
  197. charset[c][2][4] = true;
  198. charset[c][2][5] = true;
  199. charset[c][2][6] = true;
  200.  
  201. charset[c][3][0] = true;
  202. charset[c][3][1] = false;
  203. charset[c][3][2] = false;
  204. charset[c][3][3] = false;
  205. charset[c][3][4] = false;
  206. charset[c][3][5] = false;
  207. charset[c][3][6] = false;
  208.  
  209. charset[c][4][0] = false;
  210. charset[c][4][1] = false;
  211. charset[c][4][2] = false;
  212. charset[c][4][3] = false;
  213. charset[c][4][4] = false;
  214. charset[c][4][5] = false;
  215. charset[c][4][6] = false;
  216.  
  217. c=18;
  218. charset[c][0][0] = true;
  219. charset[c][0][1] = false;
  220. charset[c][0][2] = false;
  221. charset[c][0][3] = false;
  222. charset[c][0][4] = false;
  223. charset[c][0][5] = true;
  224. charset[c][0][6] = false;
  225.  
  226. charset[c][1][0] = true;
  227. charset[c][1][1] = true;
  228. charset[c][1][2] = false;
  229. charset[c][1][3] = false;
  230. charset[c][1][4] = false;
  231. charset[c][1][5] = false;
  232. charset[c][1][6] = true;
  233.  
  234. charset[c][2][0] = true;
  235. charset[c][2][1] = false;
  236. charset[c][2][2] = true;
  237. charset[c][2][3] = false;
  238. charset[c][2][4] = false;
  239. charset[c][2][5] = false;
  240. charset[c][2][6] = true;
  241.  
  242. charset[c][3][0] = true;
  243. charset[c][3][1] = false;
  244. charset[c][3][2] = false;
  245. charset[c][3][3] = true;
  246. charset[c][3][4] = false;
  247. charset[c][3][5] = false;
  248. charset[c][3][6] = true;
  249.  
  250. charset[c][4][0] = true;
  251. charset[c][4][1] = false;
  252. charset[c][4][2] = false;
  253. charset[c][4][3] = false;
  254. charset[c][4][4] = true;
  255. charset[c][4][5] = true;
  256. charset[c][4][6] = false;
  257.  
  258. c=19;
  259. charset[c][0][0] = false;
  260. charset[c][0][1] = true;
  261. charset[c][0][2] = false;
  262. charset[c][0][3] = false;
  263. charset[c][0][4] = false;
  264. charset[c][0][5] = false;
  265. charset[c][0][6] = true;
  266.  
  267. charset[c][1][0] = true;
  268. charset[c][1][1] = false;
  269. charset[c][1][2] = false;
  270. charset[c][1][3] = false;
  271. charset[c][1][4] = false;
  272. charset[c][1][5] = false;
  273. charset[c][1][6] = true;
  274.  
  275. charset[c][2][0] = true;
  276. charset[c][2][1] = false;
  277. charset[c][2][2] = false;
  278. charset[c][2][3] = false;
  279. charset[c][2][4] = true;
  280. charset[c][2][5] = false;
  281. charset[c][2][6] = true;
  282.  
  283. charset[c][3][0] = true;
  284. charset[c][3][1] = false;
  285. charset[c][3][2] = false;
  286. charset[c][3][3] = true;
  287. charset[c][3][4] = false;
  288. charset[c][3][5] = true;
  289. charset[c][3][6] = true;
  290.  
  291. charset[c][4][0] = false;
  292. charset[c][4][1] = true;
  293. charset[c][4][2] = true;
  294. charset[c][4][3] = false;
  295. charset[c][4][4] = false;
  296. charset[c][4][5] = false;
  297. charset[c][4][6] = true;
  298.  
  299. c=20;
  300. charset[c][0][0] = false;
  301. charset[c][0][1] = false;
  302. charset[c][0][2] = true;
  303. charset[c][0][3] = true;
  304. charset[c][0][4] = false;
  305. charset[c][0][5] = false;
  306. charset[c][0][6] = false;
  307.  
  308. charset[c][1][0] = false;
  309. charset[c][1][1] = false;
  310. charset[c][1][2] = true;
  311. charset[c][1][3] = false;
  312. charset[c][1][4] = true;
  313. charset[c][1][5] = false;
  314. charset[c][1][6] = false;
  315.  
  316. charset[c][2][0] = false;
  317. charset[c][2][1] = false;
  318. charset[c][2][2] = true;
  319. charset[c][2][3] = false;
  320. charset[c][2][4] = false;
  321. charset[c][2][5] = true;
  322. charset[c][2][6] = false;
  323.  
  324. charset[c][3][0] = true;
  325. charset[c][3][1] = true;
  326. charset[c][3][2] = true;
  327. charset[c][3][3] = true;
  328. charset[c][3][4] = true;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
  329. charset[c][3][5] = true;
  330. charset[c][3][6] = true;
  331.  
  332. charset[c][4][0] = false;
  333. charset[c][4][1] = false;
  334. charset[c][4][2] = true;
  335. charset[c][4][3] = false;
  336. charset[c][4][4] = false;
  337. charset[c][4][5] = false;
  338. charset[c][4][6] = false;
  339.  
  340. c=21;
  341. charset[c][0][0] = false;
  342. charset[c][0][1] = true;
  343. charset[c][0][2] = false;
  344. charset[c][0][3] = false;
  345. charset[c][0][4] = true;
  346. charset[c][0][5] = true;
  347. charset[c][0][6] = true;
  348.  
  349. charset[c][1][0] = true;
  350. charset[c][1][1] = false;
  351. charset[c][1][2] = false;
  352. charset[c][1][3] = false;
  353. charset[c][1][4] = true;
  354. charset[c][1][5] = false;
  355. charset[c][1][6] = true;
  356.  
  357. charset[c][2][0] = true;
  358. charset[c][2][1] = false;
  359. charset[c][2][2] = false;
  360. charset[c][2][3] = false;
  361. charset[c][2][4] = true;
  362. charset[c][2][5] = false;
  363. charset[c][2][6] = true;
  364.  
  365. charset[c][3][0] = true;
  366. charset[c][3][1] = false;
  367. charset[c][3][2] = false;
  368. charset[c][3][3] = false;
  369. charset[c][3][4] = true;
  370. charset[c][3][5] = false;
  371. charset[c][3][6] = true;
  372.  
  373. charset[c][4][0] = false;
  374. charset[c][4][1] = true;
  375. charset[c][4][2] = true;
  376. charset[c][4][3] = true;
  377. charset[c][4][4] = false;
  378. charset[c][4][5] = false;
  379. charset[c][4][6] = true;
  380.  
  381. c=22;
  382. charset[c][0][0] = true;
  383. charset[c][0][1] = true;
  384. charset[c][0][2] = true;
  385. charset[c][0][3] = true;
  386. charset[c][0][4] = true;
  387. charset[c][0][5] = false;
  388. charset[c][0][6] = false;
  389.  
  390. charset[c][1][0] = true;
  391. charset[c][1][1] = false;
  392. charset[c][1][2] = false;
  393. charset[c][1][3] = true;
  394. charset[c][1][4] = false;
  395. charset[c][1][5] = true;
  396. charset[c][1][6] = false;
  397.  
  398. charset[c][2][0] = true;
  399. charset[c][2][1] = false;
  400. charset[c][2][2] = false;
  401. charset[c][2][3] = true;
  402. charset[c][2][4] = false;
  403. charset[c][2][5] = false;
  404. charset[c][2][6] = true;
  405.  
  406. charset[c][3][0] = true;
  407. charset[c][3][1] = false;
  408. charset[c][3][2] = false;
  409. charset[c][3][3] = true;
  410. charset[c][3][4] = false;
  411. charset[c][3][5] = false;
  412. charset[c][3][6] = true;
  413.  
  414. charset[c][4][0] = false;
  415. charset[c][4][1] = true;
  416. charset[c][4][2] = true;
  417. charset[c][4][3] = false;
  418. charset[c][4][4] = false;
  419. charset[c][4][5] = false;
  420. charset[c][4][6] = false;
  421.  
  422. c=23;
  423. charset[c][0][0] = false;
  424. charset[c][0][1] = false;
  425. charset[c][0][2] = false;
  426. charset[c][0][3] = false;
  427. charset[c][0][4] = false;
  428. charset[c][0][5] = true;
  429. charset[c][0][6] = true;
  430.  
  431. charset[c][1][0] = false;
  432. charset[c][1][1] = false;
  433. charset[c][1][2] = false;
  434. charset[c][1][3] = false;
  435. charset[c][1][4] = false;
  436. charset[c][1][5] = false;
  437. charset[c][1][6] = true;
  438.  
  439. charset[c][2][0] = true;
  440. charset[c][2][1] = true;
  441. charset[c][2][2] = true;
  442. charset[c][2][3] = false;
  443. charset[c][2][4] = false;
  444. charset[c][2][5] = false;
  445. charset[c][2][6] = true;
  446.  
  447. charset[c][3][0] = false;
  448. charset[c][3][1] = false;
  449. charset[c][3][2] = false;
  450. charset[c][3][3] = true;
  451. charset[c][3][4] = false;
  452. charset[c][3][5] = false;
  453. charset[c][3][6] = true;
  454.  
  455. charset[c][4][0] = false;
  456. charset[c][4][1] = false;
  457. charset[c][4][2] = false;
  458. charset[c][4][3] = false;
  459. charset[c][4][4] = true;
  460. charset[c][4][5] = true;
  461. charset[c][4][6] = true;
  462.  
  463. c=24;
  464. charset[c][0][0] = false;
  465. charset[c][0][1] = true;
  466. charset[c][0][2] = true;
  467. charset[c][0][3] = false;
  468. charset[c][0][4] = true;
  469. charset[c][0][5] = true;
  470. charset[c][0][6] = false;
  471.  
  472. charset[c][1][0] = true;
  473. charset[c][1][1] = false;
  474. charset[c][1][2] = false;
  475. charset[c][1][3] = true;
  476. charset[c][1][4] = false;
  477. charset[c][1][5] = false;
  478. charset[c][1][6] = true;
  479.  
  480. charset[c][2][0] = true;
  481. charset[c][2][1] = false;
  482. charset[c][2][2] = false;
  483. charset[c][2][3] = true;
  484. charset[c][2][4] = false;
  485. charset[c][2][5] = false;
  486. charset[c][2][6] = true;
  487.  
  488. charset[c][3][0] = true;
  489. charset[c][3][1] = false;
  490. charset[c][3][2] = false;
  491. charset[c][3][3] = true;
  492. charset[c][3][4] = false;
  493. charset[c][3][5] = false;
  494. charset[c][3][6] = true;
  495.  
  496. charset[c][4][0] = false;
  497. charset[c][4][1] = true;
  498. charset[c][4][2] = true;
  499. charset[c][4][3] = false;
  500. charset[c][4][4] = true;
  501. charset[c][4][5] = true;
  502. charset[c][4][6] = false;
  503.  
  504. c=25;
  505. charset[c][0][0] = false;
  506. charset[c][0][1] = false;
  507. charset[c][0][2] = false;
  508. charset[c][0][3] = false;
  509. charset[c][0][4] = true;
  510. charset[c][0][5] = true;
  511. charset[c][0][6] = false;
  512.  
  513. charset[c][1][0] = true;
  514. charset[c][1][1] = false;
  515. charset[c][1][2] = false;
  516. charset[c][1][3] = true;
  517. charset[c][1][4] = false;
  518. charset[c][1][5] = false;
  519. charset[c][1][6] = true;
  520.  
  521. charset[c][2][0] = true;
  522. charset[c][2][1] = false;
  523. charset[c][2][2] = false;
  524. charset[c][2][3] = true;
  525. charset[c][2][4] = false;
  526. charset[c][2][5] = false;
  527. charset[c][2][6] = true;
  528.  
  529. charset[c][3][0] = false;
  530. charset[c][3][1] = true;
  531. charset[c][3][2] = false;
  532. charset[c][3][3] = true;
  533. charset[c][3][4] = false;
  534. charset[c][3][5] = false;
  535. charset[c][3][6] = true;
  536.  
  537. charset[c][4][0] = false;
  538. charset[c][4][1] = false;
  539. charset[c][4][2] = true;
  540. charset[c][4][3] = true;
  541. charset[c][4][4] = true;
  542. charset[c][4][5] = true;
  543. charset[c][4][6] = false;
  544.  
  545. c=33;
  546. //33;65;"A"
  547. charset[c][0][0] = true;
  548. charset[c][0][1] = true;
  549. charset[c][0][2] = true;
  550. charset[c][0][3] = true;
  551. charset[c][0][4] = true;
  552. charset[c][0][5] = true;
  553. charset[c][0][6] = true;
  554.  
  555. charset[c][1][0] = false;
  556. charset[c][1][1] = false;
  557. charset[c][1][2] = true;
  558. charset[c][1][3] = false;
  559. charset[c][1][4] = false;
  560. charset[c][1][5] = true;
  561. charset[c][1][6] = false;
  562.  
  563. charset[c][2][0] = false;
  564. charset[c][2][1] = false;
  565. charset[c][2][2] = true;
  566. charset[c][2][3] = false;
  567. charset[c][2][4] = false;
  568. charset[c][2][5] = false;
  569. charset[c][2][6] = true;
  570.  
  571. charset[c][3][0] = false;
  572. charset[c][3][1] = false;
  573. charset[c][3][2] = true;
  574. charset[c][3][3] = false;
  575. charset[c][3][4] = false;
  576. charset[c][3][5] = true;
  577. charset[c][3][6] = false;
  578.  
  579. charset[c][4][0] = true;
  580. charset[c][4][1] = true;
  581. charset[c][4][2] = true;
  582. charset[c][4][3] = true;
  583. charset[c][4][4] = true;
  584. charset[c][4][5] = true;
  585. charset[c][4][6] = true;
  586.  
  587. c=34;
  588. //34;66;"B"
  589. charset[c][0][0] = true;
  590. charset[c][0][1] = true;
  591. charset[c][0][2] = true;
  592. charset[c][0][3] = true;
  593. charset[c][0][4] = true;
  594. charset[c][0][5] = true;
  595. charset[c][0][6] = true;
  596.  
  597. charset[c][1][0] = true;
  598. charset[c][1][1] = false;
  599. charset[c][1][2] = false;
  600. charset[c][1][3] = true;
  601. charset[c][1][4] = false;
  602. charset[c][1][5] = false;
  603. charset[c][1][6] = true;
  604.  
  605. charset[c][2][0] = true;
  606. charset[c][2][1] = false;
  607. charset[c][2][2] = false;
  608. charset[c][2][3] = true;
  609. charset[c][2][4] = false;
  610. charset[c][2][5] = false;
  611. charset[c][2][6] = true;
  612.  
  613. charset[c][3][0] = true;
  614. charset[c][3][1] = false;
  615. charset[c][3][2] = false;
  616. charset[c][3][3] = true;
  617. charset[c][3][4] = false;
  618. charset[c][3][5] = false;
  619. charset[c][3][6] = true;
  620.  
  621. charset[c][4][0] = false;
  622. charset[c][4][1] = true;
  623. charset[c][4][2] = true;
  624. charset[c][4][3] = false;
  625. charset[c][4][4] = true;
  626. charset[c][4][5] = true;
  627. charset[c][4][6] = false;
  628.  
  629. //"H"
  630. c=40;
  631. charset[c][0][0] = true;
  632. charset[c][0][1] = true;
  633. charset[c][0][2] = true;
  634. charset[c][0][3] = true;
  635. charset[c][0][4] = true;
  636. charset[c][0][5] = true;
  637. charset[c][0][6] = true;
  638.  
  639. charset[c][1][0] = false;
  640. charset[c][1][1] = false;
  641. charset[c][1][2] = false;
  642. charset[c][1][3] = true;
  643. charset[c][1][4] = false;
  644. charset[c][1][5] = false;
  645. charset[c][1][6] = false;
  646.  
  647. charset[c][2][0] = false;
  648. charset[c][2][1] = false;
  649. charset[c][2][2] = false;
  650. charset[c][2][3] = true;
  651. charset[c][2][4] = false;
  652. charset[c][2][5] = false;
  653. charset[c][2][6] = false;
  654.  
  655. charset[c][3][0] = false;
  656. charset[c][3][1] = false;
  657. charset[c][3][2] = false;
  658. charset[c][3][3] = true;
  659. charset[c][3][4] = false;
  660. charset[c][3][5] = false;
  661. charset[c][3][6] = false;
  662.  
  663. charset[c][4][0] = true;
  664. charset[c][4][1] = true;
  665. charset[c][4][2] = true;
  666. charset[c][4][3] = true;
  667. charset[c][4][4] = true;
  668. charset[c][4][5] = true;
  669. charset[c][4][6] = true;
  670.  
  671. c=90;
  672. charset[c][0][0] = 1;
  673. charset[c][0][1] = 0;
  674. charset[c][0][2] = 0;
  675. charset[c][0][3] = 0;
  676. charset[c][0][4] = 1;
  677. charset[c][0][5] = 0;
  678. charset[c][0][6] = 0;
  679.  
  680. charset[c][1][0] = 1;
  681. charset[c][1][1] = 1;
  682. charset[c][1][2] = 0;
  683. charset[c][1][3] = 0;
  684. charset[c][1][4] = 1;
  685. charset[c][1][5] = 0;
  686. charset[c][1][6] = 0;
  687.  
  688. charset[c][2][0] = 1;
  689. charset[c][2][1] = 0;
  690. charset[c][2][2] = 1;
  691. charset[c][2][3] = 0;
  692. charset[c][2][4] = 1;
  693. charset[c][2][5] = 0;
  694. charset[c][2][6] = 0;
  695.  
  696. charset[c][3][0] = 1;
  697. charset[c][3][1] = 0;
  698. charset[c][3][2] = 0;
  699. charset[c][3][3] = 1;
  700. charset[c][3][4] = 1;
  701. charset[c][3][5] = 0;
  702. charset[c][3][6] = 0;
  703.  
  704. charset[c][4][0] = 1;
  705. charset[c][4][1] = 0;
  706. charset[c][4][2] = 0;
  707. charset[c][4][3] = 0;
  708. charset[c][4][4] = 1;
  709. charset[c][4][5] = 0;
  710. charset[c][4][6] = 0;
  711.  
  712.  
  713. }
  714. unsigned long curr = 0;
  715.    
  716. void setup() {
  717.   defchar();
  718.   pinMode(2,OUTPUT);
  719.   pinMode(3,OUTPUT);
  720.   pinMode(4,OUTPUT);
  721.   pinMode(5,OUTPUT);
  722.   pinMode(6,OUTPUT);
  723.   pinMode(7,OUTPUT);
  724.   pinMode(8,OUTPUT);
  725.   pinMode(9,INPUT);
  726.   Serial.begin(9600);              
  727.  
  728. }
  729.  
  730.  void alloff() {
  731.    digitalWrite(2,LOW);
  732.    digitalWrite(3,LOW);
  733.    digitalWrite(4,LOW);
  734.    digitalWrite(5,LOW);
  735.    digitalWrite(6,LOW);
  736.    digitalWrite(7,LOW);
  737.    digitalWrite(8,LOW);
  738.  }
  739.  
  740. void pr(int car, boolean reversed) {
  741.   for (int col = 0; col<5; col++) {
  742.     for (int riga = 0; riga<7; riga++) {
  743.       if ((!reversed && (charset[car][col][riga])) || (reversed && (charset[car][4-col][riga])) ){
  744.         if (!reversed) {
  745.         digitalWrite(riga+2,HIGH);
  746.         } else {
  747.         digitalWrite(8-riga,HIGH);
  748.         }
  749.       }
  750.     }
  751.     delayMicroseconds((float)curr*(1.0/3.0));
  752.     alloff();
  753.     delayMicroseconds((float)curr*(2.0/3.0));
  754.   }
  755.   alloff();  
  756. }
  757.  
  758. int l(int numero) {
  759.   int divisore = 1;
  760.   while (divisore < 10) {
  761.     if ((int)numero/(int)  pow(10,divisore) < 1) {
  762.       return divisore;
  763.     }
  764.   }
  765.   return 0;
  766. }
  767.  
  768. void signal() {
  769.   digitalWrite(2,HIGH);
  770.   digitalWrite(8,HIGH);
  771.   delay(1);
  772.   alloff();
  773. }
  774. double ca;
  775. int fr[4];
  776. unsigned long old=0;
  777. unsigned long olds;
  778. int len;
  779. void loop() {
  780.   fr[0] = ca/10;
  781.   fr[1] = (ca-fr[0]*10);
  782.   pr(fr[0]+16,false);pr(fr[1]+16,false);
  783.   curr = micros() - old;
  784.   old = micros();
  785.   ca = curr/1000000.0;
  786.   olds = curr;
  787.   ca = 1/ca;
  788.   curr = ((float)curr/360.0)*4.0;
  789.   pr(40,false);pr(90,false);
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.   if (olds < 200000) {
  797.   digitalWrite(8,HIGH);
  798.   digitalWrite(5,HIGH);
  799.   digitalWrite(2,HIGH);
  800.   len = millis()/1000;
  801.    
  802.    
  803.    if(len<10) {
  804.     while (micros()-old<olds/2-12.5);
  805.     pr(len+16,true);
  806.    
  807.    } else if (len<100) {
  808.      
  809.     fr[0] = len/10;
  810.     fr[1] = len-fr[0]*10;
  811.     while (micros()-old<olds/2-15);
  812.        pr(fr[1]+16,true); pr(fr[0]+16,true);
  813.    
  814.    } else if (len<1000) {
  815.     fr[0] = len/100;
  816.     fr[1] = (len-fr[0]*100)/10;
  817.     fr[2] = (len-fr[0]*100-fr[1]*10);
  818.     while (micros()-old<olds/2-17.5);
  819.            pr(fr[2]+16,true); pr(fr[1]+16,true);pr(fr[0]+16,true);
  820.    }
  821.  }
  822.    digitalWrite(8,HIGH);
  823.   digitalWrite(5,HIGH);
  824.   digitalWrite(2,HIGH);
  825.  
  826.   while(digitalRead(9));
  827.   while(!digitalRead(9));
  828.  
  829.    
  830. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement