Ik heb volgende vragen
1) Wat staat er op de LCD?
2) Krijgen de servo's hun voeding van het Arduino board?
3) Zijn er nog ander plaatsen in je code waar je de servo's aanspreekt?
4) Ben je zeker dat de servo's aan de juiste pinnen hangen?
1) Op Het LCD worden de waardes geprint die de sensor terug geeft, deze kloppen ook gewoon.
2) Servo's worden apart gevoed door 4 AA's, Uno door een 9v batterij. GND is gedeeld om problemen te voorkomen.
3) Nee, de servo's worden alleen in de if loop aangesproken
4) 100% zeker, werken gewoon naar behoren. Als ik een sketch laad die alleen de servo's aanstuurt werkt dit gewoon vlekkeloos.
1) Ik veronderstel dat er dus geen direction info wordt weergegeven.
2) dat ziet er goed uit
3) Das niet waar
void loop()
{
// Be sure the continous servo's don't move
leftservo.write(90);
rightservo.write(90);
4) Das goed om weten
Wat je nodig hebt is een pragmatiche aanpak om het probleem op te lossen.
Wat ik zou doen
1) Verplaats deze code naar het einde van setup()
// Be sure the continous servo's don't move
leftservo.write(90);
rightservo.write(90);
2) Verwijder de
delay(1000);
uit de beslissings boom.
3) Verhoog de laatste
delay(100);
Nar een getal dat je tijd geeft om te handlen. BV 10000
4) zet je robot op een verhoogje zodat de wielen de grond niet raken.
5) Gebruik je LCD (of de serial monitor) om te debuggen.
Schrijf de waarden op die de scanner je geeft. (VB 0,0,100)
Bepaal welke richting je verwacht dat de robot neemt met deze waarden? (dat zou go right moeten zijn)
Komt dit op de LCD?
lcd.setCursor(0,3);
lcd.print("Direction: Right");
Dan is het goed en zou de robot ook moeten werken.
Veel geluk
Jantje