Happy Tail-Projekt
Der Maker-Bewegung und Technologie bieten eine grenzenlose Welt der Kreativität für Menschen, die innovative Projekte entwickeln möchten. Diese Aktivität macht nicht nur Spaß, sondern bietet auch eine lohnende Bildungsmöglichkeit. Es ist beispielsweise ein guter Ausgangspunkt, wenn Sie den Umgang mit analogen Sensoren wie Potentiometern und Servomotoren erlernen möchten. Wir möchten diese Gelegenheit nutzen, um Ihnen das „Happy Tail-Projekt.”
In diesem Projekt erzeugt ein Servomotor eine Bewegung, die einem Schwanz ähnelt. Es steht Ihnen frei, diese faszinierende Bewegung jeder beliebigen Tierfigur hinzuzufügen; Wir haben uns für eine Maus entschieden, aber die Möglichkeiten sind endlos!
Details und Algorithmus
Der bewegliche Schwanz imitiert mithilfe eines Servomotors perfekt eine schwanzähnliche Bewegung auf der Rückseite eines Spielzeugs oder Geräts. In diesem Projekt wird eine präzise Steuerung des Servomotors durch den Einsatz von a erreicht Potentiometer (Topf). Über das Potentiometer kann der Winkel des Motors vollständig individuell angepasst und präzise auf jede gewünschte Position eingestellt werden. Folglich reproduziert dieses Projekt nicht nur die Bewegung eines verspielten Schwanzes hinter einem Spielzeug, sondern bietet den Herstellern auch eine hervorragende Gelegenheit, sich mit den Grundlagen elektronischer Komponenten und Programmierung zu befassen. Das Moving Tail Project stellt somit einen idealen Ausgangspunkt für Technikbegeisterte und die Maker-Community dar und bietet grenzenlose Kreativität und eine fantastische Lernplattform.
Komponenten
1 x PicoBricks
1 x Servomotor
1 x Verdrahtungskabel
Schaltplan
MicroBlocks-Codes von PicoBricks
PicoBlockly-Codes von PicoBricks
MicroPython-Codes von PicoBricks
von Zeit zu Zeit Schlaf importieren
Mathematik importieren
Importmaschine
vom Maschinenimport-Pin
vom Maschinenimport PWM
von Math Import Fabs
pot = machine.ADC(26)
pwm_1 = PWM(Pin(21))
pwm_1.freq(50)
def CalculateAngle(Winkel):
Winkel = Fabs((Winkel * (6000 / 180)) + 2000)
Winkel = rund(Winkel)
Rückkehrwinkel
während True:
pwm_1.duty_u16(CalculateAngle(round(((( pot.read_u16() ) + ( 0 )) * ( 90 )) / ( 65535 )) ))
Ardunio C-Codes von PicoBricks
#enthalten
#include „ACROBOTIC_SSD1306.h“
#enthalten
#define POT_PIN 26
Servo myservo;
int servo_angle = 0;
void setup() {
// DHT-Sensor und Oled-Bildschirm definieren
Serial.begin(115200);
Wire.begin();
oled.init();
oled.clearDisplay();
pinMode(POT_PIN, INPUT);
myservo.attach(21);
myservo.write(0);
}
void loop() {
servo_angle = map(analogRead(POT_PIN),0,1023,0,90);
myservo.write(servo_angle);
}