1

I have one display screen, and 5 Arduino Nanos. They are checking to see if passwords in a text file hash to a specific hash, then display it on the screen when found.

Since they aren't all sending signals to the screen, is it possible to wire it so that all of them are connected to one screen, and then have the one that finds the correct password send the signal to the screen, and how would I go about doing this?

6
  • 3
    What type of screen is it? What protocol are you using to communicate with it?
    – Mat
    Commented Dec 18, 2021 at 8:14
  • 2
    I'd have a coordinator that listens to the nanos and gets the password to display. I'd also not use nanos. Commented Dec 18, 2021 at 13:59
  • 1
    in theory yes. one can make a multiplexer for just about any type of circuit. just need to make sure you have some exclusionary mechanism that ensures only one can talk (usually first one gets it until it sends a signal saying it is done)
    – Abel
    Commented Dec 18, 2021 at 14:03
  • 1
    k thanks, I will work with the coordinator idea, also I know nanos aren't the best option but for what I'm doing they are certainly very cheap and I already have around 6, the project involves clustering them so if I were to use unos or something else the price would increase drastically Commented Dec 18, 2021 at 16:47
  • Why do you think you need 5 Arduino Nanos? Why not just one? And why do they all need to be connected to a display? The display has some kind of display driver IC (this highly depends on your display: 7-Seg, LCD, OLED,...) and this ONE controller has some kind of interface that you can just connect ONE master to. That should totally be enough.
    – F_Schmidt
    Commented Dec 18, 2021 at 21:47

1 Answer 1

0

It should be possible to connect all nanos to the display, just like you would if there was only one nano as long as there is only one nano that actively drives the bus (what ever bus that is). All the other nanos need their bus pins to be inputs (not configured for the bus). So you could have them being inactive by default and only access the bus once they found a matching hash.

But: if multiple nano's are configured for bus usage at a time, communication would be corrupted. In case the display uses a push-pull bus (SPI, UART, ...) this is even electronically an issue, because their bus pins would short the supply voltage and possibly get destroyed. So you need some kind of protection in that case, a current limiting resistor in the easiest form.

As mentioned in comments, the "clean" solution is to have one dedicated controller to be the coordinator.

Some thoughts:

  • there is a real (not just a hypothetic) chance for bus contentions, because multiple passwords lead to the same hash and you even want to compare hashes for multiple passwords. The occurence of such a collision needs to be expected, though it is not predictable when or if it actually happens.

  • you probably want to configure the cluster, e.g. to distribute the hash of interest among the Nanos or to stop the cluster when a match is found. Those things would be easier if there's one dedicated master which you can communicate with directly.

  • the coordinator would always have control over the display. What if you wanted to continously display information on the screen, e.g. a progress bar? That would be difficult to implement afterwards when there's no master.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.