tx & rx pins

Can I use digital pins 0 and 1 just like any other of the digital pins? Does it just mean that I wouldn't be able to use the serial port back to my pc to get serial.print commands?

what about analog pins, how do I use them for simple digital pins, or can I?

SouthernAtHeart:
Can I use digital pins 0 and 1 just like any other of the digital pins?

Yup.

Does it just mean that I wouldn't be able to use the serial port back to my pc to get serial.print commands?

Yup. You may have problems uploading the next Sketch. Holding reset until the upload starts should get you through.

what about analog pins, how do I use them for simple digital pins, or can I?

They are accessed in exactly the same fashion (pinMode, digitalRead, digitalWrite). The pin numbering starts at one more than the last digital pin. For example...

The last digital pin is "13". Analog pin "A0" is also digital pin "14". Analog pin "A1" is also digital pin "15". Etcetera.

D0 D1 are digital pins like any other.
They can't really do 2 things at once tho, so you do lose the Rx Tx cabability.
For Tx back to the PC, the stuff on the pin still gets sent over the Tx line, may appear as gibberish on the monitor.

A0-A5 can be used as D14-D19.

GREAT!
So there's actually 20 digital pins available on the Uno, then. I thought someone said 19.
My first project is coming up with 19 pins. Too bad it's not 18, then the serial would still be available. I won't need it once I'm done coding, though.
I could use a shiftreg on my LCD, it looks pretty simple. It looks easier than analoging a 4x3 keypad down to 1 pin.

D0-D13, and A0-A5 (D14-D19). I guess that does make 20.

keypad down to 1 pin - there have been plenty of discussions on that too, using an analog input and a bunch of resistors.
Folks have shown successful examples.

If a lack of Serial becomes too much of a burden and you have one unused pin, let me know. I may be able to help.

My first project is coming up with 19 pins. Too bad it's not 18,

Post the requirements or a schematic, maybe someone can save you a pin or two.


Rob

What about this multiplexer: Analog/Digital MUX Breakout - CD74HC4067

That would free up a lot of pins on your Uno.

nice mux andy

and what about the good old shift registers ? 74HC595 & 74HC165 ?

Once SouthernAtHeart comes back we can see what he's doing with all these pins.
In other posts he has asked about driving motors and keypad interfacing.

CrossRoads:
Once SouthernAtHeart comes back we can see what he's doing with all these pins.
In other posts he has asked about driving motors and keypad interfacing.

I'll fill you in here on my project, later today, if you promise not to laugh!

well you've mentioned a wide track 4' robot, motors, keypad for # of coffee cups, what else are you adding?

It's the coffee lovers' automaton.
Your coffee maker sets in the kitchen cabinet, at counter top level. A few knocks on the door (user customizable knocks) brings the self grinding machine out, opening the doors on it's way. the dovetailed platform mounted on undermount drawer glides will be likely driven by Sparkfun's 100:1 gearmotor. (Although, a stepper motor controled by a rotary encoder option moving the platform precisely how you want it sounds 'nice'.)
Then you are looking at a nice anodized aluminum enclosure housing a 4x3 keypad and an LCD display giving helpful tips to enter the number of cups of coffee you think you need to get you going. (the user will also have the option to 'bring on the coffee" by the keypad, if they're not up to knocking). Upon pressing start, your Asco NEMA rated water valve opens, and begins filling your coffee pot with the designated amount of water through 1/4" tubing routed from the undersink water filter system. The tubing is connected to the underside of the platform not unlike that ribbon connected to your printhead that allows it to move back and forth. The water is being monitored by seeedstudio's flow sensor. The # of pulses for each water setting (2,4,6,8,10) is stored in EEPROM, so it is user configurable using a secret keycode to enter the setup menu. The setup menu will also allow you to choose options: Enable knock sensor, enable photocell (if it's a dark early morning, the LCD screen in standby mode may show some ZZZZZZZZZZZZZZ's on the screen). Another option will be to enable audio. Ever hear the melodic tone played by one of these expensive washing machines when it's done? Not sure until I experiment, if I get that nice of a sound from 1 I/O pin, to give a little 'cupboard door open' and 'cupboard door closed' tone.
So, that about maxes out my Uno's pins. (I'm wondering how far into this paragraph I maxed out it's 2K of ram?) I'll be asking for help on that after my Uno comes in 2 days.
I can't think of any other sensors to incorporate, unless it's SparkFun's Optical Detector Optical Detector / Phototransistor - QRD1114 - SEN-00246 - SparkFun Electronics to monitor when to turn the gearmotor off upon opening and closing of the coffee platform. That might be easier than trying to wire up 2 unseen limit switches ...I'm still pondering that area of the project...
It's kind of interesting, I'd never even heard of Arduino a month ago!
I'll probably be coding, decoding, and recoding for awhile. I didn't know the first thing about C++, but this forum has been REALLY helpful and enjoyable.
So, that's my project. :slight_smile:

sensor.bmp (469 KB)

valve.jpg

enclosure.jpg

I can't think of any other sensors to incorporate,

Heck there's a lot of sensors around, I'm sure you can add a few, for example isn't it important to have the coffee at just the right temperature. :slight_smile:

Sounds real interesting and a fun project. I lost track of the pins required, when you get a schematic (even a rough one) give us a look and we may be able to trim things a bit.


Rob

I'd be happy to post my code with offers on improvement! If that's not imposing on anyone...
If it's split up into tabs, is there any way to post it here? Or just zip it up and attach?

Pins Description Arduino Pin#
2 Serial to PC (debugging) 0,1
2 Shift LCD 12,13
1 Motor (on/off) A4 (18)
1 Motor Relay 2P2T (reverse) A3 (17)
1 Optical Detector A2 (16)
1 I/O Knock sensor A1 (15)
1 I/O Photocell A0 (14)
1 Solenoid (water valve) 10
1 Flow Sensor 2
7 Keypad 3,4,5,6,7,8,9
1 I/O for Audio 11
19 Total

This is my pin line up

Here's my rough draft. Ugh. If anyone would like to re-model it into real code I would be VERY happy. I've only ever coded in basic before a week ago, so this probably looks 'basic'.
All I worked on was the actual water flow part of the code. I figured I should get that up and running first, before adding any frills like audio feedback or light sensing photocells...

attatchment removed, it was terrible!

At a quick glance the code looks reasonable but I doubt you have compiled it yet.

so this probably looks 'basic'.

Yep

//Load Settings from eeprom
LoadSettings;

try

LoadSettings();

I'll look a bit more later.


Rob

I think my code needs a LOT of help! If anyone can tell what I'm trying to have it do and can fix it up a bit in a few minutes, they'll save me hours...

My first attempt was pretty bad, so I deleted it. This seems a lot more concise. It even compiles!
Could someone please look it over and tell me if it will work?
My Uno will be here tomorrow.

Coffe_Project_V_2.zip (3.53 KB)