Zum Inhalt springen

Karnevals-Swing-Ride-Projekt

13 Nov 2023
Carnival Swing Ride Project

Erinnern Sie sich an die Karnevalsschaukelfahrt Sets, die früher nach dem Unterricht sehnsüchtig am Schultor auf uns warteten? Diese Schaukeln, auf denen eine Gruppe gleichzeitig aufspringen und die aufregende Fahrt genießen konnte, waren auch in Vergnügungsparks oder versteckt in Nachbarschaftsecken ein alltäglicher Anblick. Die Chancen stehen gut, dass Sie schon mindestens einmal einen Versuch unternommen haben. Jetzt erwecken wir diesen traditionellen Spielplatzliebling in elektronischer Form wieder zum Leben. Mit PicoBricks, einem Gleichstrommotor und einem SummerWir laden Sie ein, dieses klassische Vergnügen nachzubilden – sei es als Dekorationsstück, als Spielzeug oder kreative Projektideen zugeschnitten auf Ihre Fantasie. Möchten Sie dieses Projekt ausprobieren und entscheiden, wo es am besten in Ihre Welt passt?

Details und Algorithmus

Dieser Code bildet die Grundlage für a Raspberry Pi-unterstützt Swing-Karnevalsfahrt Projekt, das die Nostalgie traditioneller Unterhaltung mit moderner elektronischer Steuerung verbindet. Um die Geschwindigkeit des Schwungs zu regulieren, werden wesentliche Variablen wie „motorState“ und „motorSpeed“ eingeführt. Als Ausgangspunkt wird die anfängliche Motorgeschwindigkeit auf Null gesetzt.

Der Code besteht aus zwei grundlegenden Funktionen: „runMotor“ und „stopMotor“. Die Funktion „runMotor“ liest die Potentiometerermittelt den Wert, wandelt ihn in einen Prozentsatz um und bestimmt die Drehzahl des Motors. Gleichzeitig zeigt es die Geschwindigkeit der Karnevalsschaukel an OLED-Bildschirm. Andererseits setzt die Funktion „stopMotor“ die Motorgeschwindigkeit auf Null und zeigt die Meldung „Carnival Stopped“ auf dem Bildschirm an. Im Wesentlichen ermöglicht dieser Code die Echtzeitanpassung der Drehgeschwindigkeit der Schaukel mithilfe eines Potentiometers und liefert eine sofortige Rückmeldung auf dem Bildschirm.

Zunächst wird der Benutzer mit einer Nachricht begrüßt, die ihn auffordert, a zu drücken Taste um das zu starten Projekt Schaukelpark. Der Code wartet dann darauf, dass der Benutzer die Taste drückt, und schaltet beim Drücken den Motorstatus um. Anschließend wird je nach Zustand des Motors entweder die Funktion „runMotor“ oder „stopMotor“ aufgerufen.

Zusammenfassend verwendet dieser Code einen Knopf und ein Potentiometer zur Steuerung Projekt Swing Park, das einen Hauch Nostalgie mit moderner Elektronik verbindet. Es bietet ein fesselndes und interaktives Erlebnis, bei dem Benutzer die Geschwindigkeit des Schwungs in Echtzeit optimieren und gleichzeitig den Charme eines Klassikers genießen können Karnevalsschaukelfahrt.

Komponenten

  • 1xPicoBricks
  • 1xDC-Motor
  • Überbrückungskabel
  • Karton
  • Farbige Papiere
  • 8xSeil
  • 1xSchere
  • Kartuschenpistole

Schaltplan

carnival swing ride diagram

MicroBlocks-Codes von PicoBricks

swing ride microblocks

PicoBlockly-Codes von PicoBricks

carnival swing ride microblocks

MicroPython-Codes von PicoBricks

von Zeit zu Zeit Schlaf importieren
Importmaschine
vom Maschinenimport-Pin
vom Maschinenimport I2C
Von Picobricks importieren Sie SSD1306_I2C
Importzeit
Mathematik importieren
vom Maschinenimport PWM
vom Maschinenimport ADC

pin_button = machine.Pin(10, machine.Pin.IN)
i2c = I2C(0, scl=Pin(5), sda=Pin(4), freq=200000)
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
Mathematik importieren
pot = machine.ADC(26)
motor_1 = PWM(Pin(21))
motor_1.duty_u16(0)

