Mit Arduino PC Kaltstart

Kann mir wer helfen bzw einen Sketch schreiben??? ;D ;D ;D

Ich möchte gerne meinen PC mittels Arduino Starten, Herunterfahren und Reseten und das alles ohne Relay´s!

An einem normalen PC verbindet man ja nur masse gegen Pin um den gewünschten Modus zu erhalten.
Pin 1 - Masse kurzer Durchgang = PC startet
Pin 1 - Masse Langer Durchgang ca. 5sec = PC Fährt herunter
Pin 2 - Masse kurzer Durchgang = PC Resetet

Ein Wenig habe ich schon Vorbereitet. Ich muss alles suchen und kenne mich mit der Sprache nicht so aus.
Danke

#define MY_DEBUG
#define MY_NODE_ID 223
#define MY_RADIO_NRF24
#define MY_REPEATER_FEATURE
#define PULSE_TIME 500UL
boolean goPulse;
unsigned long pulseStartTime;

#include <MySensors.h>

#define RELAY_PIN_A 4
#define RELAY_PIN_B 5  // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#define NUMBER_OF_RELAYS 2 // Total number of attached relays
#define RELAY_ON 1  // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay


void before()
{
    for (int sensor=1, pin=RELAY_PIN_A; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
        // Then set relay pins in output mode
        pinMode(pin, OUTPUT);
    }
    for (int sensor=1, pin=RELAY_PIN_B; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
        // Then set relay pins in output mode
        pinMode(pin, OUTPUT);
    }
}

void setup()
{

}

void presentation()
{
    // Send the sketch version information to the gateway and Controller
    sendSketchInfo("Relay", "1.0");
    
    for (int sensor=1, pin=RELAY_PIN_A; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
        // Register all sensors to gw (they will be created as child devices)
        present(sensor, S_BINARY);
    }
    for (int sensor=1, pin=RELAY_PIN_B; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
        // Register all sensors to gw (they will be created as child devices)
        present(sensor, S_BINARY);
    }
}


void loop()
{

}

void receive(const MyMessage &message)
{
    // We only expect one type of message from controller. But we better check anyway.
    if (message.type==V_STATUS) 
    {
        // Change relay state
        digitalWrite(message.sensor-1+RELAY_PIN_A, message.getBool()?RELAY_ON:RELAY_OFF);
        goPulse = true;
        pulseStartTime = millis();
        digitalWrite(message.sensor-1+RELAY_PIN_B, message.getBool()?RELAY_ON:RELAY_OFF);
        // Store state in eeprom
        saveState(message.sensor, message.getBool());
        // Write some debug info
        Serial.print("Incoming change for sensor:");
        Serial.print(message.sensor);
        Serial.print(", New status: ");
        Serial.println(message.getBool());
    }
    relayPulse();
}
void relayPulse()
{
  if (goPulse)
  {
    if (millis() - pulseStartTime < PULSE_TIME)
    {
      digitalWrite(RELAY_PIN_A, HIGH);// didn't know your pin
    }
    else
    {
      digitalWrite(RELAY_PIN_A, LOW); // didn't know your pin
      goPulse = false;
    }
  }  
}

Wo war jetzt die Frage?

Gruß Tommy

Einen Transistor oder besser Optokoppler solltest du dem "Schalter" schon gönnen. Wie das mit dem Sketch funktionieren soll, weiß ich def. nicht.

Er sollte erst mal die Ströme messen, um den OK zu dimensionieren.

Gruß Tommy

Tommy56: Er sollte erst mal die Ströme messen, um den OK zu dimensionieren.

Gruß Tommy

Ja, ok...da wird aber nicht viel fließen.

Vermute ich auch aber ich weiß es [u]nicht[/u].

Gruß Tommy

Hi

Der OK könnte aber das Potential unangenehm weit oben lassen.
Sollte sich aber messen lassen :wink:

MfG

Tommy56: Vermute ich auch aber ich weiß es [u]nicht[/u].

Gruß Tommy

Der TO wird uns informieren.

postmaster-ino: Der OK könnte aber das Potential unangenehm weit oben lassen. Sollte sich aber messen lassen ;)

