How to store a previous value

Something like this.

int oldTemp;
int newTemp;
. . .
. . .
Serial.println(abs(oldTemp - newTemp));

Appears you might want to spend time with learning:


Arduino links of interest.

How to use this forum:

Getting started:
https://www.arduino.cc/en/Guide

Listing of downloadable 'Arduino PDFs' :
Either Google >>>- - - - > arduino filetype: pdf
Or
https://www.google.ca/search?q=arduino+filetype%3A+pdf&rlz=1C9BKJA_enCA739CA739&oq=arduino+filetype%3A+pdf&aqs=chrome..69i57j69i65.1385j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8

Listing of downloadable 'C++ PDFs' :
Either Google >>>- - - - > C++ filetype: pdf
Or
https://www.google.ca/search?q=c%2B%2B+filetype%3A+pdf&rlz=1C9BKJA_enCA739CA739&oq=c%2B%2B+filetype%3A+pdf&aqs=chrome..69i57.22790j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8

Arduino cheat sheet:
https://dlnmh9ip6v2uc.cloudfront.net/learn/materials/8/Arduino_Cheat_Sheet.pdf

Watch these:
Arduino programming syntax:
https://m.youtube.com/watch?v=CbJHL_P5RJ8

Arduino arithmetic operators:
https://m.youtube.com/watch?v=UUx0_s-ElSs

Arduino control flow:
https://m.youtube.com/watch?v=QpPGGuaGbCA

Arduino data types:
https://m.youtube.com/watch?v=xmZXWMEltEc

Understanding Destructive LC Voltage Spikes:
https://www.pololu.com/docs/0J16/all
OR
https://www.pololu.com/docs/pdf/0J16/destructive_LC_voltage_spikes.pdf

Why decoupling capacitors:

Some things to read


LCD information:
https://learn.adafruit.com/character-lcds?view=all
OR
https://cdn-learn.adafruit.com/downloads/pdf/character-lcds.pdf?timestamp=1573085286

Reading a schematic:
https://learn.sparkfun.com/tutorials/how-to-read-a-schematic

Language Reference:
https://www.arduino.cc/en/Reference/HomePage

Foundations:
https://www.arduino.cc/en/Tutorial/Foundations

How and Why to avoid delay():
http://playground.arduino.cc/Code/AvoidDelay

Demonstration code for several things at the same time.
http://forum.arduino.cc/index.php?topic=223286.0

How to power a project:
https://learn.sparkfun.com/tutorials/how-to-power-a-project/all

Ladyada's Learn Arduino - Lesson #0:

Multitasking:
Part 1:
https://learn.adafruit.com/multi-tasking-the-arduino-part-1?view=all

Part 2:
https://learn.adafruit.com/multi-tasking-the-arduino-part-2?view=all

Part 3:
https://learn.adafruit.com/multi-tasking-the-arduino-part-3?view=all

Sparkfun Tutorials:
https://learn.sparkfun.com/tutorials?page=all

Micro Controllers:
https://learn.adafruit.com/mcus-how-do-they-work?view=all

Useful links:
https://forum.arduino.cc/index.php?topic=384198.0

Arduino programming traps, tips and style guide:
http://www.gammon.com.au/forum/?id=12153

Arduino programming course:
https://startingelectronics.org/software/arduino/learn-to-program-course/

Jeremy Blume:
https://m.youtube.com/playlist?list=PLA567CE235D39FA84

Arduino products:
https://www.arduino.cc/en/Main/Products

Motors/MOSFETs
http://www.gammon.com.au/motors

Making a library
https://www.arduino.cc/en/Hacking/libraryTutorial

Switches:
http://www.gammon.com.au/forum/?id=11955

https://www.amazon.ca/Arduino-Cookbook-Recipes-Enhance-Projects/dp/1449313876/ref=sr_1_1?ie=UTF8&qid=1522801721&sr=8-1&keywords=arduino+cookbook

Soldering FYI
https://m.youtube.com/watch?v=eBIjsZ1dcT0

https://m.youtube.com/watch?v=6PB0u8irn-4

https://m.youtube.com/watch?v=5uiroWBkdFY

https://m.youtube.com/watch?v=lpgMY1JeOAA

https://m.youtube.com/watch?v=_6tpQE7ptqo

https://m.youtube.com/watch?v=L_DIpklxXcI

https://m.youtube.com/watch?v=b15MMzb_GWw

