servo geluid servo

Arduino specifieke Software
Berichten: 12
Geregistreerd: 11 Mrt 2017, 17:50

servo geluid servo

Berichtdoor snijder » 11 Mrt 2017, 17:59

Hallo,

Ik ben een beginnende arduino gebruiker en ik loop elke keer weer op een probleem aan.
Ik wil op mijn modelspoorbaan een houthakker laten bewegen met een geluid van het hakken.
Ik krijg de servo in beweging en daarna krijg ik het hakgeluid, maar daarna beweegt de servo niet meer terug.
Wie weet wat ik fout doe en kan mij een antwoord geven?

Hieronder heb ik de script? geschreven.
Alvast bedankt voor de moeite.

cpp code
//#define SD_ChipSelectPin 53  //example uses hardware SS pin 53 on Mega2560
#define SD_ChipSelectPin 4 //using digital pin 4 on arduino nano 328, can use other pins
#include <TMRpcm.h> // also need to include this library...
#include <SPI.h>

TMRpcm tmrpcm; // create an object for use in this sketch
#include <Servo.h>

Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0; // variable to store the servo position


void setup() {
myservo.attach(7);
tmrpcm.speakerPin = 9; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc

Serial.begin(9600);
if (!SD.begin(SD_ChipSelectPin)) { // see if the card is present and can be initialized:
Serial.println("SD fail");
return; // don't do anything more if not

}

}

void loop() {


for (pos = 0; pos <= 140; pos += 8) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree

myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(50); // waits 15ms for the servo to reach the position
}

tmrpcm.play("hak.wav");
delay(200);
tmrpcm.stopPlayback();


for (pos = 120; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(150); // waits 15ms for the servo to reach the position
}

delay(random(800, 30000));
}

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: servo geluid servo

Berichtdoor nicoverduin » 11 Mrt 2017, 18:19

Kom je wel terug uit die playback? Ik zou ff gebruik maken van de serial om ff de verschillende stappen in de loop te bevestigen
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 12
Geregistreerd: 11 Mrt 2017, 17:50

Re: servo geluid servo

Berichtdoor snijder » 11 Mrt 2017, 19:16

He? :oops:

Wat ik al schreef ben ik een beginner en om eerlijk te zeggen snap ik niet wat je zegt.
Zou je anders voor mij kunnen schrijven hoe je een servo kan laten bewegen en dan van de sdkaart een geluid laten afspelen en daarna weer de servo weer terug laten bewegen?

Ik weet dat ik veel vraag maar ik kan dit nergens vinden op het internet en ben er al ongeveer een half jaar mee bezig.

Theo

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: servo geluid servo

Berichtdoor nicoverduin » 11 Mrt 2017, 19:39

Serial is een mogelijkheid om via de seriele monitor output te zien. Je zou dus kunnen kijken dat als de stopPlayback() of je dan een serieel statement kan uitvoeren. Ik ga je niet uitleggen hoe serieel werkt want daar zijn legio voorbeelden van ... naast een heleboel andere tutorials in de IDE.
Als ik je voorbeeld zo bekijk lijkt het erop dat de code niet fout is. Dus is het maar de vraag of die mp3 library wel goed werkt. Geen idee. Ken hem niet.
Dus moet je debuggen om de oorzaak te vinden. En in dit geval start de playback wel. Maar komt hij na stoppen wel terug in jouw programma. Dat zijn dingen die je moet uitzoeken
Als jij al 6 maanden bezig bent dan zou je eens kunnen overwegen om eerst een aantal van die tutorials te bekijken die zijn bijgeleverd in de IDE. Puur om de basis te leren. Nu krijg ik de indruk dat je die stappen overslaat en gelijk wil sprinten......
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 12
Geregistreerd: 11 Mrt 2017, 17:50

Re: servo geluid servo

Berichtdoor snijder » 11 Mrt 2017, 19:42

Oke.

Ieder geval bedankt voor de reactie.

Theo

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: servo geluid servo

Berichtdoor Koepel » 11 Mrt 2017, 21:08

Volgens mij gebruikt de TMRh20/TMRpcm library (https://github.com/TMRh20/TMRpcm/wiki) de Timer1, en de Servo library gebruikt ook Timer1.
Het gaat dus niet samen.

Er zijn alternatieven die Timer2 gebruiken voor een Servo. Ik weet niet of deze goed is: https://github.com/nabontra/ServoTimer2.

Berichten: 12
Geregistreerd: 11 Mrt 2017, 17:50

Re: servo geluid servo

Berichtdoor snijder » 11 Mrt 2017, 21:17

Bedankt voor de hulp,

Dit ga ik morgen proberen. :D

Berichten: 12
Geregistreerd: 11 Mrt 2017, 17:50

Re: servo geluid servo

Berichtdoor snijder » 12 Mrt 2017, 17:13

Hoi,

Ik heb het geprobeerd maar deze werkt niet (het programma geeft een foutmelding).

Ik kwam wel erachter dat het script die ik schreef hierboven blijft hangen nadat het geluid heeft weergegeven.
Maar als ik de seriële monitor start begint de script weer bij het begin, de servo geeft een sweep en hij geeft weer een geluidsweergave.
Dit gebeurd ook als ik alleen de bautrate van de seriële monitor veranderd.

Het is vreemd en ik snap niet wat er aan de hand is.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: servo geluid servo

Berichtdoor Koepel » 12 Mrt 2017, 17:50

Welke foutmeling ?
De eerste foutmelding is de belangrijkste.
In de voorkeuren kun je de compiler output aanzetten, dan zie je veel meer. Je kunt dan alles van de uitvoer aan ons laten zien. Het geeft niet als dat heel veel is.

Wanneer je de seriële monitor opent, dan wordt er een reset naar de Arduino gestuurd.

Je hebt een Arduino Nano ? Is die aangesloten via de USB ?
Hoe krijgt de servo motor zijn spanning ?
Kun je er een foto van maken ?

De 5V pin van een Arduino board is eigenlijk niet eens geschikt voor één servo motor. En een servo motor geeft storing. Het is dus best mogelijk dat een servo motor alleen werkt, maar zodra je iets toevoegt, dat het dan niet meer werkt door de storing en stroomverbruik van de servo.

Ik weet niet precies wat die TMRh20/TMRpcm allemaal doet. Dus misschien is er nog steeds een probleem in software.

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: servo geluid servo

Berichtdoor shooter » 12 Mrt 2017, 21:38

het is een timer verhaal, op een mega kan het goed want dan kies je voor een andere timer voor de wav file.
paul deelen
shooter@home.nl

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Google [Bot] en 33 gasten