Home > Technologie > Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

0
Advertisement

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Diese Instructable baut auf dem Mini-Arduino-Umgebungsmonitor und dem Mini Arduino EEG Monitor Instructables auf.
Es erlaubt Ihnen, bis zu 4 Relais mit Zeit, Temperatur und / oder Licht, Ihrem Verstand oder jedem Sensor zu steuern, den Sie verwenden möchten.

Die Beispiele sind Prototypen, ich gehe nicht weiter als die Zusammenstellung auf einem Steckbrett. Ich habe nicht einen ständigen Fall für sie gemacht

Der Hauptzweck dieses instructable ist, zu demonstrieren, wie Sie das arduino verwenden können, um jedes mögliches Gerät unter Verwendung der Sensor-Eingangs- und Bedingungslogik zu steuern, um Entscheidungen zu treffen und das Gerät zu aktivieren.

Meine Ziele sind, diese instructables kostengünstig, einfach, praktisch und interessant zu machen.

Schritt 1: Teile und Komponenten

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Ich habe die gleichen Teile für alle Projekte, aber wenn Sie sie für den dauerhaften Gebrauch zu bauen, müssen Sie die Anzahl der Teile zu erhöhen.

Für die Zeitsteuerung:

1. Arduino, ich glaube , jemand tun wird, aber ich bin mit einem Sainsmart nano Klon .
2. RTC - Modul für Arduino
3. Ein Sainsmart 4 Relaismodul
4 A Sainsmart 1.8 "LCD - Farbdisplay
5. Steckbrücken
6. Ein Mini-Steckbrett, um das Display und / oder einen größeren Steckbrett für die Nano und RTC (Ich habe meine RS-elektronischen Lern-Labor)

Für den Brain-Controller:

  1. Ein Arduino
  2. Ein Sainsmart 4 Relais-Modul
  3. Ein Sainsmart 1,8 "LCD-Farbdisplay
  4. Ein gehacktes MindfLEX Headset

Für Licht- und Temperaturregelung:

  1. Ein Arduino
  2. Ein Sainsmart 4 Relais-Modul
  3. Ein Sainsmart 1,8 "LCD-Farbdisplay
  4. Ein DHT11 oder ein ähnlicher Temperatursensor oder ein Thermistor
  5. Ein CDS-Lichtsensor

Schritt 2: Zeitrelais

Mini-Arduino Multifunktions-Controller mit LCD-Display

Also beginnen wir mit dem Timer-Controller:

In diesem Beispiel können Sie die Relais mit den vom RTC bereitgestellten Daten steuern. Können Sie die Datums- und Zeitdaten zum Ein- und / oder Ausschalten der Relais verwenden.

Es gibt viele instructables, die Ihnen zeigen, wie genau das tun, aber dieses bietet Ihnen Feedback-Status mit dem Farb-LCD-Display.

Sie müssen die Mini Arduino Enviroment Monitor mit RTC gebaut, um dieses Projekt zu starten. Wir werden das Hinzufügen 4 Relaismodul.

Schritt 3: Schließen Sie das Relais-Modul an Arduino an

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Wir werden mit Digital - Pins 9,10,11 und 12 zum Anschluss des 4 Relaismodul an das Arduino
Ich habe einen Anschluss von einem PC Audio-Eingang, um die Verbindungen zu tun.

D on't vergessen Sie müssen auch das RTC - Modul haben und die Farb - LCD - Display angeschlossen ist .

LCD ANZEIGEN ANSCHLÜSSE

  1. VCC angeschlossen an Arduino VCC (oder externe 6V Stromquelle)
  2. GND an GND angeschlossen
  3. SCL angeschlossen an digitale PIN 4
  4. SDA an digitale PIN 5 angeschlossen
  5. CS mit digitaler PIN 6 verbunden
  6. PS / DC an digitale PIN 7 angeschlossen
  7. RES an die digitale PIN 8 angeschlossen