Tips and Traps
http://www.gammon.com.au/forum/?id=12153

Share tips you have come across, 900+ posts:
https://forum.arduino.cc/index.php?topic=445951.0

Debug discussion:
https://forum.arduino.cc/index.php?topic=215334.msg1575801#msg1575801

Frequently Asked Questions:
https://www.arduino.cc/en/main/FAQ#toc10

SMD soldering:
SMD soldering

How to make and post a schematic:

How to make a schematic.

Number 'type's.

  • boolean (8 bit) - simple logical true/false, Arduino does not use single bits for bool
  • byte (8 bit) - unsigned number from 0 to 255
  • char (8 bit) - signed number from -128 to 127. The compiler will attempt to interpret this data type as a character in some circumstances, which may yield unexpected results
  • unsigned char (8 bit) - same as 'byte'; if this is what you're after, you should use 'byte' instead, for reasons of clarity
  • word (16 bit) - unsigned number from 0 to 65535
  • unsigned int (16 bit)- the same as 'word'. Use 'word' instead for clarity and brevity
  • int (16 bit) - signed number from -32768 to 32767. This is most commonly what you see used for general purpose variables in Arduino example code provided with the IDE
  • unsigned long (32 bit) - unsigned number from 0 to 4,294,967,295. The most common usage of this is to store the result of the millis() function, which returns the number of milliseconds the current code has been running
  • long (32 bit) - signed number from -2,147,483,648 to 2,147,483,647
    float (32 bit) - signed number from -3.4028235E38 to 3.4028235E38. Floating point on the Arduino is not native; the compiler has to jump through hoops to make it work. If you can avoid it, you should. We'll touch on this later. Sparkfun.

You select the 'type' best suited for your variables.

ex:

  • your variable does not change and it defines a pin on the Arduino. const byte limitSwitchPin = 34;
  • since an analog variable can be 0 to 1023, a byte will not do, you can select 'int'. int temperature;
  • if your variable needs to be within -64 to +64 a 'char' will do nicely. char joystick;
  • if your variable is used for ASCII then you need type 'char', char myText[ ] = {"Raspberry Pie Smells"};
  • if your variable enables some code then boolean can be used. boolean enableFlag = false;
  • millis() returns the time in ms since rebooting, unsigned long currentTime = millis();
    etc.

Oh, and have fun too :slight_smile: !

Arduino links of interest.

How to use this forum:

Getting started:
https://www.arduino.cc/en/Guide

Listing of downloadable 'Arduino PDFs' :
Either Google >>>- - - - > arduino filetype: pdf
Or
https://www.google.ca/search?q=arduino+filetype%3A+pdf&rlz=1C9BKJA_enCA739CA739&oq=arduino+filetype%3A+pdf&aqs=chrome..69i57j69i65.1385j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8

Listing of downloadable 'C++ PDFs' :
Either Google >>>- - - - > C++ filetype: pdf
Or
https://www.google.ca/search?q=c%2B%2B+filetype%3A+pdf&rlz=1C9BKJA_enCA739CA739&oq=c%2B%2B+filetype%3A+pdf&aqs=chrome..69i57.22790j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8

Arduino cheat sheet:
https://dlnmh9ip6v2uc.cloudfront.net/learn/materials/8/Arduino_Cheat_Sheet.pdf

Watch these:
Arduino programming syntax:
https://m.youtube.com/watch?v=CbJHL_P5RJ8

Arduino arithmetic operators:
https://m.youtube.com/watch?v=UUx0_s-ElSs

Arduino control flow:
https://m.youtube.com/watch?v=QpPGGuaGbCA

Arduino data types:
https://m.youtube.com/watch?v=xmZXWMEltEc

Understanding Destructive LC Voltage Spikes:
https://www.pololu.com/docs/0J16/all
OR
https://www.pololu.com/docs/pdf/0J16/destructive_LC_voltage_spikes.pdf

Why decoupling capacitors:

Some things to read


LCD information:
https://learn.adafruit.com/character-lcds?view=all
OR
https://cdn-learn.adafruit.com/downloads/pdf/character-lcds.pdf?timestamp=1573085286

Reading a schematic:
https://learn.sparkfun.com/tutorials/how-to-read-a-schematic

Language Reference:
https://www.arduino.cc/en/Reference/HomePage

Foundations:
https://www.arduino.cc/en/Tutorial/Foundations

How and Why to avoid delay():
http://playground.arduino.cc/Code/AvoidDelay

