I don't think the cooling and stop/start problem is anywhere near as bad as you think as long as you've either got something better than the PTC thermistor starter or have a time delay relay in series with it set for a few seconds delay so it can cool back down while the motor is running. With an unloader valve + noise suppressor on its exhaust so you don't make all the neighbourhood dogs howl with your inadvertent ultrasonic whistle, + another timer relay controlling main power to the motor set to allow the motor to run on about five minutes after the unloader opens, at most demand levels it wont short cycle, and if it does, the PTC and the start winding are already pretty cool as it was over five minutes since they were last used, and the motor and compressor head are fairly cool as they've been pumping ambient temperature air through at no pressure differential for the last five minutes.
It would be a good idea to stick a manual reset KLIXON or similar high temperature thermal cutout to the compressor housing and put it in series with incoming power. Adding a muffin fan to cool the compressor is probably only nessercery if you are going to run the compressor flat out for extended periods. If you do add one, the easiest option would be a mains one controlled by a strap-on tank thermostat on the compressor housing, so you can tweak it not to run when demand is light.
----------------------------------
As for Arduino, get a UNO, a pair of good sized breadboards (or one large multi-panel one) and either a pack of jumper wires with Dupont pin ends, or a 40 pin turned pin wirewrap socket you can cut up to make adapters for the Arduino female headers as their contacts are a touch too wide to grip 24AWG solid wire properly, stick or bold down the Uno to a base right next to the breadboard and dive right in, with the help of one of the many Arduino tutorials and the Arduino official forum, reading switches and sensors, flashing LEDs, mutiplexing 7 segment displays, and controlling low voltage relays etc. Getting started is as simple as downloading the Arduino IDE (which includes the compiler etc.), installing it, plugging a USB cable between your Arduino Uno and your PC for power and data, making sure the Uno is selected as the board type you are using, opening Examples: 01.Basics: Blink and clicking the Upload button (right facing arrow on round button) to build the example code and send it to the board to start its LED blinking under control of this program:
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
If you find that figuring out what's going on with an Arduino program is tough, learning to write C programs
*, to run on your PC, from a book that isn't excessively PC/Windows centric can help, as just about any development environment on a PC offers much much better debugging than an Arduino does, with the ability to step though programs line by line and peek at and even modify the contents of your program's variables. If you tell the development environment to create a new console application project (i.e you aren't trying to write any GUI stuff, just a program that does pure text input and output in a system command line (console) window), the learning curve is pretty shallow and a 'getting started' program can be as simple as:
/* Hello World program */
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("Hello World!\n");
return 0;
}
which just displays the text
Hello World! in the console. C on your PC wont have any Arduino specific stuff (like the commands that actually do stuff with pins of the Arduino board, or any of the Arduino libraies for talking to common stuff you might want to control) but the basics of executing statements sequentially,making decisions, looping, doing maths and handling text as sequences of ASCII characters are the same.
N.B. typically one doesn't use printf() to display text on an Arduino, as it has a family of simplified print() and println() functions for that purpose Arduino print() and println() are like table knives - they each do one thing. printf() is more of a swiss army knife, with a lot of blades that can do many things, but figuring out which one to use and how to get it open without cutting yourself can be more challenging! * The Arduino language is C++ 'under the hood' using the AVR build of the GNU GCC compiler with a thin wrapper that supposedly simplifies it for novices, but as C++ is very close to being a superset ANSI C, ANSI C is much simpler to learn and the C subset of C++ is enough to handle anything a novice is likely to want to do in the main file of an Arduino sketch.