Advertisement
Guest User

ArduinoBlink8

a guest
Mar 19th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #include <Firmata.h>
  2. #include <FirmataDefines.h>
  3. #include <FirmataConstants.h>
  4. #include <Boards.h>
  5. #include <FirmataParser.h>
  6. #include <FirmataMarshaller.h>
  7.  
  8. /*
  9. Blink modded
  10. */
  11.  
  12. const byte btnUpload = 2;
  13. const byte outReset = 3;
  14. const int maxLED = 8;
  15.  
  16. int count = 0;
  17.  
  18. //void(* resetFunc) (void) = 0;
  19.  
  20. void resetBoard () {
  21. digitalWrite(outReset, LOW);
  22. }
  23. void serialEvent() {
  24. int uploadVal = digitalRead(btnUpload);
  25. if(uploadVal == LOW) {
  26. delay(3600);
  27. resetBoard();
  28. }
  29. /*
  30. if (Serial.available()) {
  31. char inChar = (char)Serial.read();
  32. if (inChar == '0') {
  33. resetBoard();
  34. }
  35. }
  36. */
  37. }
  38. // the setup function runs once when you press reset or power the board
  39. void setup() {
  40. // initialize digital pin LED_BUILTIN as an output.
  41. int i;
  42.  
  43. for(i=0; i < maxLED; i++) {
  44. pinMode(LED_BUILTIN-i, OUTPUT);
  45. }
  46. pinMode(btnUpload, INPUT_PULLUP);
  47. pinMode(outReset, INPUT_PULLUP);
  48. pinMode(outReset, OUTPUT);
  49.  
  50. //attachuploadBtn(digitalPinTouploadBtn(btnUpload), resetBoard, LOW);
  51. Serial.begin(115200);
  52. }
  53. void displayLED (int bit, int val) {
  54. int pin = LED_BUILTIN - bit;
  55. --------------------------------------- digitalWrite(pin, val);
  56. }
  57. void displayOFF() {
  58. int i;
  59. for(i=0; i < maxLED; i++) {
  60. displayLED(i, LOW);
  61. }
  62. }
  63. void displayNum(int num) {
  64. int i;
  65. int bitval = 1;
  66. displayOFF();
  67. for (i = 0; i < maxLED; i++) {
  68. if (bitval & num) displayLED(i, HIGH);
  69. bitval = bitval * 2;
  70. }
  71. }
  72. void countLoop() {
  73.  
  74. displayNum(count);
  75. delay(200);
  76. count = count + 1;
  77. if (count > 255) {
  78. count = 0;
  79. }
  80. }
  81.  
  82. void sequenceLoop() {
  83. displayNum(count);
  84. delay(20);
  85. switch(count) {
  86. case 0:
  87. count = 1;
  88. break;
  89. case 255:
  90. count = 0;
  91. break;
  92. default:
  93. count = count * 2;
  94. break;
  95. }
  96. if( count > 255) {
  97. count = 0;
  98. }
  99.  
  100. }
  101.  
  102. void loop () {
  103. countLoop();
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement