Hirdetés
- ldave: New Game Blitz - 2025
- gban: Ingyen kellene, de tegnapra
- 8th: A NOB legalizálja a doppingot?
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Luck Dragon: Asszociációs játék. :)
- Lalikiraly: Kaáli Autó-Motor Múzeum
- btz: Internet fejlesztés országosan!
- Magga: PLEX: multimédia az egész lakásban
-
LOGOUT
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Imy
veterán
Beleraktam a programba, de jelen esetben is össze vissza ugrál. Ha csak az encoder van benne, a hőmérséklet mérés ls kiírás nem, akkor jó. Okés, hogy a sok serial print, de az interuptnak nem kellene azt kiküszöbölnie?
#include <Adafruit_MAX31865.h>// Use software SPI: CS, DI, DO, CLKAdafruit_MAX31865 thermo = Adafruit_MAX31865(5, 6, 7, 8);// use hardware SPI, just pass in the CS pin//Adafruit_MAX31865 thermo = Adafruit_MAX31865(10);// Rotary Encoder Module connectionsconst int PinSW=3; // Rotary Encoder Switchconst int PinDT=4; // DATA signalconst int PinCLK=2; // CLOCK signal// The value of the Rref resistor. Use 430.0 for PT100 and 4300.0 for PT1000#define RREF 430.0// The 'nominal' 0-degrees-C resistance of the sensor// 100.0 for PT100, 1000.0 for PT1000#define RNOMINAL 100.0//Resistance meterfloat Ra = 0.00385;float R0 = 20.9;float Rt;float T;///////ENCODER//////////////////////////// Variables to debounce Rotary Encoderlong TimeOfLastDebounce = 0;int DelayofDebounce = 0.01;// Store previous Pins stateint PreviousCLK;int PreviousDATA;int displaycounter=0; // Store current counter value/////////////////////////////// TEMPERATURE_SET///////////////////////////////////////////int Temp_set_pos;int Temp_set_last;int Temp_up;void setup() {Serial.begin(115200);Serial.println("Adafruit MAX31865 PT100 Sensor Test!");thermo.begin(MAX31865_2WIRE); // set to 2WIRE or 4WIRE as necessarypinMode(PinCLK,INPUT_PULLUP);pinMode(PinDT,INPUT_PULLUP);pinMode(PinSW,INPUT_PULLUP);// Put current pins state in variablesPreviousCLK=digitalRead(PinCLK);PreviousDATA=digitalRead(PinDT);// Set the Switch pin to use Arduino PULLUP resistorspinMode(PinSW, INPUT_PULLUP);}void loop() {///////////MAX31865////////////////////////////////////////////////////////////////////////////uint16_t rtd = thermo.readRTD();//Serial.print("RTD value: "); Serial.println(rtd);float ratio = rtd;ratio /= 32768;Rt = RREF * ratio;T = ((Rt - R0) / (R0 * Ra));//Serial.print("Ratio = "); Serial.println(ratio,8);Serial.print("Resistance = "); Serial.print(RREF * ratio, 2); Serial.println(" ohm");//Serial.print("Temperature = "); Serial.println(thermo.temperature(RNOMINAL, RREF));Serial.print("PakaTemp = "); Serial.print(T, 2); Serial.println(" C");// Check and print any faultsuint8_t fault = thermo.readFault();if (fault) {Serial.print("Fault 0x"); Serial.println(fault, HEX);if (fault & MAX31865_FAULT_HIGHTHRESH) {Serial.println("RTD High Threshold");}if (fault & MAX31865_FAULT_LOWTHRESH) {Serial.println("RTD Low Threshold");}if (fault & MAX31865_FAULT_REFINLOW) {Serial.println("REFIN- > 0.85 x Bias");}if (fault & MAX31865_FAULT_REFINHIGH) {Serial.println("REFIN- < 0.85 x Bias - FORCE- open");}if (fault & MAX31865_FAULT_RTDINLOW) {Serial.println("RTDIN- < 0.85 x Bias - FORCE- open");}if (fault & MAX31865_FAULT_OVUV) {Serial.println("Under/Over voltage");}thermo.clearFault();}Serial.println();//delay(500);// If enough time has passed check the rotary encoderif ((millis() - TimeOfLastDebounce) > DelayofDebounce) {check_rotary(); // Rotary Encoder check routine belowPreviousCLK=digitalRead(PinCLK);PreviousDATA=digitalRead(PinDT);TimeOfLastDebounce=millis(); // Set variable to current millis() timer}// Check if Rotary Encoder switch was pressedif (digitalRead(PinSW) == LOW) {displaycounter=0; // Reset counter to zeroSerial.print("Counter = "); Serial.println(displaycounter);}}// Check if Rotary Encoder was movedvoid check_rotary() {if ((PreviousCLK == 0) && (PreviousDATA == 1)) {if ((digitalRead(PinCLK) == 1) && (digitalRead(PinDT) == 0)) {displaycounter++;Serial.print("Counter = "); Serial.println(displaycounter);}if ((digitalRead(PinCLK) == 1) && (digitalRead(PinDT) == 1)) {displaycounter--;Serial.print("Counter = "); Serial.println(displaycounter);}}if ((PreviousCLK == 1) && (PreviousDATA == 0)) {if ((digitalRead(PinCLK) == 0) && (digitalRead(PinDT) == 1)) {displaycounter++;Serial.print("Counter = "); Serial.println(displaycounter);}if ((digitalRead(PinCLK) == 0) && (digitalRead(PinDT) == 0)) {displaycounter--;Serial.print("Counter = "); Serial.println(displaycounter);}}if ((PreviousCLK == 1) && (PreviousDATA == 1)) {if ((digitalRead(PinCLK) == 0) && (digitalRead(PinDT) == 1)) {displaycounter++;Serial.print("Counter = "); Serial.println(displaycounter);}if ((digitalRead(PinCLK) == 0) && (digitalRead(PinDT) == 0)) {displaycounter--;Serial.print("Counter = "); Serial.println(displaycounter);}}if ((PreviousCLK == 0) && (PreviousDATA == 0)) {if ((digitalRead(PinCLK) == 1) && (digitalRead(PinDT) == 0)) {displaycounter++;Serial.print("Counter = "); Serial.println(displaycounter);}if ((digitalRead(PinCLK) == 1) && (digitalRead(PinDT) == 1)) {displaycounter--;Serial.print("Counter = "); Serial.println(displaycounter);}}Serial.print("Counter = "); Serial.println(displaycounter);}
Új hozzászólás Aktív témák
- Vírusirtó topic
- Milyen autót vegyek?
- Amazfit Helio Strap – képernyőmentesen
- alza vélemények - tapasztalatok
- Vége a dalnak: leállt az iPhone Air gyártása
- Fejhallgató erősítő és DAC topik
- BestBuy topik
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Black Friday november 29. / Cyber Monday december 2.
- Futás, futópályák
- További aktív témák...
- i5 12500/ RTX3060 12GB/ 32GB DDR4 alapú konfig/ garancia/ ingyen foxpost
- -ÚJ,2 ÉV GAR- DDR5 GAMER PC: RYZEN 7 8700F/9700X/9800X3D +RX 6600/6700XT +16-64GB DDR5! SZÁMLA!
- L13 Yoga Gen4 13.3" FHD+ IPS érintő Ryzen 5 PRO 7530U 16GB 256GB NVMe ujjlolv IR kam gar
- Asus ROG Flow X13 GV301QC ALAPLAPHIBÁS laptop, javítandó vagy alkatrésznek
- Gigabyte G6X 9KG-43HU854SD (Bontatlan)
- ÚJ Xiaomi Mi Robot Vacuum Mop Essential robotporszívó feltörlő 2db 1999 Ft
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Gigabyte RTX 3070 Gaming OC 8GB GDDR6
- BESZÁMÍTÁS! Asus H370 i5 8700 16GB DDR4 512B SSD RX 6650 XT 8GB Zalman N5 OF ADATA 600W
- LG 55QNED86T3A / QNED / 55" - 139 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest
ekkold
