Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
7. Strombegrenzendes Tor¶
In manchen Situationen, wie zum Beispiel auf Parkplätzen, ist eine Mengensteuerung erforderlich.
Hier erstellen wir ein intelligentes Tor: Ein Servo dient als Tor und ein IR-Hinderniserkennungsdetektor wird davor platziert; wird ein Objekt (wie ein Auto) erkannt, öffnet sich das Tor und die Anzahl erhöht sich um 1. Die Anzahl wird auf einer 7-Segment-Anzeige dargestellt und auch auf die Blynk Cloud hochgeladen, damit Sie sie aus der Ferne einsehen können. Schließlich verfügt Blynk über ein Schalter-Widget, um dieses intelligente Torsystem zu aktivieren oder zu deaktivieren.
Benötigte Komponenten
Für dieses Projekt benötigen wir folgende Komponenten.
Es ist sicherlich praktisch, ein ganzes Set zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
3 in 1 Starter Kit |
380+ |
Sie können sie auch separat über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
1. Bauen Sie den Schaltkreis
Bemerkung
Das ESP8266-Modul benötigt einen hohen Strom, um eine stabile Betriebsumgebung zu gewährleisten, also stellen Sie sicher, dass die 9V-Batterie angeschlossen ist.
2. Dashboard bearbeiten
Um die Anzahl aufzuzeichnen, erstellen Sie einen Datastream vom Typ Virtual Pin auf der Datastream-Seite. Setzen Sie den DATENTYP auf
Integerund MIN und MAX auf0und10.
Gehen Sie nun zur Wed Dashboard-Seite, ziehen Sie ein Switch-Widget, um dessen Datenstrom auf V0 und ein Label-Widget, um dessen Datenstrom auf V8 zu setzen.
3. Den Code ausführen
Öffnen Sie die Datei
7.current_limiting_gate.inounter dem Pfad3in1-kit\iot_project\7.current_limiting_gateoder kopieren Sie diesen Code in die Arduino IDE.Ersetzen Sie die
Template ID, denDevice Nameund denAuth Tokendurch Ihre eigenen. Geben Sie auch diessidund daspassworddes von Ihnen verwendeten WLANs ein. Für detaillierte Anleitungen verweisen Sie bitte auf 1.3 Verbindung des R3-Boards mit Blynk herstellen.Nach Auswahl des richtigen Boards und Ports klicken Sie auf die Schaltfläche Upoad.
Öffnen Sie den Serienmonitor (Baudrate auf 115200 einstellen) und warten Sie auf eine Aufforderung, wie z.B. eine erfolgreiche Verbindung.
Bemerkung
Wenn die Meldung
ESP antwortet nichterscheint, wenn Sie sich verbinden, folgen Sie bitte diesen Schritten.Stellen Sie sicher, dass die 9V-Batterie angeschlossen ist.
Setzen Sie das ESP8266-Modul zurück, indem Sie den Pin RST für 1 Sekunde mit GND verbinden und dann trennen.
Drücken Sie die Reset-Taste auf dem R3-Board.
Manchmal müssen Sie die obige Operation 3-5 Mal wiederholen, bitte haben Sie Geduld.
Klicken Sie jetzt auf das Button Control-Widget in Blynk, um das intelligente Türsystem zu aktivieren. Wenn das IR-Hinderniserkennungsmodul ein Hindernis erkennt, öffnet sich das Tor und die 7-Segment-Anzeige sowie das Count-Widget in Blynk werden um 1 erhöht.
Wenn Sie Blynk auf mobilen Geräten verwenden möchten, beachten Sie bitte Wie verwendet man Blynk auf einem mobilen Gerät?.
Wie funktioniert das?
Die Funktion BLYNK_WRITE(V0) erhält den Status des Switch-Widgets und weist ihn der Variablen doorFlag zu, die verwendet wird, um zu bestimmen, ob das intelligente Torsystem aktiviert ist oder nicht.
BLYNK_WRITE(V0)
{
doorFlag = param.asInt(); // Aktiviere das Tor
}
Im Blynk-Timer wird doorFlag jede Sekunde geprüft, und wenn es aktiviert ist, wird die Hauptfunktion des Tores ausgeführt.
void myTimerEvent()
{
if (doorFlag)
{
channelEntrance();
}
}
Die Hauptfunktion des Tores ist channelEntrance().
Wenn ein Objekt sich dem Tor nähert (der Sensor erkennt ein Hindernis), wird count um 1 erhöht.
Schreiben Sie count in den Datastream V8 der Blynk Cloud und die 7-Segment-Anzeige auf der Schaltung und öffnen Sie das Tor.
Wenn das Objekt von vorhanden zu nicht vorhanden wechselt, d.h. das Objekt hat das Tor betreten, schließen Sie das Tor.
void channelEntrance()
{
int currentState = digitalRead(irPin); // 0:Hindernis 1:kein Hindernis
if (currentState == 0 && lastState == 1) {
count=(count+1)%10;
Blynk.virtualWrite(V8, count);
showNumber(count);
operateGate(true);
} else if ((currentState == 1 && lastState == 0)) {
operateGate(false);
}
lastState = currentState;
}
Die Funktion showNumber(int num) dient dazu, die 7-Segment-Anzeige den Wert anzeigen zu lassen.
void showNumber(int num)
{
digitalWrite(STcp, LOW); //ST_CP erden und so lange auf LOW halten, wie Daten übertragen werden
shiftOut(DS, SHcp, MSBFIRST, datArray[num]);
digitalWrite(STcp, HIGH); //ST_CP hochziehen, um die Daten zu speichern
}
Die Funktion operateGate(bool openGate) öffnet das Tor langsam, wenn die Referenz True ist, und schließt das Tor langsam, wenn die Referenz False ist.
void operateGate(bool openGate) {
if (openGate == true)
{
// open gate
while (angle <= 90) {
angle++;
myservo.write(angle);
delay(5);
}
} else {
// close gate
while (angle >= 0){
angle--;
myservo.write(angle);
delay(5);
}
}
}