Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "SPI.h" // necessary library
- int ss=10; // using digital pin 10 for SPI slave select
- int del=10; // used for various delays
- int button = 1;
- float input_voltage = 0.0;
- float temp=0.0;
- float r1=90900.0;
- float r2=10000.0;
- int timer;
- int limit;
- int value;
- void setup()
- {
- Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
- pinMode(ss, OUTPUT); // we use this for SS pin
- SPI.begin(); // wake up the SPI bus.
- SPI.setBitOrder(MSBFIRST);
- // our MCP4162 requires data to be sent MSB (most significant byte) first
- pinMode(button, INPUT);
- pinMode(A0, INPUT);
- digitalWrite(A0, LOW);
- timer = 0;
- }
- void setValue(int value)
- {
- digitalWrite(ss, LOW);
- SPI.transfer(0); // send command byte
- SPI.transfer(value); // send value (0~255)
- digitalWrite(ss, HIGH);
- }
- void loop()
- {
- //Conversion formula
- int analog_value = analogRead(A0);
- temp = (analog_value * 5.0) / 1024.0;
- input_voltage = temp / (r2/(r1+r2)) * 10;
- if (input_voltage < 0.1)
- {
- input_voltage=0.0;
- }
- Serial.print("vt= ");
- Serial.println(input_voltage);
- /*
- Serial.print("t= ");
- Serial.println(timer);
- Serial.print("l= ");
- Serial.println(limit);
- Serial.print("va= ");
- Serial.println(value);*/
- timer += 1;
- delay(500);
- limit = 1250/(2*timer);
- if(input_voltage < 300){
- //timer = 0;
- //setValue(limit);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement