Not sure if i can make my MCP project with Arduino

Hello folks! Well, since i'm new here (and new with Arduino too). i want to know if i can use Arduino to make this project. Let's go.

I just bought the Arduino UNO Rev3 and i'll try to make my own Mode Control Panel (auto-pilot) for Flight Simulator (to be exactly, FSX + PMDG 737NGX).

In this project, it'll have:

  • 17 x Tactile Push Switches
  • 3 x Toggle Switches
  • 1 x 2-position Rotary Switch
  • 6 x Rotary Encoderes
  • 3 x 3-digit 7-segment LED Display
  • 3 x 6-digit 7-segment LED Display
  • 17 x LEDs (for ON indicators)
  • a few LEDs for backlite (i'm not sure how much yet but this is less important)

Okay....i know nothing about arduino, but i know electronics basics (and i know about Google too lol!).

So, i have two questions: is it possible to do this using only the Arduino UNO Rev3? And what kind of additional components (such as "74HC595", "MAX7219" or another kind of drivers, boards, stuff) will i have to buy?

Thanks guys!

MAX7219 to drive the displays and the LEDs (wire the LEDs as if they were another common cathode digit)
3 & 6 digit common cathode displays. MAX7219 can control 2 of 3-digit display
MAX7219s can be daisy chained. 3 pins - SCK, MOSI, chip select1
Each one needs 10K current set resistor, 0.1uF ceramic cap, 10uF electrolytic cap

74HC165s to read the switches. They can be daisychained. SCK, MISO, chip select2
Need 10K pullup resistor for each input switch. Each chip needs 0.1uF ceramic cap.

Rotary encoder - need 2 input pins with PCINT for each one. 12 pins
Each encoder needs a filter circuit - 4 resistors, 2 caps. Can't tell you values off hand, have to look it up.

That's 17 pins so far.
Leave D0,D1 for serial interface from PC.
1 pin spare.

Maybe consider '1284P with 32 IO & in case you need a couple more control signals.

Ok...just to be sure...

I'll need:

  • 7 x MAX7219 (1 for each 3-digit, 2 for each 6-digit, 1 for all 17 LEDs)
  • 2 x 74HC165 (1 for each 8 x tactile switch; the 17th switch could use one Arduino I/O pin)

Another question: why should i use 12 I/O pins for the Encoders!? Can i use another 2 x 74HC165 or something similar?

I googled about that 1284P and it's something similar to Arduino, right? What if i buy the Arduino Mega? Which one is better?

Thanks again, and sorry for all the questions.

Gabriel.

It looks like you need more pins than an Uno could provide.

Get a Mega or 1284p-based board - they're all AVR chips that you can program through Arduino IDE like you could the Uno.

The Mega is considerably more expensive, "official", and has more pins - but it may be more microcontroller than you need. The 1284p is "between" the '328 as used in the Uno and the 2560 used on the Mega.

Yes, '1284P is similar to '328P and '2560 chips.
Available as 40 pin DIP, provides 32 IO, dual hardware serial ports, 128K flash, 16K SRAM (twice that of a Mega).
I offer boards in various form factors, all programmable via the IDE,
http://www.crossroadsfencing.com/BobuinoRev17/
from "System on a chip" kind of form factor to larger development type boards


1 MAX7219 can control two 3-digit displays, you don't need 1 for each. The 2 extra digits can be used to control 16 of your 17 LEDs. Similarly unused digits on the 6-digit display can be used to control other LEDs.

Rotary encoders work best when the pins are directly read by the processor. Check out this thread for a recent discussion
http://forum.arduino.cc/index.php?topic=318170.0

Cool! I'll take a look in your website! Thanks.

CrossRoads:
MAX7219s can be daisy chained. 3 pins - SCK, MOSI, chip select1
Each one needs 10K current set resistor, 0.1uF ceramic cap, 10uF electrolytic cap

74HC165s to read the switches. They can be daisychained. SCK, MISO, chip select2
Need 10K pullup resistor for each input switch. Each chip needs 0.1uF ceramic cap.

Rotary encoder - need 2 input pins with PCINT for each one. 12 pins
Each encoder needs a filter circuit - 4 resistors, 2 caps. Can't tell you values off hand, have to look it up.

How many Volts of those capacitors? Does it matter?

And the caps for the encoder, i found on Google something like 47nf. Is that right?

I don't know if it will help, but i want to use the CTS-288 Rotary Encoder ( DataSheet: http://www.ctscorp.com/components/datasheets/288.pdf ) or ELMA E37 ( DataSheet: Elma Electronic | Your Solution Partner ). The DataSheet of this E37 says something about 10nf.

Thanks again.