def runMotor():
    globaler motorState, motorSpeed
    motorSpeed ​​= Round(round( pot.read_u16() - 0 ) * ( 100 - 0 ) / ( 65535 - 0 ) + 0)
    motor_1.duty_u16(motorSpeed ​​* 650)
    oled.fill(0)
    oled.text("{}".format("Karneval"), 26, 20)
    oled.text("{}".format("Geschwindigkeit"), 38, 30)
    oled.text("{}".format("%"), 44, 45)
    oled.text("{}".format(motorSpeed), 54, 45)
    oled.show()

def stopMotor():
    globaler motorState, motorSpeed
    motor_1.duty_u16(0 * 650)
    oled.fill(0)
    oled.text("{}".format("Karneval"), 32, 15)
    oled.text("{}".format("was"), 50, 30)
    oled.text("{}".format("Gestoppt"), 35, 45)
    oled.show()

motorState = 0
motorSpeed ​​= 0
while (pin_button.value()) == (0):
    oled.fill(0)
    oled.text("{}".format("Carnaval Ride"), 10, 5)
    oled.text("{}".format("Taste drücken"), 15, 45)
    oled.text("{}".format("zum Start"), 35, 55)
    oled.show()

während True:
    if (pin_button.value()) == (1):
        wenn motorState == (0):
            motorState = 1
        anders:
            motorState = 0
        time.sleep((0.1))
    wenn motorState == (1):
        runMotor()
    anders:
        stopMotor()

Arduino C-Codes von PicoBricks

#enthalten
#include „ACROBOTIC_SSD1306.h“

#define BUTTON_PIN 10

const int motorPin = 21;
const int potPin = 26;

bool motorState = false;

void stopMotor() {
  analogWrite(motorPin, 0);
  //oled.clearDisplay();
  oled.setTextXY(1, 3);
  oled.putString("Karneval");
  oled.setTextXY(3, 6);
  oled.putString("was");
  oled.setTextXY(5, 4);
  oled.putString("Gestoppt");
}

void setup() {
  Serial.begin(9600);
  pinMode(BUTTON_PIN, INPUT);
  pinMode(motorPin, OUTPUT);
  Wire.begin();
  oled.init();
  oled.clearDisplay();
  oled.setTextXY(1, 4);
  oled.putString("Karneval");
  oled.setTextXY(2, 6);
  oled.putString("Ride");
  oled.setTextXY(5,2);
  oled.putString("Taste drücken");
  oled.setTextXY(6,3);
  oled.putString("to Start");
}

void loop() {
  if (digitalRead(BUTTON_PIN) == HIGH) {
    motorState = true;
    Verzögerung(100);
    oled.clearDisplay();
  }

  while(motorState == true) {
    Serial.println(motorState);
    int motorSpeed ​​= map(analogRead(potPin), 0, 1023, 0, 99);
    analogWrite(motorPin, motorSpeed ​​* 2,5);
    oled.setTextXY(1, 4);
    oled.putString("Karneval");
    oled.setTextXY(3, 5);
    oled.putString("Geschwindigkeit");
    oled.setTextXY(5, 5);
    oled.putString("%");
    oled.setTextXY(5, 7);
    oled.putString(String(motorSpeed));
    
    if (digitalRead(BUTTON_PIN) == HIGH) {
      motorState = false;
      oled.clearDisplay();
      stopMotor();
      Verzögerung (300);
    }
 }

}

Mit diesen kreative Projektideen die Sie mit PicoBricks ganz einfach selbst durchführen können, nutzen Sie die Gelegenheit, sich im Bereich Codierung jeden Tag ein wenig weiter zu verbessern!

Vorheriger Beitrag
Nächster Beitrag

Danke fürs Abonnieren!

Diese E-Mail wurde registriert!

Shoppen Sie den Look
Wählen Sie Optionen

Bearbeitungsoption

Benachrichtigung wieder auf Lager

Vergleichen

Produkt ArtikelnummerBewertungBeschreibung Sammlung Verfügbarkeit Produktart Andere Details
this is just a warning
Anmeldung
Einkaufswagen
0 Artikel
Same Day Shipping No Extra Costs
Easy Returns Guarantee Return with Ease
Secure Checkout Secure Payment