Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.88 KB | None | 0 0
  1. int sensorValue = 0;
  2.  
  3. int outputValue = 0;
  4. int rightOutput = 0;
  5.  
  6. void setup()
  7. {
  8. pinMode(A0, INPUT);
  9. // right segment
  10. pinMode(2, OUTPUT); // LSB
  11. pinMode(3, OUTPUT);
  12. pinMode(4, OUTPUT);
  13. pinMode(5, OUTPUT); // MSB
  14. // left segment
  15. pinMode(6, OUTPUT);
  16. pinMode(7, OUTPUT);
  17. pinMode(8, OUTPUT);
  18. pinMode(9, OUTPUT);
  19. Serial.begin(9600);
  20.  
  21. }
  22.  
  23. void loop()
  24. {
  25. // read the analog in value:
  26. sensorValue = analogRead(A0);
  27. // map it to the range of the analog out:
  28. outputValue = map(sensorValue, 0, 1023, 0, 99);
  29.  
  30. // right display
  31. rightOutput = outputValue%10;
  32. switch (rightOutput){
  33. case 1:
  34. digitalWrite(6, HIGH);
  35. digitalWrite(7, LOW);
  36. digitalWrite(8, LOW);
  37. digitalWrite(9, LOW);
  38. break;
  39. case 2:
  40. digitalWrite(6, LOW);
  41. digitalWrite(7, HIGH);
  42. digitalWrite(8, LOW);
  43. digitalWrite(9, LOW);
  44. break;
  45. case 3:
  46. digitalWrite(6, HIGH);
  47. digitalWrite(7, HIGH);
  48. digitalWrite(8, LOW);
  49. digitalWrite(9, LOW);
  50. break;
  51. case 4:
  52. digitalWrite(6, LOW);
  53. digitalWrite(7, LOW);
  54. digitalWrite(8, HIGH);
  55. digitalWrite(9, LOW);
  56. break;
  57. case 5:
  58. digitalWrite(6, HIGH);
  59. digitalWrite(7, LOW);
  60. digitalWrite(8, HIGH);
  61. digitalWrite(9, LOW);
  62. break;
  63. case 6:
  64. digitalWrite(6, LOW);
  65. digitalWrite(7, HIGH);
  66. digitalWrite(8, HIGH);
  67. digitalWrite(9, LOW);
  68. break;
  69. case 7:
  70. digitalWrite(6, HIGH);
  71. digitalWrite(7, HIGH);
  72. digitalWrite(8, HIGH);
  73. digitalWrite(9, LOW);
  74. break;
  75. case 8:
  76. digitalWrite(6, LOW);
  77. digitalWrite(7, LOW);
  78. digitalWrite(8, LOW);
  79. digitalWrite(9, HIGH);
  80. break;
  81. case 9:
  82. digitalWrite(6, HIGH);
  83. digitalWrite(7, LOW);
  84. digitalWrite(8, LOW);
  85. digitalWrite(9, HIGH);
  86. break;
  87. default:
  88. digitalWrite(6, LOW);
  89. digitalWrite(7, LOW);
  90. digitalWrite(8, LOW);
  91. digitalWrite(9, LOW);
  92. break;
  93. }
  94.  
  95. // left display
  96. if (outputValue >= 0 && outputValue <= 9){
  97. digitalWrite(2, LOW);
  98. digitalWrite(3, LOW);
  99. digitalWrite(4, LOW);
  100. digitalWrite(5, LOW);
  101. }
  102. if (outputValue >= 10 && outputValue <= 19){
  103. digitalWrite(2, HIGH);
  104. digitalWrite(3, LOW);
  105. digitalWrite(4, LOW);
  106. digitalWrite(5, LOW);
  107. }
  108. if (outputValue >= 20 && outputValue <= 29){
  109. digitalWrite(2, LOW);
  110. digitalWrite(3, HIGH);
  111. digitalWrite(4, LOW);
  112. digitalWrite(5, LOW);
  113. }
  114.  
  115. if (outputValue >= 30 && outputValue <= 39){
  116. digitalWrite(2, HIGH);
  117. digitalWrite(3, HIGH);
  118. digitalWrite(4, LOW);
  119. digitalWrite(5, LOW);
  120. }
  121. if (outputValue >= 40 && outputValue <= 49){
  122. digitalWrite(2, LOW);
  123. digitalWrite(3, LOW);
  124. digitalWrite(4, HIGH);
  125. digitalWrite(5, LOW);
  126. }
  127. if (outputValue >= 50 && outputValue <= 59){
  128. digitalWrite(2, HIGH);
  129. digitalWrite(3, LOW);
  130. digitalWrite(4, HIGH);
  131. digitalWrite(5, LOW);
  132. }
  133. if (outputValue >= 60 && outputValue <= 69){
  134. digitalWrite(2, LOW);
  135. digitalWrite(3, HIGH);
  136. digitalWrite(4, HIGH);
  137. digitalWrite(5, LOW);
  138. }
  139. if (outputValue >= 70 && outputValue <= 89){
  140. digitalWrite(2, HIGH);
  141. digitalWrite(3, HIGH);
  142. digitalWrite(4, HIGH);
  143. digitalWrite(5, LOW);
  144. }
  145. if (outputValue >= 80 && outputValue <= 89){
  146. digitalWrite(2, LOW);
  147. digitalWrite(3, LOW);
  148. digitalWrite(4, LOW);
  149. digitalWrite(5, HIGH);
  150. }
  151. if (outputValue >= 90 && outputValue <= 99){
  152. digitalWrite(2, HIGH);
  153. digitalWrite(3, LOW);
  154. digitalWrite(4, LOW);
  155. digitalWrite(5, HIGH);
  156. }
  157.  
  158.  
  159.  
  160. // print the results to the serial monitor:
  161. Serial.print("sensor = ");
  162. Serial.print(sensorValue);
  163. Serial.print("\t output = ");
  164. Serial.println(outputValue);
  165. // wait 2 milliseconds before the next loop for the
  166. // analog-to-digital converter to settle after the
  167. // last reading:
  168. delay(2); // Wait for 2 millisecond(s)
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement