Advertisement
Guest User

C - Test teensy - teensyduino

a guest
Jun 17th, 2012
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.83 KB | None | 0 0
  1. short unsigned pin = 10;
  2. float curr = 0;
  3.  
  4. void stat() {
  5.   Serial.print("Set pin ");
  6.   Serial.print(pin);
  7.   Serial.print(" to ");
  8.   Serial.print(5.0/255*curr);
  9.   Serial.print(" Volt (");
  10.   Serial.print(curr);
  11.   Serial.println(")");
  12. }
  13.  
  14. void setup() {
  15.   Serial.begin(9600);
  16.   pinMode(pin, OUTPUT);
  17.  
  18.   Serial.println("Welcome on SV's Teensy 2.0\n-------------------------\nh=turn on the pin\nl=turn off the pin\nf=fade\nnXX=change the pin to XX\npXXX=turn on the pin with the XXX power\nt=sleep for 100 milliseconds\nT=sleep for 1 second\n|text|=prints 'text'\n-------------------------\nSet pin 10\n");
  19. }
  20.  
  21. boolean pipe = false;
  22. boolean led = 0;
  23. short p = -2;
  24. short n = -2;
  25. int vals[3];
  26. int vals_n[2];
  27.  
  28. long previousMillis;
  29. int ledState;
  30. int interval=500;
  31.  
  32. void loop() {
  33.   unsigned long currentMillis = millis();
  34.   if(currentMillis - previousMillis > interval) {
  35.     previousMillis = currentMillis;  
  36.     if (ledState == LOW)
  37.       ledState = HIGH;
  38.     else
  39.       ledState = LOW;
  40.     digitalWrite(11, ledState);
  41.   }
  42.   if(Serial.available()) {
  43.     char c = Serial.read();
  44.     if(c=='|') {
  45.       pipe=!pipe;
  46.     } else if(c=='h' && !pipe) {
  47.       digitalWrite(pin, HIGH);
  48.       curr = 255;
  49.       stat();
  50.     } else if(c=='l' && !pipe) {
  51.       digitalWrite(pin, LOW);
  52.       curr = 0;
  53.       stat();
  54.     } else if(c=='f' && !pipe) {
  55.       int i;
  56.       for(i=0; i<=255; i++) {
  57.         analogWrite(pin, i);
  58.         delay(10);
  59.       }
  60.       for(i=255; i>=0; i--) {
  61.         analogWrite(pin, i);
  62.         delay(10);
  63.       }
  64.     } else if(c=='+') {
  65.       curr+=5;
  66.       stat();
  67.       analogWrite(pin, curr);
  68.     } else if(c=='-') {
  69.       curr-=5;
  70.       stat();
  71.       analogWrite(pin, curr);
  72.     } else if(p>=0 && !pipe) {
  73.       if(c<'0' || c>'9') {Serial.println("Sintassi errata");  p=-2;}
  74.       vals[p]=c;
  75.       p--;
  76.       if (p==-1) {
  77.         int val = (vals[0]-'0') + (vals[1]-'0')*10 + (vals[2]-'0')*100;
  78.         if(val>255) {val=255;}
  79.         curr=val;
  80.         analogWrite(pin, val);
  81.         stat();
  82.         p = -2;
  83.       }
  84.     } else if(c=='p' && !pipe) {
  85.       p = 2;
  86.     } else if(n>=0 && !pipe) {
  87.       if(c<'0' || c>'9') {Serial.println("Sintassi errata");  n=-2;}
  88.       vals_n[n]=c;
  89.       n--;
  90.       if (n==-1) {
  91.         int val_n = (vals_n[0]-'0') + (vals_n[1]-'0')*10;
  92.         Serial.print("Changed pin from ");
  93.         Serial.print(pin);
  94.         Serial.print(" to ");
  95.         Serial.println(val_n);
  96.         pin = val_n;
  97.         n = -2;
  98.       }
  99.     } else if(c=='n' && !pipe) {
  100.       n = 1;
  101.     } else if(c=='t' && !pipe) {
  102.       Serial.print("Waiting 100 ms...");
  103.       delay(100);
  104.       Serial.println("OK");
  105.     } else if(c=='T' && !pipe) {
  106.       Serial.print("Waiting 1 s...");
  107.       delay(1000);
  108.       Serial.println("OK");
  109.     } else if(pipe) {
  110.       Serial.print(c);
  111.     }
  112.   }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement