If/else und Buttons

Hallo,
ich bin neu hier, habe ein MKR1000 und habe 2 Fragen.
1.Wie kann man if/else mit einem Button in Blynk verbinden.z.B wenn der Button gedrückt wird, dann passiert das und das.
2.Ich wollte den MKR1000 mit einem Hotspot über mein iPhone verbinden, warum geht das nicht, wenn ich ihn mit einem normalem Router Verbiden funktioniert es.

Vielen Dank für eure Hilfe.

@newbie21:
zu 1) würde ich es 'mal so versuchen:

BLYNK_WRITE(V1) //Button Widget is writing to pin V1
{
  int pinData = param.asInt(); 

  if(pinData == 1)
  {
    [do something]
  }
  else
  {
    [do something else]
  }
}

zu 2) Was genau bedeutet “geht nicht”?
Verbindet sich Dein MKR1000 nicht per Wifi mit dem iPhone, oder klappt die
Verbindung vom MKR1000 zum Server nicht?

Vielen Dank für deine Hilfe.Ja genau er verbindet sich nicht mit dem iPhone,die ssid besteht auch nur aus einem Wort.
Habe ich das richtig verstanden, dass ich V1, dann dem Button als OUTPUT geben muss.

Ja, genau so würde das in diesem Beispiel funktionieren.

Hallo, irgendwie will das Beispiel nich laufen, was muss ich den im Setup etc.eingeben damit dies funktioniert.?

Was genau soll denn funktionieren? Wie sieht das Programm denn aktuell aus?

Das der Button einen Pin schaltet und dann 30 Sekunden wartet…
Danke dass du geantwortest hast.

… und was soll nach 30 Sekunden passieren? Ich nehme an, der Pin soll wieder abgeschlaletet werden.

ja genau

Poste doch einfach 'mal, was Du bisher hast. Dann kann ich Dir sagen, was noch geändert oder ergänzt werden muss.

Schau mal drauf, ich glaube das ist nicht ganz richtig: // Blynk - Version: Latest
#include <Blynk.h>

/*************************************************************
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest

Blynk is a platform with iOS and Android apps to control
Arduino, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your
projects by simply dragging and dropping widgets.

Downloads, docs, tutorials: http://www.blynk.cc
Sketch generator:           http://examples.blynk.cc
Blynk community:            http://community.blynk.cc
Follow us:                  http://www.fb.com/blynkapp
                            http://twitter.com/blynk_app

Blynk library is licensed under MIT license
This example code is in public domain.


This sketch shows how to write values to Virtual Pins

NOTE:
BlynkTimer provides SimpleTimer functionality:
http://playground.arduino.cc/Code/SimpleTimer

App project setup:
Value Display widget attached to Virtual Pin V5
*************************************************************/

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT SerialUSB

#include <SPI.h>
#include <WiFi101.h>
#include <BlynkSimpleWiFiShield101.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = “YourAuthToken”;

// Your WiFi credentials.
// Set password to “” for open networks.
char ssid[] = “YourNetworkName”;
char pass[] = “YourPassword”;

BlynkTimer timer;

// This function sends Arduino’s up time every second to Virtual Pin (5).
// In the app, Widget’s reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void myTimerEvent()
{
// You can send any value at any time.
// Please don’t send more that 10 values per second.
Blynk.virtualWrite(V5, millis() / 1000);
}

void setup()
{
// Debug console
SerialUSB.begin(9600);

Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, “blynk-cloud.com”, 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

// Setup a function to be called every second
timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
Blynk.run();
timer.run();
BLYNK_WRITE(V1) //Button Widget is writing to pin V1
{
int pinData = param.asInt();

if(pinData == 1)
{
[do something]
}
else
{
[do something else]
}
// Initiates BlynkTimer
}

@newbie21: Für den ersten Anlauf würde ich 'am lsowas versuchen:

#include <SPI.h>
#include <WiFi101.h>
#include <BlynkSimpleWiFiShield101.h>

#define Led PIN_LED

char auth[] = "YourAuthToken";
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

BlynkTimer timer;

void deviceOff()
{
  digitalWrite(Led,0);
}

BLYNK_WRITE(V1) // Push Button in the App
{
  int pinData = param.asInt();

  if(pinData == 1)
  { 
    digitalWrite(Led,1);
    timer.setTimeout(30000L, deviceOff); 
  }
}

void setup()
{
  pinMode(Led,OUTPUT);
  digitalWrite(Led,0);

  Blynk.begin(auth, ssid, pass);
}

void loop()
{
  Blynk.run();
  timer.run();
}

Ich habe es ausprobiert, funktioniert nur leider nicht.Der MKR 1000 verbindet zwar mit dem BLYNK server nur danach tut sich gar nichts.

Die eine Funktionslampe leuchtet zwar wenn man den Button drückt, jedoch will das Relais nicht schalten.

@IBK

#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 6
#define RST_PIN 7
MFRC522 mfrc522(SS_PIN, RST_PIN);
#include <SPI.h>
#include <WiFi101.h>
#include <BlynkSimpleWiFiShield101.h>

#define Led PIN_LED

char auth = “”;
char ssid = “”;
char pass = “”;

BlynkTimer timer;

void deviceOff()
{
digitalWrite(Led,2);
}

BLYNK_WRITE(V1)
{
int pinData = param.asInt();

if(pinData == 1)
{
digitalWrite(2,LOW);

}
}

void setup()
{
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
pinMode(2, OUTPUT);
pinMode(Led,OUTPUT);
digitalWrite(Led,2);

Blynk.begin(auth, ssid, pass);

}

void loop()

{
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}

if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}

long code=0;

for (byte i = 0; i < mfrc522.uid.size; i++)
{
code=((code+mfrc522.uid.uidByte[i])*10);
}

if (code==431740)

{

digitalWrite(2, HIGH);
Serial.print(“scharf”);

}
if (code== 1737550)

{

digitalWrite (2, LOW);
Serial.print(“unscharf”);

} // P
Blynk.run();
timer.run();
} // Sketch abschließen

ich habe noch einen RFID eingebaut.

Wenn Du den Timer wegläßt und statt dessen einen NFC Reader reinbastelst, stehen die Chancen auch eher schlecht.

@IBK
Es funktioniert auch ohne NFC nicht, deswegen frage ich dich.

@IBK
Also es funktioniert nur will das Relais nicht schalten, weil das Relais anscheinend zu wenig strom für das Relais zur verfügung stellt stimmt das.

Was ist das denn für ein Relais? So ein Pin vom MKR1000 liefert laut Spec. max. 3V3 / 7mA.

So ein 5v Relais, wenn der Befehl über den NFC kommt schaltet das Relais ohne Probleme.
@IBK