Zum Inhalt springen

#19 Hungriges Sparschwein-Projekt mit PicoBricks

08 Nov 2023
#19 Hungry Piggy Bank Project With PicoBricks

Ultraschallsensoren senden Schallwellen mit einer Frequenz aus, die unser Ohr nicht wahrnehmen kann, und erzeugen Entfernungsinformationen, indem sie die Rückkehrzeit der reflektierten Schallwellen berechnen. Wir, die Programmierer, entwickeln Projekte, indem wir die gemessene Entfernung und die Entfernungsänderungen verstehen. Parksensoren an der Vorder- und Rückseite von Autos sind die Orte, an denen Ultraschallsensoren im täglichen Leben am häufigsten vorkommen. Kennen Sie das Lebewesen, das mit dieser Methode seinen Weg in die Natur findet? Da Fledermäuse blind sind, finden sie ihren Weg durch die Reflexionen der von ihnen erzeugten Geräusche.

Viele von uns sparen gerne Geld. Es ist ein sehr schönes Gefühl, dass das Geld, das wir nach und nach sparen, bei Bedarf nützlich ist. In diesem Projekt basteln Sie sich ein sehr lustiges und süßes Sparschwein. Bei der Herstellung des Sparschweins verwenden Sie den Servomotor und den Ultraschall-Abstandssensor.

Details und Algorithmus

In diesem Projekt werden der Ultraschall-Abstandssensor HC-SR04 und der Servomotor SG90 verwendet. Wenn der Benutzer Geld in den Trichter des Sparschweins legt, erkennt der Abstandssensor die Nähe und signalisiert PicoBricks. PicoBricks betätigt den Servomotor und hebt den Arm an, wirft das Geld in das Sparschwein und dann fährt der Arm wieder nach unten.

Komponenten

1X PicoBricks
1X HC-SR04 Ultraschallsensor
1X Servomotor
Überbrückungskabel
Einfache Verbindungskabel

Schaltplan

Sie können die Module von Picobricks ohne Verkabelung programmieren und betreiben. Wenn Sie die Module getrennt von der Platine verwenden möchten, sollten Sie die Modulverbindungen mit Grove-Kabeln herstellen.

Bauphasen des Projekts

Durch Anklicken gelangen Sie zu den Originaldateien und Bauphasen des Projekts Hier. Im Gegensatz zum Projekt in diesem Link werden wir den Ultraschall-Abstandssensor HC-SR04 verwenden. Sie können die aktualisierten 3D-Zeichnungsdateien für den Ultraschall-Abstandssensor HC-SR04 unter herunterladen dieser Link und erhalten Sie den 3D-Druck.

1: Befestigen Sie den Kunststoffapparat des Servomotors mit 2 Schrauben am Sparschweinarm.

2: Befestigen Sie den zweiten Teil des Sparschweinarms mit der M3-Schraube und der Mutter am ersten Teil, wo sich der Trichter befindet.

3: Führen Sie das Servomotorkabel durch und platzieren Sie es in seinem Schlitz.

4: Platzieren Sie den Servomotor und sein Gehäuse auf dem Gehäuse des Sparschweins. Hier können Sie Heißkleber verwenden.

5: Platzieren Sie den Ultraschall-Abstandssensor im Sparschweingehäuse und befestigen Sie ihn mit Heißkleber.

6: Befestigen Sie den Sparschweinarm am Servomotor und befestigen Sie ihn mit M3-Schrauben an der oberen Abdeckung.

7: Befestigen Sie den Sparschweinarm mit einer M2-Schraube am Gehäuse.

8: Stecken Sie die Kabel des Servomotors und des Ultraschall-Abstandssensors ein und schließen Sie die Stromkabel an.

9: Gemäß Schaltplan die Kabel des Servomotors und des Ultraschall-Abstandssensors an den Pico anschließen.

10: Stecken Sie das USB-Kabel von Pico ein, bauen Sie die Kabel wieder zusammen und bringen Sie die untere Abdeckung an. Das ist alles.

MicroBlocks-Codes der PicoBricks

Sie können auf die Microblocks-Codes des Projekts zugreifen, indem Sie das Bild auf die Registerkarte „Microblocks Run“ ziehen oder auf klicken Taste.

 

 

Registerkarte „Mikroblöcke ausführen“.

MicroPython-Codes der PicoBricks

 

vom Maschinenimport Pin, PWM
Zeit importieren
#define die Bibliotheken
Servo = PWM (Pin(21, Pin.OUT))
Trigger = Pin(15, Pin.OUT)
echo = Pin(14, Pin.IN)
#Definieren Sie die Eingangs- und Ausgangspins
servo.freq(50)
servo.duty_u16(6750)

def getDistance():
    trigger.low()
    utime.sleep_us(2)
    trigger.high()
    utime.sleep_us(5)
    trigger.low()
    while echo.value() == 0:
        signaloff = utime.ticks_us()
    while echo.value() == 1:
        signalon = utime.ticks_us()
    timepassed = signalon – signaloff
    Distanz = (verstrichene Zeit * 0,0343) / 2
    print("Der Abstand vom Objekt beträgt ", distance, "cm")
    Rückweg
#Entfernung berechnen

während True:
    utime.sleep(0.01)
    if int(getDistance()) <= 5: # wenn die Distanzvariable kleiner als 5 ist
        servo.duty_u16(4010)
        utime.sleep(0.3) # warten
        servo.duty_u16(6750)

Arduino C-Codes der PicoBricks

 

#include 
#trigPin 15 definieren
#echoPin 14 definieren
//Definiere die Bibliotheken
Servo-Servo;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  // Definiere die Eingangs- und Ausgangspins
  servo.attach(21); //Definiere den Servo-Pin
}

void loop() {
  lange Dauer, Entfernung;
  digitalWrite(trigPin, LOW);
  VerzögerungMikrosekunden(2);
  digitalWrite(trigPin, HIGH);
  VerzögerungMikrosekunden(10);
  digitalWrite(trigPin, LOW);
  Dauer = PulseIn(echoPin, HIGH);
  Distanz = (Dauer / 2) / 29,1;
  //Entfernung berechnen

  if (distance < 5) { //wenn die Distanzvariable kleiner als 5 ist
    Serial.print(distanz);
    Serial.println(" cm");
    servo.write(179);
  }
  else if (distance > 5) { // wenn die Distanzvariable größer als 5 ist
    Serial.print(distanz);
    Serial.println(" cm");
    servo.write(100);
  }
}
GitHub-Projektseite
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