RTC ANSCHLÜSSE
Schließen Sie den RTC VCC an den Arduino VCC (oder externe 6V Stromquelle)
RTC GND zum Arduino GND
RTC SDA an den Arduino Analog Pin 4 anschließen
RTC SCL an den Arduino Analog Pin 5 anschließen

RELAISMODULANSCHLÜSSE

  1. Verbinden Sie RELAY GND mit Arduino GND
  2. Schließen Sie RELAY VCC an Arduino VCC (oder externe 6V Stromquelle)
  3. Verbinden Sie RELAY IN1 mit ArduinoPIN 9
  4. Verbinden Sie RELAY IN2 mit Arduino PIN 10
  5. Verbinden Sie RELAY IN3 mit Arduino PIN 11
  6. Verbinden Sie RELAY IN4 mit Arduino PIN 12

Schritt 4: Notizen vor dem Laden der timergesteuerten Skizze

Mini-Arduino Multifunktions-Controller mit LCD-Display

  • Stellen Sie sicher, dass alle Verbindungen zum Display, das RTC-Modul und das Relaismodul korrekt verdrahtet sind.
  • Stellen Sie sicher, yo haben alle Bibliotheken benötigt installiert, siehe My Mini Arduino Umgebungsmonitor instructable für eine ausführlichere Erklärung, was Sie brauchen.
  • Sie können eine externe 6V-Stromquelle verwenden, um eine Überlastung des USB-Anschlusses zu vermeiden
  • Die Skizze ist nur ein Beispiel, das die Relais ein- und ausschaltet in einem 1-Minuten-Zyklus, können Sie den Code entsprechend Ihren Anforderungen ändern.
  • Haben Sie keine Angst zu experimentieren und ändern Sie den Code! Zum Beispiel können Sie den Code ändern, um ein Relais für 5 Minuten um 6 Uhr einzuschalten? Oder stellen Sie den Timer, um die Relais an Ihrem Geburtstag zu aktivieren?

Schritt 5: Der Code FOR TIMER CONTROL

Mini-Arduino Multifunktions-Controller mit LCD-Display

// Sketch Build 1.04 kompiliert auf Arduino 1.0.3.
// Diese Skizze nutzt die RTC zur Steuerung von 4 Relais in jedem gewünschten Zyklus oder Zeitintervall.
// Kopieren Sie die Skizze unten und fügen Sie sie in die Arduino IDE überprüfen, und führen Sie das Programm.
// Diese Skizze wurde unter Verwendung von Code aus den Adafruit- und RTC-Bibliotheken erstellt

// RTC-ANSCHLÜSSE
// Verbinden Sie den RTC VCC mit dem Arduino +5 v
// RTC GND zum Arduino GND
// RTC SDA auf den Arduino Analog Pin 4
// RTC SCL auf den Arduino Analog Pin 5

// LCD ANZEIGE ANSCHLUSS
#define sclk 4 // verbunden mit digitaler PIN 4
#define mosi 5 // verbunden mit digitaler PIN 5
#define cs 6 // verbunden mit digitaler PIN 6
#define dc 7 // verbunden mit digitaler PIN 7
#define rst 8 // verbunden mit digitaler PIN 8

// RELAISANSCHLUSS
// GND an Arduino GND angeschlossen
Int Pin1 = 9; // IN1 an Digital 9 angeschlossen
Int Pin2 = 10; // IN2 an Digital 10 angeschlossen
Int Pin3 = 11; // IN3 an Digital 11 angeschlossen
Int Pin4 = 12; // IN4 an Digital angeschlossen 12
// VCC verbunden mit Arduino + 5v

#include // Core-Grafikbibliothek
#include // Hardware-spezifische Bibliothek
#include // Bibliothek benötigt für RTC
#include // Bibliothek benötigt für RTC
#include "RTClib.h" // RTC-Bibliothek

RTC_DS1307 RTC;

Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, mosi, sclk, rst);

