Errors & Tips
Beginnen | Hardware | Software | Voorbeeldprogramma | Inkscape & lasersnijden | Errors & Tips | Kekbot | [TrompBot Website] | Trompbots | Percussie & ritme | Fioretti programma
Tips voor het gebruik van de software en hardware.
Mocht je nog tips hebben of errors hebben opgelost stuur ze dan op naar info[apenstaartje]trompbot.nl, dan zetten we ze hierbij!
Software
Check even of je de juiste microcontroller hebt geselecteerd in Energia.
type: MSP430G2553
Als je dat niet hebt gedaan, krijg je eerder een [ROM] of [RAM] overflow error.
ROM overflow error
Bij deze fout staat er ergens in de foutmeldingen region 'rom' overflowed.
Deze fout houdt in dat je ROM geheugen van de microcontroller te klein is voor jouw programma. Check eerst of je wel de juiste microcontroller hebt gekozen (zie boven). Verder kan je jouw programma kleiner maken door bijvoorbeeld functies te gebruiken.
RAM overflow error
Bij deze fout staat er ergens in de foutmeldingen region 'ram' overflowed.
Deze fout houdt in dat je RAM geheugen van de microcontroller te klein is voor jouw programma. Check eerst of je wel de juiste microcontroller hebt gekozen (zie boven). Er is niet genoeg ruimte voor al je variabelen. Kijk of je een aantal variabelen in jouw programma kan weghalen, of
dat je ze kleiner kan maken.
Error = 57
Bij het uploaden van je programma kan de volgende fout voorkomen:
"could not find MSP.....on specified COM port (error= 57)"
Dit kan te maken hebben met je servos. Als deze meteen beginnen te draaien op het moement dat je de Launchpad op je computer aansluit veroorzaken ze een EMC probleem. Er zijn twee oplossingen:
- koppel je servos los voordat je je programma upload in de Launchpad (bedankt voor de tip Sam!), als het programma erin zit kun je de servos weer aansluiten.
- laat je programma pas starten als er op de drukknop gedrukt wordt, dat kan met de volgende
Code in de setup()
functie.
Als je de linker schakelaar S2 indrukt, dan gaat het programma verder met deloop()
functie.
// wacht op schakelaar bij bet opstarten
void setup()
{
pinMode(5, INPUT_PULLUP); // drukknop, als input
while( digitalRead(5) == HIGH ) // als de schakelaar HOOG is (niet ingedrukt)
delay(1) ; // wacht. Doe niets
// de knop is ingedrukt. We gaan verder
}
Tips
Als je programma een fout geeft bij de controle, lees dan de regels en lees Dan je programma nog eens goed door of je je aan alle regels hebt gehouden.
Als je programma werkt, maak dan een kopie van je programma onder een andere naam, voordat je dingen gaat toevoegen of aanpassen. Als het daarna niet meer werkt, dan kan je nog terug naar het oude programma en kijken wat Je verandert hebt. De fout zit dan in je veranderingen!
Programmeer regels voor Energia / C++
Er zijn een aantal regels waar je rekeing mee moet houden als je gaat programmeren.
Klik op de volgende link voor meer info: regels
Hardware
Te veel stroom door de servos
Als de servos teveel kracht moeten leveren (zwaar lopen) of vastlopen, dan gebruiken ze veel stroom. Het kan dan gebeuren dat de microcontroller niet goeg stroom meer krijgt en stopt. Hij start dan opnieuw op als er weer spanning is en je programma begint weer opnieuw. Dat kan lastig zoeken zijn, want je hebt soms niet direct door dat dit gebeurt
Er zijn twee oplossingen voor dit probleem:
- Zorg dat je motor niet teveel kracht moet leveren (zorg dat je mechanica soepel loopt en dat de motor niet kan vastlopen).
Verminder evtentueel de snelheid waarmee de motor beweegt (door in je programma tussenstappen met posities halverwegen te programmeren)
- Zorg voor meer stroom naar de motor. Dat is lastiger. Je moet dan de aansluitingen van de servo veranderen. Je hebt een voeding van 4 tot maximaal
6 Volt nodig, die minimaal 1 Ampere kan leveren.
Let Op: Gebruik nooit meer dan 6 Volt, dat kan de servo, de microcontroller of de computer kapot maken
Als voeding kan je een universele laboratorium voeding, USB voeding of batterij gebruiken (4x penlight of 1x platte 4.5 volt batterij). Pas op met de aansluitingen: nooit de (+) en (-) aansluiting omdraaien, en nooit kortsluiting maken!
1) Onderbreek de rode draad (+) naar de servo. Je kan het pinnetje voorzichtig uit de connector halen met een klein schroevendraaiertje of mesje. 2) Sluit de plus van de voeding aan op de servo 3) Sluit de min van de voeding aan op de GND aansluiting van de Launchpad.
Inspiratie Links
Instructables Robotic-Drum Beschrijving van zelfmaak drumrobots met Arduino!
Voor inspiratie op percussie muziek:
- Samba band Braziliaans slagwerk van Os Malandros
- Percussie definitie & instrumenten Wikipedia!
- www.tromppercussion.nl Internationaal Percussie festival in Eindhoven
Voor inspiratie op robots (en muziek):
- Tron robot orkest Homepage: hier
- EOL Robot orkest
- Theo's mechanic ape Een groep mensen die o.a. met robotica en kunst bezig zijn
- Team Dare Een robot orkest
- LemurBots Een orkest met robot instrumenten
- Gitaar 4 snarige Robot gitaar
- Toyota robot speelt viool, en Toyota band
- Robothanden spelen piano
- Presentatie van Gil Weinberg over Muzikale improviserende robots, Shimi: muzikale robot, Live improviseren met robots
- Automatische muziek instrument demonstratie
Andere links naar robots:
Ontwerpen en maken
- Fablab Protospace in Utrecht
- Fablab Amersfoort
- Instructables allerlei maak projecten
- thingiverse Digitale ontwerpen
Technische informatie Links
- Arduino.cc De Arduino software en hardware. Hier vind je de uitleg van de functies in de software
- Arduino.nl Nederlandse arduino site, met uitleg over diverse software en hardware functies
Gebruikte software
- Installeren De laatste Energia software en hardware die we gebruiken. Hier kan je de programmeer software downloaden.
- Inkscape.org Tekenprogramma voor lijntekeningen (vector tekeningen)
Inkscape -> klik op "download" en kies: Windows — installer