Wie jetzt...? Wenn es mit einem Transistor (NPN) funktioniert, sollte es mit einem OK auch funktionieren. (Wenn's mit dem Strom klappt.)

Hi

Oha, wenn's schon mit nem Transistor klappt, klar - keine Einwände (war mir nicht aufgefallen - überlesen)

MfG

postmaster-ino: Oha, wenn's schon mit nem Transistor klappt, klar - keine Einwände (war mir nicht aufgefallen - überlesen)

Nee...kein Problem, war auch nicht in diesem Thread. Habe ich selbst vor langer Zeit mal getestet nur nicht weiter verfolgt.

HotSystems: Einen Transistor oder besser Optokoppler solltest du dem "Schalter" schon gönnen. Wie das mit dem Sketch funktionieren soll, weiß ich def. nicht.

Also ein BC547 mit 1kOhm würde gehen?

Wuffi0815: Also ein BC547 mit 1kOhm würde gehen?

Das musst du an deinem Netzteil ausprobieren. Dennoch würde ich einen Optokoppler verwenden. Damit trennst du die Systeme besser.

HotSystems: Das musst du an deinem Netzteil ausprobieren. Dennoch würde ich einen Optokoppler verwenden. Damit trennst du die Systeme besser.

Welchen würdest du mir vorschlagen? Oder sollte ich vorher messen?

Welchen würdest du mir vorschlagen? Oder sollte ich vorher messen?

Wenn du nicht misst, wird man dir nichts vorschlagen ( siehe Beiträge 4 .. 7 oder so ) Wenn aber -wie erwartet- kein wesentlicher Strom fließt und gesperrt nur 12V anliegen, ist es egal, welchen OK du nimmst, bzw. der einfachste oder (bei gemeinsamem GND) auch dein BC547 sind ok.

Wuffi0815: An einem normalen PC verbindet man ja nur masse gegen Pin um den gewünschten Modus zu erhalten. Pin 1 - Masse kurzer Durchgang = PC startet Pin 1 - Masse Langer Durchgang ca. 5sec = PC Fährt herunter

Im Normalfall heißt kurzer Durchgang im Betrieb der PC fährt herunter. Das Betriebssystem muss entsprechend konfiguriert sein. Langes Drücken des Einschalters aktiviert die Notabschaltung ohne vorheriges Herunterfahren. Das ist dafür gedacht, wenn der PC komplett blockiert ist und nichts anderes mehr hilft.

michael_x:
Wenn du nicht misst, wird man dir nichts vorschlagen ( siehe Beiträge 4 … 7 oder so )
Wenn aber -wie erwartet- kein wesentlicher Strom fließt und gesperrt nur 12V anliegen, ist es egal, welchen OK du nimmst, bzw. der einfachste oder (bei gemeinsamem GND) auch dein BC547 sind ok.

Ich habe eine Spannung con 3.49V anliegen.
Der Ground von der Versorgung und der Schaltung ist nicht derselbe.

Kann ich PC827 auch nehmen?

1 Arduino Pin3
2 Arduino Gnd
3 Arduino Pin4
4 Arduino Gnd

7,5 GND PC-Board
6 - Power +
8 - Resset +

Ist das so richtig?

Theseus: Im Normalfall heißt kurzer Durchgang im Betrieb der PC fährt herunter. Das Betriebssystem muss entsprechend konfiguriert sein. Langes Drücken des Einschalters aktiviert die Notabschaltung ohne vorheriges Herunterfahren. Das ist dafür gedacht, wenn der PC komplett blockiert ist und nichts anderes mehr hilft.

Ja genau so. Einen Sketch habe ich schon. Nur noch sicher gehen ob der OK passt.

HotSystems:
Dennoch würde ich einen Optokoppler verwenden.
Damit trennst du die Systeme besser.

Das ist eine galvanische Trennung, sprich die beiden Systeme berühren sich gar nicht, sonst müsste man Masse koppeln. ← Soll kein Klugscheißen sein :wink: , aber Transistor oder OK sollte hier gar nicht die Frage sein. IMHO: Ich würde für so ein Projekt nur OKs verwenden.

lg dony

Wuffi0815: Ja genau so. Einen Sketch habe ich schon. Nur noch sicher gehen ob der OK passt.

Da Du den Strom immer noch nicht gemessen hast, wieso willst Du dann eine Bestätigung?

Gruß Tommy