Void setup (void) {
// DEFINING PINS FÜR RELAISKONTROLLE
PinMode (Pin1, OUTPUT);
PinMode (Pin2, OUTPUT);
PinMode (Pin3, OUTPUT);
PinMode (Pin4, OUTPUT);
Wire.begin ();
RTC.begin ();

Tft.initR (INITR_BLACKTAB); // initialisieren einen ST7735S-Chip, schwarze Registerkarte

Tft.fillScreen (ST7735_BLACK); // Bildschirm löschen
DigitalWrite (Pin1, 1);
DigitalWrite (Pin2, 1);
DigitalWrite (Pin3, 1);
DigitalWrite (Pin4, 1);
Tft.setCursor (0,50);
Tft.println ("Wartezeit 10 Sekunden");
Tft.println ("für RTC zu Sync");
Verzögerung (10000); // wartet auf RTC auf Antwort, wenn nicht Zeit
Tft.fillScreen (ST7735_BLACK); // Bildschirm löschen
If (! RTC.isrunning ()) {
Tft.println ("RTC lief nicht!");
Tft.println ("Rücksetzen RTC");
// Die folgende Zeile setzt den RTC auf das Datum und die Uhrzeit, zu der diese Skizze kompiliert wurde
RTC.adjust (DateTime (__ DATE__, __TIME__));

Tft.fillScreen (ST7735_BLACK); // Bildschirm löschen

aufrechtzuerhalten.
aufrechtzuerhalten.

Void Schleife () {
Tft.setCursor (10, 10);
Tft.setTextColor (ST7735_WHITE);
Tft.setTextSize (1);
Tft.println ("TIMER-STEUERUNG");

Tft.setTextColor (ST7735_YELLOW, ST7735_BLACK); // Textfarbe & -größe für DATE aus TinyRTC einstellen
Tft.setTextSize (2);
Tft.setCursor (5,30);
DateTime = RTC.now (); // GRAB DATUM UND ZEIT VON RTC
Tft.print (jetzt.Jahr (), DEC);
Tft.print ( '/');
Tft.print (jetzt.month (), DEC);
Tft.print ( '/');
Tft.print (heute.day (), DEC);
Tft.println ( '');
Tft.setCursor (15, 70);
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK); // setze die Farbe für TIME ein
Tft.setTextSize (2); // Setzt die Textgröße für TIME von TinyRTC
Tft.print (jetzt.Stunde (), DEC);
Tft.print ( ':');
If (now.minute () <10) {// PRINT A 0 IN VOR DER MINUTE WENN WENIGER ALS 10
Tft.print ('0');
Tft.print (jetzt.minute (), DEC);
aufrechtzuerhalten.
Sonst {
Tft.print (jetzt.minute (), DEC);
aufrechtzuerhalten.
Tft.print ( ':');
If (now.second () <10) {// PRINT A 0 VOR DER SEKUNDEN WENN WENIGER ALS 10
Tft.print ('0');
Tft.print (jetzt Sekunden (), DEC);
aufrechtzuerhalten.
Sonst {
Tft.print (jetzt Sekunden (), DEC);
aufrechtzuerhalten.
Tft.println ( "");
// DIES IST DER ENTSCHEIDUNGSBESCHLUSS DER SKIZZE, DIESES BEISPIEL IST EIN EIN MINUTE ZYKLUS
// ZU DEN DEMO-ZWECKEN: DAUERT AM RELAIS 1 AM 10 SEKUNDEN, DANN AUS 20
// ES DANN SCHLIESSEN RELAIS 2 UND 4 AUF 40 SEKUNDEN UND AUS BEI 50,
// AT 50 SEKUNDEN SCHLIESSEN AM RELAIS 1 UND 3 DANN AUS BEI 0
If (now.second () == 10) {
Tft.setCursor (0,100);
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("Relais 1 ist ein");
DigitalWrite (Pin1, 0);
aufrechtzuerhalten.
If (now.second () == 20) {
Tft.setCursor (0,100);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("Relais 1 ist aus");
DigitalWrite (Pin1, 1);
aufrechtzuerhalten.

Wenn (now.second () == 40) {
DigitalWrite (Pin1, LOW);
DigitalWrite (Pin2, HIGH);
DigitalWrite (Pin3, LOW);
DigitalWrite (Pin4, HIGH);
Tft.setCursor (0,100);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK);
Tft.println ("Relais 1 ist ein");
Tft.setTextColor (ST7735_RED, ST7735_BLACK);
Tft.println ("Relais 2 ist aus");
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK);
Tft.println ("Relais 3 ist ein");
Tft.setTextColor (ST7735_RED, ST7735_BLACK);
Tft.println ("Relais 4 ist aus");

aufrechtzuerhalten.
If (now.second () == 50) {
DigitalWrite (Pin1, HIGH);
DigitalWrite (Pin2, LOW);
DigitalWrite (Pin3, HIGH);
DigitalWrite (Pin4, LOW);
Tft.setCursor (0,100);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.println ("Relais 1 ist aus");
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK);
Tft.println ("Relais 2 ist ein");
Tft.setTextColor (ST7735_RED, ST7735_BLACK);
Tft.println ("Relais 3 ist aus");
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK);
Tft.println ("Relais 4 ist ein");
aufrechtzuerhalten.
If (now.second () == 00) {
DigitalWrite (Pin1, HIGH);
DigitalWrite (Pin2, HIGH);
DigitalWrite (Pin3, HIGH);
DigitalWrite (Pin4, HIGH);
Tft.setCursor (0,100);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.println ("Relais 1 ist aus");
Tft.println ("Relais 2 ist aus");
Tft.println ("Relais 3 ist aus");
Tft.println ("Relais 4 ist aus");
aufrechtzuerhalten.

aufrechtzuerhalten.

Schritt 6: Video des Timer - Controllers

Mini-Arduino Multifunktions-Controller mit LCD-Display

Schritt 7: Timer-gesteuerter Bonus: Instrumentierung Sterilisator und heiß / kalt Platte Idee

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Als praktisches Beispiel für die Verwendung des Zeitgebers in einer Laborumgebung können Sie den Zeitgeber verwenden, um ein UV-Licht in einem geschlossenen Gehäuse zu steuern, um medizinische Instrumente wie zahnärztliche Werkzeuge oder chirurgische Werkzeuge zu sterilisieren. Ich habe das UV-Licht von einem gebrochenen Zahnbürste-Sterilisator (die elektronische Steuerung gestoppt zu arbeiten). Ich verwendete eine 12v zur Hochspannungsquelle von einem Automobil EL-Stromkreis, um die UV-Glühlampe zu versorgen.
Ein anderes Beispiel ist die Verwendung der Peltierelement-angetriebenen thermoelektrischen Heiz- / Kühleinheit, die aus einem alten Kühler geborgen wurde, den ich als heiße kalte Platte verwenden musste.

Benutzen Sie die Relais, um die Energie zu steuern, und ändern Sie das Programm, um Ihren Bedarf zu decken!

Schritt 8: Gehirnkontrollierte Relais

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

In diesem Beispiel können Sie die Relais mit den Daten des gehackten MindFlex Headsets steuern. Das Programm überwacht drei Signale vom Headset kommen: die Signalqualität, die Aufmerksamkeit und die Meditation. Ich schlage vor, Sie schauen auf meine EEG-Monitor instructable, bevor Sie dieses Beispiel beginnen, wie es erklärt, wie hack das MindFlex Headset für den Einsatz mit dem Arduino, und wie die Daten aus dem Headset zu interpretieren.

Ich bin mit den Datensignalqualität Relais 1 zu steuern, die Aufmerksamkeit auf Steuerdaten Relais 2 und die Meditation Daten Relais 3. Relais 4 steuern in diesem Beispiel nicht verwendet wird.

Relais 1 schaltet , wenn die Signalqualität = 0 (0 wird die maximale Signalstärke 200 ist kein Signal)
Relais 2 schaltet , wenn die Aufmerksamkeit> 50 (100 ist maximale Aufmerksamkeit 0 minimal Aufmerksamkeit)
Relais 3 schaltet , wenn die Meditation> 50 (100 maximal Meditation 0 minimal ist Meditation)

Wie bei der Timer-Steuerung können Sie diese Werte auch anpassen. Deine Bedürfnisse.

Schritt 9: Sketch zur Steuerung der Relais mit Ihrem Mind

Mini-Arduino Multifunktions-Controller mit LCD-Display

// Skizze Build auf Arduino kompiliert 1.0.3.
// Diese Skizze wurde geändert, um die Schleife schneller auszuführen. Die Bildwiederholrate beträgt ca. 1,5 Sekunden.
// Kopieren Sie die Skizze unten und fügen Sie sie in die Arduino IDE überprüfen, und führen Sie das Programm.
// Diese Skizze wurde unter Verwendung von Code aus den Adafruit- und Hirn-Bibliotheken erstellt

#define sclk 4
#define mosi 5
#define cs 6
#define dc 7
#define rst 8
// GND an Arduino GND angeschlossen
Int Pin1 = 9; // IN1 an Digital 9 angeschlossen
Int Pin2 = 10; // IN2 an Digital 10 angeschlossen
Int Pin3 = 11; // IN3 an Digital 11 angeschlossen
Int Pin4 = 12; // IN4 an Digital angeschlossen 12
// VCC verbunden mit Arduino + 5v

#include <Adafruit_GFX.h> // Core-Grafik-Bibliothek
#include <Adafruit_ST7735.h> // Hardware-spezifische Bibliothek
#include <SPI.h>
#include <Brain.h>

Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, mosi, sclk, rst);

Gehirn Gehirn (seriell);

Void setup (void) {

Tft.initR (INITR_BLACKTAB); // initialisieren einen ST7735S-Chip, schwarze Registerkarte
PinMode (Pin1, OUTPUT);
PinMode (Pin2, OUTPUT);
PinMode (Pin3, OUTPUT);
PinMode (Pin4, OUTPUT);

DigitalWrite (Pin1, 1);
DigitalWrite (Pin2, 1);
DigitalWrite (Pin3, 1);
DigitalWrite (Pin4, 1);
TftPrintTest (); // Einleitungstext,
Verzögerung (1000);

Tft.fillScreen (ST7735_BLACK); // Bildschirm löschen
Tft.setTextColor (ST7735_WHITE);
Tft.setTextSize (1);
Tft.setCursor (30,0);
Tft.println ("Gehirnkontrolle");

Serial.begin (9600);
aufrechtzuerhalten.
Void Schleife () {

If (brain.update ()) {
If (brain.readSignalQuality ()> 199) {
Tft.fillScreen (ST7735_BLACK);
Tft.setCursor (10, 60);
Tft.setTextSize (1);
Tft.setTextColor (ST7735_RED, ST7735_BLACK);
Tft.println ("SQ low");
Tft.fillScreen (ST7735_BLACK);
aufrechtzuerhalten.

Sonst {
Tft.setCursor (30,0);
Tft.setTextSize (1);
Tft.println ("Gehirnkontrolle");
Tft.drawLine (0, 20, tft.width () - 1, 20, ST7735_WHITE);
Tft.drawLine (0, 130, tft.width () - 1, 130, ST7735_WHITE);

Tft.setCursor (0, 30);

Tft.setTextColor (ST7735_YELLOW, ST7735_BLACK);
Tft.setTextSize (1);
Tft.print ("Signalqualität:");
Tft.print (brain.readSignalQuality ());
Tft.println ( "");
Tft.println ( "");
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK);
Tft.println ("Achtung:");
Tft.setTextSize (2);
Tft.setCursor (60, 60);
Tft.print (brain.readAttention ());
Tft.println ( "");
Tft.setTextColor (ST7735_WHITE, ST7735_BLACK);
Tft.setTextSize (1);
Tft.println ( "");
Tft.print ("Meditation:");
Tft.setTextSize (2);
Tft.setCursor (60, 100);
Tft.print (brain.readMeditation ());
Tft.println ( "");
If (brain.readSignalQuality () == 0) {
Tft.setCursor (0,140);
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("Relais 1 ist ein");
DigitalWrite (Pin1, 0);
aufrechtzuerhalten.
Sonst {
Tft.setCursor (0,140);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME OFF
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("Relais 1 ist aus");
DigitalWrite (Pin1, 1);
aufrechtzuerhalten.
aufrechtzuerhalten.
If (brain.readAttention ()> 50) {
Tft.setCursor (0,75);
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("Relais 2 ist ein");
DigitalWrite (Pin2, 0);
aufrechtzuerhalten.
Sonst {
Tft.setCursor (0,75);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME OFF
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("Relais 2 ist aus");
DigitalWrite (Pin2, 1);
aufrechtzuerhalten.
Wenn (brain.readMeditation ()> 50) {
Tft.setCursor (0,118);
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("Relais 3 ist ein");
DigitalWrite (Pin3, 0);
aufrechtzuerhalten.
Sonst {
Tft.setCursor (0,118);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME OFF
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("Relais 3 ist aus");
DigitalWrite (Pin3, 1);
Aufrechtzuerhalten.

Void tftPrintTest () {
Tft.setTextWrap (false);
Tft.fillScreen (ST7735_BLACK);
Tft.setCursor (0, 10);
Tft.setTextColor (ST7735_WHITE);
Tft.setTextSize (1);
Tft.println ("INSTRUCTABLES.COM");
Verzögerung (500);
Tft.setCursor (30, 60);
Tft.setTextColor (ST7735_RED);
Tft.setTextSize (2);
Tft.println ("Gehirn");
Tft.setTextColor (ST7735_YELLOW);
Tft.setCursor (5, 80);
Tft.println ("Controler");
Tft.setTextColor (ST7735_BLUE);
Verzögerung (50);
aufrechtzuerhalten.

Schritt 10: Video von gesteuerten Relais

Mini-Arduino Multifunktions-Controller mit LCD-Display

Schritt 11: Bonus: Mind kontrollierte LASER-Lichtshow

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Dieses Beispiel zeigt Ihnen, wie Sie einen LASER und zwei Motoren mit dem MindFlex Kopf einstellen. Sie benötigen das Relais-Modul nicht. Das Beispiel zeigt, wie die Geschwindigkeit der Motoren mit PWM von den Daten des Headsets gesteuert werden kann. Ich verwende die Aufmerksamkeit und Meditation Signale , um die Motoren zu steuern, und die Signalqualität des Lasers und auszuschalten.

Um dieses Beispiel zu bauen, brauchst du das LASER Light-Show-Modul, das ich im Ziel-Clearance-Rack nach Halloween bekommen habe, aber du kannst auch zwei Motoren von einem alten PC-CD-Player und einem Laser von einem billigen Laserpointer benutzen.

Schließen Sie Laser an Pin 9 an
Motor 1 - an Pin 10 anschließen
Motor 2 - an Pin 11 anschließen

Schließen Sie alle + roten Drähte an Arduino VCC oder + 6V an

Schritt 12: Mind gesteuertes Laserlicht zeigt Code

Mini-Arduino Multifunktions-Controller mit LCD-Display

// Skizze Build auf Arduino kompiliert 1.0.3.

// Kopieren Sie die Skizze unten und fügen Sie sie in die Arduino IDE überprüfen, und führen Sie das Programm.
// Diese Skizze wurde unter Verwendung von Code aus den Adafruit- und Hirn-Bibliotheken erstellt

#define sclk 4
#define mosi 5
#define cs 6
#define dc 7
#define rst 8
// GND an Arduino GND angeschlossen
Int Pin1 = 9; // IN1 an Digital 9 angeschlossen an Laser -
Int Pin2 = 10; // IN2 angeschlossen an Digital 10 an Motor 2 angeschlossen -
Int Pin3 = 11; // IN3 angeschlossen an Digital 11 an Motor 1 angeschlossen -
Int Pin4 = 12; // IN4 angeschlossen an Digital 12 wird hier nicht verwendet
// Motor 1 & 2 + und Laser + verbinden mit Arduino + 5v

#include <Adafruit_GFX.h> // Core-Grafik-Bibliothek
#include <Adafruit_ST7735.h> // Hardware-spezifische Bibliothek
#include <SPI.h>
#include <Brain.h>

Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, mosi, sclk, rst);

Gehirn Gehirn (seriell);

Void setup (void) {

Tft.initR (INITR_BLACKTAB); // initialisieren einen ST7735S-Chip, schwarze Registerkarte
PinMode (Pin1, OUTPUT);
PinMode (Pin2, OUTPUT);
PinMode (Pin3, OUTPUT);
PinMode (Pin4, OUTPUT);

DigitalWrite (Pin1, 1);
DigitalWrite (Pin2, 1);
DigitalWrite (Pin3, 1);
DigitalWrite (Pin4, 1);
TftPrintTest (); // Einleitungstext,
Verzögerung (1000);

Tft.fillScreen (ST7735_BLACK); // Bildschirm löschen
Tft.setTextColor (ST7735_WHITE);
Tft.setTextSize (1);
Tft.setCursor (30,0);
Tft.println ("Gehirnkontrolle");

Serial.begin (9600);
aufrechtzuerhalten.
Void Schleife () {

If (brain.update ()) {
If (brain.readSignalQuality ()> 199) {
Tft.fillScreen (ST7735_BLACK);
Tft.setCursor (10, 60);
Tft.setTextSize (1);
Tft.setTextColor (ST7735_RED, ST7735_BLACK);
Tft.println ("SQ low");
Tft.fillScreen (ST7735_BLACK);
aufrechtzuerhalten.

Sonst {
Tft.setCursor (30,0);
Tft.setTextSize (1);
Tft.println ("Gehirnkontrolle");
Tft.drawLine (0, 20, tft.width () - 1, 20, ST7735_WHITE);
Tft.drawLine (0, 130, tft.width () - 1, 130, ST7735_WHITE);

Tft.setCursor (0, 30);

Tft.setTextColor (ST7735_YELLOW, ST7735_BLACK);
Tft.setTextSize (1);
Tft.print ("Signalqualität:");
Tft.print (brain.readSignalQuality ());
Tft.println ( "");
Tft.println ( "");
Tft.setTextColor (ST7735_CYAN, ST7735_BLACK);
Tft.println ("Achtung:");
Tft.setTextSize (2);
Tft.setCursor (60, 60);
Tft.print (brain.readAttention ());
Tft.println ( "");
Tft.setTextColor (ST7735_WHITE, ST7735_BLACK);
Tft.setTextSize (1);
Tft.println ( "");
Tft.print ("Meditation:");
Tft.setTextSize (2);
Tft.setCursor (60, 100);
Tft.print (brain.readMeditation ());
Tft.println ( "");
If (brain.readSignalQuality () == 0) {
Tft.setCursor (0,140);
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("LASER ist ein");
DigitalWrite (Pin1, 0);
aufrechtzuerhalten.
Sonst {
Tft.setCursor (0,140);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("LASER ist aus");
DigitalWrite (Pin1, 1);
aufrechtzuerhalten.
aufrechtzuerhalten.
If (brain.readAttention ()> 5) {
Tft.setCursor (0,75);
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("MOTOR 2 ist EIN");

AnalogWrite (Pin2, brain.readAttention ());
aufrechtzuerhalten.
Sonst {
Tft.setCursor (0,75);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("MOTOR 2 ist AUS");
DigitalWrite (Pin2, 1);

aufrechtzuerhalten.
Wenn (brain.readMeditation ()> 5) {
Tft.setCursor (0,118);
Tft.setTextColor (ST7735_GREEN, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("MOTOR 1 ist EIN");

AnalogWrite (Pin3, brain.readMeditation ());
aufrechtzuerhalten.

Sonst {
Tft.setCursor (0,118);
Tft.setTextColor (ST7735_RED, ST7735_BLACK); // Setze die Farbe für TIME ON
Tft.setTextSize (1); // Textgröße einstellen
Tft.print ("MOTOR 1 ist AUS");
DigitalWrite (Pin3, 1);
Aufrechtzuerhalten.

Void tftPrintTest () {
Tft.setTextWrap (false);
Tft.fillScreen (ST7735_BLACK);
Tft.setCursor (0, 10);
Tft.setTextColor (ST7735_WHITE);
Tft.setTextSize (1);
Tft.println ("INSTRUCTABLES.COM");
Verzögerung (500);
Tft.setCursor (30, 60);
Tft.setTextColor (ST7735_RED);
Tft.setTextSize (2);
Tft.println ("Gehirn");
Tft.setTextColor (ST7735_YELLOW);
Tft.setCursor (5, 80);
Tft.println ("Controler");
Tft.setTextColor (ST7735_BLUE);
Verzögerung (50);
aufrechtzuerhalten.

Schritt 13: Video der Mind-gesteuerten Laserlicht-Show

Mini-Arduino Multifunktions-Controller mit LCD-Display

Schritt 14: Leichte und / oder temperaturgeregelte Relais herausfordern

OK, jetzt bist du dran, zu versuchen, die Relais mit Licht und Temperatur zu kontrollieren! Sehen, wenn Sie eine Schaltung und schreiben Sie den Code. Um es zu tun, verweisen Sie auf meine anderen instructables, die Informationen, um es zu tun ist alles da! Wenn Sie es nicht herausfinden können, werde ich diesen Abschnitt mit den notwendigen Schritten aktualisieren. Viel Glück!

Schritt 15: Manuelle / automatische Steckdosenerweiterung für Relais

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Dieser Schritt ist für diejenigen, die eine praktische Möglichkeit, Haushaltsgeräte oder eine andere Haushalt powerd Gerät mit dem Arduino und das Relais-Modul in den früheren Schritten beschrieben steuern wollen. Ich habe einen Wippschalter, so dass Sie auch manuell die Steckdose ein-und ausschalten können.

Was du brauchen wirst:

  • Ein Kunststoff-Steckdose
  • Ein Outlet
  • Ein Netzstecker, der von einem alten PC-Netzteil gerettet wird
  • Ein Wippschalter mit Reset kann von der alten Steckdosenleiste gerettet werden
  • Ein PC-Leistungsakkord
  • Ein 2-poliges schwere Steckverbinder-Paar
  • Elektrisches Kabel

Werkzeuge. Benötigt:

  • Ein Hochleistungslötkolben und Lötmittel
  • Drahtschneider / Stripper
  • Gebrauchsmesser oder Kastenschneider
  • Schraubendreher
  • Klebepistole und Klebestifte

Schritt 16: Auslasskonstruktion

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Mini-Arduino Multifunktions-Controller mit LCD-Display

Der Bau ist ziemlich straitforward; Verwenden Sie das Utility-Messer oder Kastenschneider, um Löcher für den Wippschalter, den PC-Netzstecker und den 2-poligen Stecker auszuschneiden, in der Kunststoff-Steckdose. Größe der Löcher so gut Sie können, und fügen Sie dann die Teile in die entsprechenden Löcher. Befestigen Sie die Teile nach Möglichkeit mit Kleber oder Schrauben. Verwenden Sie die bereitgestellten Bilder, um Sie zu führen und geben Ihnen eine Vorstellung davon, wie dies zu tun.
Sobald die Teile vorhanden sind, müssen Sie die Teile zusammen verdrahten und sie an Ort und Stelle anlöten.

Related Reading