Peguino Forum
Peguino Switch Brick (Schalter) - Printable Version

+- Peguino Forum (https://www.peguino.com/chat)
+-- Forum: Peguino Deutschland, Österreich und Schweiz (https://www.peguino.com/chat/forum-32.html)
+--- Forum: Alle Peguino Bricks und deren Beschreibungen etc. (https://www.peguino.com/chat/forum-34.html)
+--- Thread: Peguino Switch Brick (Schalter) (/thread-54.html)



Peguino Switch Brick (Schalter) - Peguinohero - 01-09-2019

Peguino Switch Brick (Schalter)

Dieser Peguino Baustein beinhaltet einen Ein-/ Ausschalter. Mit ihm kann das Peguino Projekt eingeschalten werden. Der Schalter kann aber auch eine Lampe einschalten etc.


[Image: Brick_Switch_01b.png]



Dieser Baustein kann auch als aktives Element verwendet werden. Dazu kann er mit den Ports C und / oder D verbunden werden. Hierbei ist jedoch zu beachten, dass diese Ports nicht unter Strom gesetzt werden dürfen (dies ist standardmößig der Fall und kann mit den gelben Steckverbindern (Jumper) auf dem Board innerhalb des Peguino Uno Bricks) geöndert werden.) Als Beispiel-Programmscript kann z.B. das Peguino Button Brick-Skript verwendet werden (siehe unten).
Normalerweise wird der Peguino Switch Brick intern auf den schwarten Pin-Konnektor aufgesteckt.


Anmerkung: Sie "Einschaltseite" des Schalters höngt von der Richtung ab, in der der Stecker innen auf das PCB-Board (die Platine im Peguino Uno Brick) aufgesteckt ist. Es sit eine Markierung auf das Board aufgedruckt. Der Schalter wird standardmäßig linksbündig aufgesteckt.


Beispiel:


1. Programmskript für einen Peguino Uno Nano Baustein:
Code:
/*
 Button Brick
 (C) 2018 by Peguino LTD
 Connect the Button Brick to port D2
 Connect the RGB LED Brick to port F
 Version 1
 
 Note: Use the Serial Plotter to see the values


 Peguino Uno Nano Board Pinout
            ┌─╥─┐
    D_13  1 │     │ 30  D_12
   3.3 V  2 │     │ 29  D_11
    AREF  3 │     │ 28  D_10
D_14 A_0  4 │     │ 27  D_9
D_15 A_1  5 │     │ 26  D_8
D_16 A_2  6 │     │ 25  D_7
D_17 A_3  7 │     │ 24  D_6
D_18 A_4  8 │     │ 23  D_5
D_19 A_5  9 │     │ 22  D_4
     A_6 10 │     │ 21  D_3
     A_7 11 │     │ 20  D_2
      5V 12 │     │ 19  GND
   Reset 13 │     │ 18  Reset
     GND 14 │     │ 17  D_0 RX
Power In 15 │     │ 16  D_1 TX
            └───┘
 Visit https://www.peguino.com        
*/

const int buttonPin = 17;     // Digital 17, Analog 3

// ledPin refers 1:1 to ESP32 GPIO 12, 13 and 14
const int ledPin1 = 12; // red
const int ledPin2 = 11; // green
const int ledPin3 = 13; // blue

int buttonState = LOW;         // variable for reading the pushbutton status

void setup(){
 // initialize digital pin ledPin as an output.
 pinMode(ledPin1, OUTPUT);
 pinMode(ledPin2, OUTPUT);
 pinMode(ledPin3, OUTPUT);
 digitalWrite(ledPin1, HIGH);
 digitalWrite(ledPin2, HIGH);
 digitalWrite(ledPin3, HIGH);

 pinMode(buttonPin, INPUT);        // initialize the Button Brick pin as an input
 Serial.begin (115200);            // Press Ctrl+Shift+M and set the serial monitor to the same baud rate!
 Serial.println("Peguino Button press monitor");
}

void loop(){
 // read the state of the pushbutton value:
 buttonState = digitalRead(buttonPin);

 // now check if the Bbutton brick is pressed. If it is, the buttonState is HIGH:
 if (buttonState != LOW) {
   digitalWrite(ledPin1, LOW);     // Red light on
  digitalWrite(ledPin2, HIGH);     // Green light off
 } else {
   digitalWrite(ledPin1, HIGH);    // Red light off
  digitalWrite(ledPin2, LOW);      // Green light on
  delay (500);                     // if you remove the 0.5 seconds waiting time you can see the bouncing spikes interfering the results
 }
 Serial.println(buttonState);
}



2. Programmskript für einen Peguino Uno ESP32 Baustein:
Code:
/*
  Button Brick
  (C) 2018 by Peguino LTD
  Connect the Button Brick to port D2
  Connect the RGB LED Brick to port F
  Version 1
 
  Note: Use the Serial Plotter to see the values


  Peguino Uno ESP 32 Development Board Pinout
            ┌─╥─┐
  3.3     1 │     │ 30  5V
  GND     2 │     │ 29  GND
  GPIO15  3 │     │ 28  GPIO13
  GPIO2   4 │     │ 27  GPIO12
  GPIO4   5 │     │ 26  GPIO14
  GPIO16  6 │     │ 25  GPIO27
  GPIO17  7 │     │ 24  GPIO26
  GPIO5   8 │     │ 23  GPIO25
  GPIO18  9 │     │ 22  GPIO33
  GPIO19 10 │     │ 21  GPIO32
  GPIO21 11 │     │ 20  GPIO35
  GPIO3  12 │     │ 19  GPIO34
  GPIO1  13 │     │ 18  GPIO39
  GPIO22 14 │     │ 17  GPIO36
  GPIO23 15 │     │ 16  Chip enable
            └───┘
  Visit https://www.peguino.com          
*/

const int buttonPin = 23;     // GPIO 23 Pin

// ledPin refers 1:1 to ESP32 GPIO 12, 13 and 14
const int ledPin1 = 13; // red
const int ledPin2 = 12; // green
const int ledPin3 = 14; // blue
int buttonState = LOW;         // variable for reading the pushbutton status

void setup(){
  // initialize digital pin ledPin as an output.
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  digitalWrite(ledPin1, HIGH);
  digitalWrite(ledPin2, HIGH);
  digitalWrite(ledPin3, HIGH);

  pinMode(buttonPin, INPUT);   // initialize the Button Brick pin as an input
  Serial.begin (115200);        // Press Ctrl+Shift+M and set the serial monitor to the same baud rate!
  Serial.println("Peguino Button press monitor");
}

void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // now check if the Bbutton brick is pressed. If it is, the buttonState is HIGH:
  if (buttonState != HIGH) {
    digitalWrite(ledPin1, LOW);     // Red light on
   digitalWrite(ledPin2, HIGH);     // Green light off
  } else {
    digitalWrite(ledPin1, HIGH);    // Red light off
   digitalWrite(ledPin2, LOW);      // Green light on
   delay (500);                     // if you remove the 0.5 seconds waiting time you can see the bouncing spikes interfering the results
  }
  Serial.println(buttonState);
}