Advertisement
APersonH

SpeederControl

Aug 30th, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.43 KB | None | 0 0
  1. #include "SPI.h" // necessary library
  2. int ss=10; // using digital pin 10 for SPI slave select
  3. int del=10; // used for various delays
  4. int button = 1;
  5. float input_voltage = 0.0;
  6. float temp=0.0;
  7. float r1=90900.0;
  8. float r2=10000.0;
  9. int timer;
  10. int limit;
  11. int value;
  12.  
  13. void setup()
  14. {
  15.   Serial.begin(9600);     //  opens serial port, sets data rate to 9600 bps
  16.   pinMode(ss, OUTPUT); // we use this for SS pin
  17.   SPI.begin(); // wake up the SPI bus.
  18.   SPI.setBitOrder(MSBFIRST);
  19.   // our MCP4162 requires data to be sent MSB (most significant byte) first
  20.   pinMode(button, INPUT);
  21.   pinMode(A0, INPUT);
  22.   digitalWrite(A0, LOW);
  23.   timer = 0;
  24. }
  25.  
  26. void setValue(int value)
  27. {
  28.   digitalWrite(ss, LOW);
  29.   SPI.transfer(0); // send command byte
  30.   SPI.transfer(value); // send value (0~255)
  31.   digitalWrite(ss, HIGH);
  32. }
  33.  
  34. void loop()
  35. {
  36.    
  37. //Conversion formula
  38.  
  39.    int analog_value = analogRead(A0);
  40.     temp = (analog_value * 5.0) / 1024.0;
  41.    input_voltage = temp / (r2/(r1+r2)) * 10;
  42.    
  43.    if (input_voltage < 0.1)
  44.    {
  45.      input_voltage=0.0;
  46.    }
  47.     Serial.print("vt= ");
  48.     Serial.println(input_voltage);
  49.     /*
  50.     Serial.print("t= ");
  51.     Serial.println(timer);
  52.     Serial.print("l= ");
  53.     Serial.println(limit);
  54.     Serial.print("va= ");
  55.     Serial.println(value);*/
  56.  
  57.    timer += 1;
  58.    delay(500);
  59.    limit = 1250/(2*timer);
  60.  
  61.   if(input_voltage < 300){
  62.     //timer = 0;
  63.     //setValue(limit);
  64.     }
  65.  
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement