Accensione pc con un arduino [no WoL]

Buongiorno a tutti!
Questo è il mio primo progetto, primo approccio, primo tocco ad un arduino.
Ho appena acquistato:

  • Arduino Uno Microcontrollore
  • Ethernet Shield W5100 Keyestudio espansione per Arduino UNO, Mega 2560, con Slot per schede SD

per realizzare il mio PRIMO progetto in assoluto.
Ho pensato che fosse la volta buona per avvicinarmi al mondo di arduino che conosco da parecchio e ne sono sempre stato affascinato.

L’obbiettivo
Accendere (e spegnere) più pc via internet (in maniera indipendete) azionando direttamente sulla scheda madre.
Non intendo usare “Wake on Lan” o “Wake on Ring” etc…
Ma simulare pressione fisica del pulsante sul PC

Cose note del progetto
La scheda madre ha un gruppo di pin “system panel” (allegato) che è composto da vari copie di pin:
2 sono per il reset
2 sono per l’accensione/spegnimento <---- QUESTI QUELLI SUI QUALI VOGLIO AGIRE
2 sono per il led di accensione
2 sono per il led del disco rigido

I 2 pin in questione funzionano come segue:
sono collegati ad un pulsante che finché è premuto unisce i 2 pin, quando viene rilasciato la connessione termina.
cosa succede quando i 2 pin sono uniti:
se il pc è acceso e viene tenuto premuto il pulsante per 4 secondi il pc SI SPEGNE
se il pc è spento e viene premuto per una frazione di secondo il pc SI ACCENDE
la tensione tra i 2 pin è di 3.3V, rilevata con un tester.
se si collega il + con un altro gnd dello stesso pannello il risultato è il medesimo.

Necessità e preferenze della soluzione
Il progetto ideale deve:
riuscire a gestire il numero massimo possibile di pc con un solo arduino UNO.
è controllabile via una pagina web con credenziali e visibile da internet.

LE DOMANDE:
C’è modo di usare i pin dell’arduino per attivare il pc come se fosse il pulsante stesso oppure è indispensabile la presenza di relè?

In pratica a me basterebbe che l’arduino funzionasse da “ponticello” tra i 2 piedini per un intervallo di tempo da me deciso.

Ringrazio anticipatamente tutti quelli che mi vorranno aiutare.

panel(1).JPG

non ho mai provato ma un fotoaccoppiatore dovrebbe funzionare benissimo per accendere un pc

L'idea del fotoaccoppiatore è corretta, per rispodere alla tua domanda, ovvero il progetto dovrebbe gestire il numero massimo di pc, considera che ogni accoppiatore occupa un pin, la shield ethernet di occpua i pina 4,10,11,12,13 quindi ti restano liberi:
i pin 2 e 3, da 5 a 9 e i pin analogici da A0 ad A5 che puoi usare come digitali quindi un totale di 13 pc gestibili.
Se poi queto numero non è sufficiente allora poi pensare di dotarti di port expander i2C o di multiplexer che ti permeterrebbero di espandere questo numero in modo significativo, ma come primo progetto non so se ti conviene prima sperimentare con il minimo dell'hardware e poi eventualemente espanderlo in futuro.
Considera che con i port expander i2c ti privi dei due pin analogici A4 e A5 ma ogni port expander gestisce come minimo altre 8 porte e possono essere concatenati cambiando il loro indirizzo aumentando quindi da 8 a 16, 24, 32, ecc. uscite solo con gli expander + 11 uscite diretta su arduino uno.
Anche qui ci sono dei limiti ma non oso pensare che tu debba gestire così tanti pc e se tu ti trovi in una server farm con 128 pc da accendere non userei certo arduino per questo scopo :slight_smile:

Beh, se tu mettessi gli opto in Charlieplexing usando 18 linee (0 e 1 riservate per la seriale) comandersti 306 pc
Ti bastano?

Avendo invece occupati 4 pin per la spi ma liberando la seriale fa solo 240,

Standardoil:
Beh, se tu mettessi gli opto in Charlieplexing usando 18 linee (0 e 1 riservate per la seriale) comandersti 306 pc
Ti bastano?

A questa possibilità non avevo pensato madove le trovi 18 linee considerando i pin occupati dalla shield ethernet sulla uno?

Beh, usando una uno sola il massimo è 240, come da mio secondo post
Ma se si usasse una uno per gestire la comunicazione ethernet che ripetesse in seriale i comandi ad una seconda uno che riceve i comanda su una Software serial solo ricezione, avremmo liberi 19 pin ovvero 342 pc accendibili
Di più non posso

Standardoil:
Beh, usando una uno sola il massimo è 240, come da mio secondo post
Ma se si usasse una uno per gestire la comunicazione ethernet che ripetesse in seriale i comandi ad una seconda uno che riceve i comanda su una Software serial solo ricezione, avremmo liberi 19 pin ovvero 342 pc accendibili
Di più non posso

Anche li non hai considerato il pin 4 come non utilizzabile quindi un pin in meno, comunque con due uno e più di 300 pc gestibili... e stic....i voglio vederlo dal vivo :slight_smile:

Perché pin 4 non utilizzabile?
La seconda uno ha impegnato solo ricezione seriale, se evitiamo la trasmissione risparmiamo un pin

Standardoil:
Perché pin 4 non utilizzabile?
La seconda uno ha impegnato solo ricezione seriale, se evitiamo la trasmissione risparmiamo un pin

Mi riferifo all'uso di una solo uno con la shield ethernet, la conta dei pin del secondo post non teneva in considerazione il non uso del pin 4, certo è che con due uno il conto è corretto

il pin 4 viene usato sulla Shield Ethernet come EN per la schedina SD. Se non si inserisce una SD il pin 4 é liberamente utilizzabile.

Ciao Uwe

WaW grazie a tutti per le moltissime risposte.

Momentaneamnte 13 pc dovrebbero essere sufficienti.

L’idea del fotoaccoppiatore mi sembra la più fattibile ed ecconomica.

Mi potreste indicare il prodotto adatto allo scopo?

Non so se si possono linkare prodotti di amazon.
Io ho trovato questo.

potrebbe andare bene?
ha 4 pin.
esattamente come andrebbe collegato?
Il collegamento come trovato su internet mi pare di capire che su 2 piedini va il PIN di commando e sull’altro il GND. mentre dall’altra parte vanno i 2 pin da collegare tra di loro. Corretto?

L’idea è quella di realizzare una pagina web con 2 pulsanti per ogni computer ACCENDI e SPEGNI
Non so ancora come funziona il server web per questa roba e quindi non so se la microsd sarà usata dal server web per conservare la pagina. ma se mi immagino un pagina semplice bianca con le scritte minimal necessarie non credo sarà usata la microsd.

Leggo alcuni post che momentaneamente per me sono FANTASCIENTIFICI, ma non è il caso mio dato che è IL PRIMO PROGETTO ARDUINO.

Oggi mi sono arrivati i componenti e ho fatto il primo progetto di un tutorial (senza componenti, visto che non ne ho ancora) nel far lampeggiare il led integrato sul pin 13. :slight_smile:

Grazie Ancora

308_2.jpg

PC817.jpg

3.30 v?
L'arduino uno in digitale ne da 3.3 o 5? Avevo capito 5.
Nel caso dell'arduino uno vaa bene il componente da me postato quindi cosu lo compro. :slight_smile:
Grazie

Vendetta:
3.30 v?

Quel 330 sta per 330Ω … e quella è una resistenza per limitare la corrente che scorre nel LED interno al fotoaccoppiatore!
ScreenSnapz002.jpg
L’indicazione 330 NON ha quindi nulla a che vedere con i 3.3V o con i 5V (Arduino UNO da comunque 5V sui pin digitali).

Guglielmo

Quindi oltre il fotoaccoppiatore devo mettere anche una resistenza da 330 giusto?

Vendetta:
Quindi oltre il fotoaccoppiatore devo mettere anche una resistenza da 330 giusto?

Come da schema di Brunello :slight_smile:

Guglielmo

Allego schema.
Per il “software”
Basta digitalwrite pin high
Delay(150) per accensione
Delay (4150) per spegnimento.

sto ancora attendendo i pc817
ho abbozzato meccanismo del server web per inviare il commando.

potrebbe qualcuno dirmi dove posso trovare i pin usabili con la scheda wthernet?
ho provato a usare il led sul pin13 per provare un semplice comando accendi/spegni ma non vedo nessun movimento.
mi viene il dubbio che me lo usi la scheda ethernet?
dove posso trovare uno schema dei pin usati/usabili per capire quali usare per i vari pc?

Grazie a tutti.

10, 11, 12 , 13 Sono usati dalla Ethernet
e il pin 4 è usato dalla SD ( se la usi )