Before "project guidance" needed

I am reasonably familiar with electronics and have built quite a few different things. I have never done any programming in any fashion.

Before I get head first into an Arduino UNO (gift from my grandson who thinks I am old fashioned) I have a couple questions on what they will or won't do.

One simple one is I have an IR detector that signals two 555 timers (one signal about 1 second in duration) and the individual 555's do different timing tasks. On is 5 seconds and the other is 90 seconds (monostable one shot). Will an Arduino do this also?

Another is two separate signals with an end of line resistor (for supervisory) that close in "alarm" and fire two mosfets - one each of N channel and P channel. Will an Arduino be capable of sensing a break in the line (loss of end of line resistor 2200 ohms) and be able to give both a "problem" signal and an "alarm" signal. I need it to do both.

NO, I do not want you to write any code for me - I just want to know if it will do this before I spend the time learning something totally new to me.

Thanks in advance for any advice or direction.

Welcome in the computer world :-)

Even if a microcontroller can react on inputs immediately (interrupts), in most applications it will check its inputs and timer over and over again, many thousand times per second, until something happens or a specific time is reached.

For timed operations you store a starting time, when e.g. the monoflop is triggered, then compare that time repeatedly against the current time, and do something when the given time span elapsed. For a retrigger you replace the old start time by the current time, and continue.

Monitoring input signals works the same. Remember the old input state, and compare it to the current state repeatedly, until you find a state change.

You don't have to care about the repetition management. The loop() function is called over and over again, you put into it all tests, as required by your application, and they will execute with every invocation.

Once you understand the Button, Debounce and StateChangeDetection examples, you are awarded your first computer degree :-)

I'm not sure what you mean with your line/resistor part. Assuming that you want to detect both a short and open end, you'll have to build a voltage divider, so that some current flows through the terminating resistor all the time. Then use an analog input to measure the divider voltage, which will become zero on a short, max (Vcc) on a break, and else something in between both.

Thanks for the welcome and the reply. This thing has analog inputs so I just need to get a book and read up - for about a year. ; )

It also looks like I need to buy a starter kit.

Thanks again. .

The Arduino IDE comes with several examples. File > Examples > Basic > Blink shows you how to blink the onboard LED. No parts needed. Leo..

I would suggest getting a copy of "Beginning C for Arduino, Second Edition" - it is quite a complete book and starts with very simple concepts explaining the C language (which is what you usually are programming in for the Arduino) constructs, decision making and good info on how to use the IDE (Integrated Development Environment that you download for free) as well as how to interface to the outside world etc. There are many other good books out there, but that one does a pretty good job of giving you an overview of setting things up and how to work with the various flavors of Arduino out there. One source for the book is Amazon: https://www.amazon.com/Beginning-Arduino-Second-Learn-Programming/dp/1484209419/

Take time to learn the basics of C first. It will make writing Arduino code a lot easier.

Open a browser along with the IDE and open a tab for every web page you will need to refer to. Here are some, the Reference home page is a good one to start with.

Skim Foundations enough to know what's there, go back as needed. https://www.arduino.cc/en/Tutorial/Foundations

The Arduino Reference. It's not everything but it's a great way to check that syntax you're not sure of. https://www.arduino.cc/en/Reference/HomePage

The Arduino Libraries, syntax and use. https://www.arduino.cc/en/Reference/Libraries

Hacking has lots of good tips, skim and get back on need. https://www.arduino.cc/en/Hacking/HomePage

The Tutorials. Stay away from section 4 as it teaches using the String class, a BAD IDEA with small RAM. Seriously, find C (not C++) tutorials on what C strings are and how to use them. Of the official tutorials, you only need to mess with sections 1, 2, 3 and 5 -- especially section 5. https://www.arduino.cc/en/Tutorial/HomePage

If you ever want details of a board, this is a good place to start. It's not everything but it has a lot. https://www.arduino.cc/en/Main/Products

This is the reference for the Standard C Libraries used by Arduino. http://www.nongnu.org/avr-libc/user-manual/modules.html

I suspect your 'resistor' problem is two lines - terminated across the far end of the two wires - with 2K2 In that case - assuming there is no 'external' voltage applied to the two wires...

Problem state - detect if either is open circuit. Alarm state - detect if either / both float high (unterminated?) or biased/pulled low?

Think about that electrically - then it becomes a bit less confusing. You'll probably need external bias resistors, and keep track of the 'analog' quiescent value of each wire - then if they change by a margin - raise the particular condition.

Thanks to everyone for all the friendly and helpful advice. I really do appreciate it.

One important thing to remember about C when you are learning - the C compiler does NOT usually tell you where an error is ... it tells you where it finally figured out it was confused. The error may be quite a few lines above where the compiler says it is :) The advantage of learning C is there are C compilers for almost everything out there - be it the Arduino, PIC processors, Linux/Unix or the PC so you are not just learning something for the Arduino.

The IDE has Autoformat in the Tools menu.

It not only lines up indents but checks some syntax and that braces {} and parenthesis () balance.If they don't, you get an error notice.

Use it often and it will help keep you from piling up such errors. Also do a compile when you complete a section, don't write a whole raft of what looks okay before compiling.

Also place serial print statements in your code that let you trace execution and watch critical variables to help you know what's going on internally. But don't print too much, too verbose as overfilling the output buffer will cause the sketch to stop until the output buffer is down to full.

You can set serial monitor's baud rate and if it should add carriage return or newline to the end of every line it sends to the Arduino. Run it at the highest rate you can so the serial output buffer empties as fast as it can and have it add a newline (character 10, '\n') for an end-of-line marker.

There are links to 3 very complete Nick Gammon tutorial blogs in my post's signature space below, the first especially will show how to make multiple things happen at once. The simple example is cooking breakfast to have eggs, bacon and coffee all just hot and ready at the same time.

I've been on a lot of forums in the last 10 years and most treat a newbie like a Red headed stepchild. (no offence intended) but not here.

THANKS EVER SO MUCH ON ALL THE DIRECTION, and now I'm off to buy a book for the "Programmingly inept and Challenged".

Thanks again everyone.