Demonstration code for several things at the same time.
http://forum.arduino.cc/index.php?topic=223286.0

How to power a project:
https://learn.sparkfun.com/tutorials/how-to-power-a-project/all

Ladyada's Learn Arduino - Lesson #0:

Multitasking:
Part 1:
https://learn.adafruit.com/multi-tasking-the-arduino-part-1?view=all

Part 2:
https://learn.adafruit.com/multi-tasking-the-arduino-part-2?view=all

Part 3:
https://learn.adafruit.com/multi-tasking-the-arduino-part-3?view=all

Sparkfun Tutorials:
https://learn.sparkfun.com/tutorials?page=all

Micro Controllers:
https://learn.adafruit.com/mcus-how-do-they-work?view=all

Useful links:
https://forum.arduino.cc/index.php?topic=384198.0

Arduino programming traps, tips and style guide:
http://www.gammon.com.au/forum/?id=12153

Arduino programming course:
https://startingelectronics.org/software/arduino/learn-to-program-course/

Jeremy Blume:
https://m.youtube.com/playlist?list=PLA567CE235D39FA84

Arduino products:
https://www.arduino.cc/en/Main/Products

Motors/MOSFETs
http://www.gammon.com.au/motors

Making a library
https://www.arduino.cc/en/Hacking/libraryTutorial

Switches:
http://www.gammon.com.au/forum/?id=11955

https://www.amazon.ca/Arduino-Cookbook-Recipes-Enhance-Projects/dp/1449313876/ref=sr_1_1?ie=UTF8&qid=1522801721&sr=8-1&keywords=arduino+cookbook

Soldering FYI
https://m.youtube.com/watch?v=eBIjsZ1dcT0

https://m.youtube.com/watch?v=6PB0u8irn-4

https://m.youtube.com/watch?v=5uiroWBkdFY

https://m.youtube.com/watch?v=lpgMY1JeOAA

https://m.youtube.com/watch?v=_6tpQE7ptqo

https://m.youtube.com/watch?v=L_DIpklxXcI

https://m.youtube.com/watch?v=b15MMzb_GWw

Tips and Traps
http://www.gammon.com.au/forum/?id=12153

Share tips you have come across, 900+ posts:
https://forum.arduino.cc/index.php?topic=445951.0

Debug discussion:
https://forum.arduino.cc/index.php?topic=215334.msg1575801#msg1575801

Frequently Asked Questions:
https://www.arduino.cc/en/main/FAQ#toc10

SMD soldering:
SMD soldering

How to make and post a schematic:

How to make a schematic.

Number 'type's.

  • boolean (8 bit) - simple logical true/false, Arduino does not use single bits for bool
  • byte (8 bit) - unsigned number from 0 to 255
  • char (8 bit) - signed number from -128 to 127. The compiler will attempt to interpret this data type as a character in some circumstances, which may yield unexpected results
  • unsigned char (8 bit) - same as 'byte'; if this is what you're after, you should use 'byte' instead, for reasons of clarity
  • word (16 bit) - unsigned number from 0 to 65535
  • unsigned int (16 bit)- the same as 'word'. Use 'word' instead for clarity and brevity
  • int (16 bit) - signed number from -32768 to 32767. This is most commonly what you see used for general purpose variables in Arduino example code provided with the IDE
  • unsigned long (32 bit) - unsigned number from 0 to 4,294,967,295. The most common usage of this is to store the result of the millis() function, which returns the number of milliseconds the current code has been running
  • long (32 bit) - signed number from -2,147,483,648 to 2,147,483,647
    float (32 bit) - signed number from -3.4028235E38 to 3.4028235E38. Floating point on the Arduino is not native; the compiler has to jump through hoops to make it work. If you can avoid it, you should. We'll touch on this later. Sparkfun.

You select the 'type' best suited for your variables.

ex:

  • your variable does not change and it defines a pin on the Arduino. const byte limitSwitchPin = 34;
  • since an analog variable can be 0 to 1023, a byte will not do, you can select 'int'. int temperature;
  • if your variable needs to be within -64 to +64 a 'char' will do nicely. char joystick;
  • if your variable is used for ASCII then you need type 'char', char myText[ ] = {"Raspberry Pie Smells"};
  • if your variable enables some code then boolean can be used. boolean enableFlag = false;
  • millis() returns the time in ms since rebooting, unsigned long currentTime = millis();
    etc.

Oh, and have fun too :slight_smile: !