In this video, we would like to introduce you to the Servos MG90S and SG90. As part of the video, the technical specifications and differences between the two variants are explained. In addition, we show several sample circuits to show how the servos can be used and how the cabling works.
Here you will find the servos presented:
Wiring SG90 Example:
Code SG90 Example:
/* ___ _____ ____ ___ / /__ / / __ \___ / (_) _____ _______ __ / /| | / / ______/ / / / _ \/ / / | / / _ \/ ___/ / / / / ___ |/ /_/_____/ /_/ / __/ / /| |/ / __/ / / /_/ / /_/ |_/____/ /_____/\___/_/_/ |___/\___/_/ \__, / /____/ Product, data sheet and Pinout at: https://www.az-delivery.de/ Project: MG90S and SG90S Servo Date: 03/2022 */ #include <ESP32Servo.H> Servo MG90SServo; Servo SG90Sevro; intimately Servopinmg90s = 14; intimately Servopinsg90 = 25; void set up() { Serial.Begin(115200); delay(250); MG90SServo.setperiodhertz(50); MG90SServo.Attach(Servopinmg90s); SG90Sevro.setperiodhertz(50); SG90Sevro.Attach(Servopinsg90); MG90SServo.write(0); SG90Sevro.write(0); } void loop() { IF (Serial.Available()) { String Indata = ""; Indata = Serial.reap('\ n'); IF (Indata.start -up("M")) { serverotation(MG90SServo); } Else IF (Indata.start -up("U")) { serverotation(SG90Sevro); } } } void serverotation(Servo function servo){ for (intimately I = 0; I <= 180; I += 5) { // servo position is set in 20 ° steps function servo.write(I); Serial.print("Servo position:"); Serial.print(I); delay(300); } }
Code scissors stone paper (MG90S or SG90):
/* ___ _____ ____ ___ / /__ / / __ \___ / (_) _____ _______ __ / /| | / / ______/ / / / _ \/ / / | / / _ \/ ___/ / / / / ___ |/ /_/_____/ /_/ / __/ / /| |/ / __/ / / /_/ / /_/ |_/____/ /_____/\___/_/_/ |___/\___/_/ \__, / /____/ Product, data sheet and Pinout at: https://www.az-delivery.de/ Project: MG90S and SG90S Servo Date: 03/2022 */ #include <ESP32Servo.H> String bot =""; // servo const uint8_t Servo_num = 3; Servo servoaray[Servo_num]; uint8_t servopins[Servo_num]={14,27,26}; const uint8_t output = 70; String selection[Servo_num] = {"scissors", "stone", "paper"}; // Ultrasonic sensor const uint8_t trigpin = 5; const uint8_t echopin = 18; #define Sound_speed 0.034 long duration; float distance; Bool intervenes(){ //Measurement digital(trigpin, Low); Delaymicroseconds(2); digital(trigpin, HIGH); Delaymicroseconds(10); digital(trigpin, Low); duration = pulse(echopin, HIGH); // calculate the distance distance = duration * Sound_speed/2; return (distance<=10); } void set up() { Serial.Begin(115200); // set up servos for (uint8_t I = 0; I < Servo_num; I++) { servoaray[I].setperiodhertz(50); servoaray[I].Attach(servopins[I]); servoaray[I].write(output); Serial.print(I); } // Ultrasonic pin mode(trigpin, OUTPUT); pin mode(echopin, Input); } void loop() { IF(intervenes()) { uint8_t random number = random(0,Servo_num); bot=selection[random number]; servoaray[random number].write(0); // servo write // debug Serial.print("Bot:"); Serial.print(bot); Serial.print("--------------------"); delay(3000); servoaray[random number].write(output); } }
8 comments
Andreas Wolter
wir haben den Schaltplan ausgetauscht. Dabei ist auch aufgefallen, dass das Bauteil für den Konverter zwei Plus-Eingänge hatte. Das stimmt so natürlich nicht. Warum das Video nicht korrekt angezeigt wird, können wir nicht sagen. In den meisten Fällen wird es hier angezeigt. Manchmal in der Höhe verringert. Eine Lösung können wir aktuell noch nicht anbieten. Wir suchen noch nach der Lösung.
Grüße,
Andreas Wolter
AZ-Delivery Blog
Chris
Ich habe übrigens heute das ‘verschollene’ Video gefunden.
Das Cookie-Plugin auf dieser Seite ist einerseits angenehm zurückhaltend und wartet links unten auf Interaktion.
Andererseits wird einem das Video so lange verwehrt, bis man darauf geklickt und min. ‘Marketing-Cookies’ erlaubt hat.
Dann vielleicht doch lieber auf allen (Blog)Seiten (welche Videos beinhalten) ein Popup aktivieren oder entsprechende Platzhalter mit Info einfügen!?
Chris
Also ich kann hier kein Video sehen…
Nur eine auffällig große, weiße Fläche zwischen den Texten “…Verkabelung funktioniert.” und “Hier finden Sie…”
Übrigens frage ich mich als Elektronik-Anfänger ebenso, warum man auf einem Breadboard die Komponente mit den meisten Anschlüssen nicht (zumindest annähernd) mittig auf dem Board platziert, so dass alle Pins erreichbar sind. Will ich (später) irgendeine Komponente ergänzen, muss ich dafür vielleicht einen der unteren Pins erreichen – und dann erst mal wieder umstecken…
Bernhard
Hallo,
muss mich Veit anschließen. Sehe auch kein Video und nur eine Schaltung!
Andreas Wolter
Ich habe die Anmerkungen weitergegeben. Die Anschlüsse auf dem Schaltbild sind technisch korrekt. Plus ist auf der Plus Schiene (Rot) und Minus ist auf der Minus Schiene (Blau). Plus und Minus sind getrennt und nicht alle auf einer Schiene. Nur die Verwendung der Verdrahtung ist für Fritzing Schaltpläne etwas unüblich. Das besprechen wir intern und ändern das ggfs.
@Thorsten: wir haben sehr viele Leser, die sich gerade erst als Einsteiger mit diesen Themem befassen. Dafür sind die Fritzing Schaltpläne bestens geeignet.
Grüße,
Andreas Wolter
AZ-Delivery Blog
Thorsten
Ich kann dem Kommentar zum Verdrahtungsplan nir zustimmen. Ich verstehe aber eh nicht warum in der “Maker Szene” dieser Fritzing Kindergarten Kram üblich ist. Ein ordentlicher Schaltplan ist meist deutlich übersichtlicher. Hier mit den sechs Drähten gehts ja noch. Aber wenn es mehr wird, sieht man vir bunter Linien garnichts mehr.
Veit
Hallo
Nur fehlt das Video. Beispielschaltungen sehe ich nur eine???
Rainer Müller-Knoche
Das Verdrahtungsbeispiel ist, finde ich kriminell, Ein Laie oder auch einer nichtganz erfahrender Maker richtet damit großen Schaden an. Warum?
Alle Anschlüsse des ESP8266 oder ESP32 (was immer das ist) auf der einen Seite stecken auf der plus Stromschiene, sind damit kurz geschlossen. Soweit ich auf die schnell im Kopf habe sind das auch + und – Anschlüsse die dann kurz geschlossen werden, das kommt gar nicht gut. Ich bin mir sicher da raucht was ab.
Und wo starte ich das Video auf das im Newsletter Werbung versprochen wird