Goed, de 5 seconden opstart tijd van de DigiSpark afhalen: hier is de procedure.
1. Download de nieuwe bootloader
2. Nieuwe bootloader op de DigiSpark laden
3. Tsjoek-tsjoek programma laden, met andere pin configurratie
4. Pinnen omsolderen
Download bootloaderDe bootloader is het programma dat wordt gestart als de microcontroller, de ATtiny, start. De standaard bootloader 'kijkt' de eerste 5 seconden of de DigiSpark is aangesloten op een USB van de computer. Als dat zo is, dan kan er een nieuw programma worden geladen.
Een zekere DigiDucky heeft een bootloader gemaakt die alleen 5 seconden op een USB signaal wacht als pin 0 met de GND is verbonden. Is die verbinding tussen pin 0 en GND er niet, dan start de bootloader meteen het programma dat is geladen.
De zip met de benodigde bestanden vind je hier:
https://sites.google.com/site/csapractical/DigiDucky.zipNa het downloaden de zip uitpakken (en onthouden waar het uitgepakte bestand staat).
Bootloader op DigiSpark ladenHiervoor gebruik je de opdrachtprompt van Windows (ja, we gaan weer even het DOS tijdperk in): Typ "CMD" in de zoekfunctie op de taakbalk en start de opdrachtprompt.
In het uitgepakte zip bestand van DigiDucky staat de
micronucleus.exe. Sleep dit bestand naar het opdrachtprompt venster.
Typ dan een spatie in het opdrachtvenster. Sleep vervolgens het bootloader bestand
micronucleus-1.11-entry-jumper-pb0-upgrade.hex naar het opdrachtprompt venster.
Typ dan weer een spatie gevolgd door "--run".
Het opdrachtpromptscherm ziet er dan uit als iets dergelijks:

Druk vervolgens op 'enter'. Nu sluit je de DigiSpark aan op de USB poort.
Even wachten en dan wordt de nieuwe bootloader geïnstalleerd op de DigiSpark. Daarna ziet het scherm er ongeveer zo uit.
Tsjoek-tsjoek programma ladenVervolgens kan de met de Arduino IDE het programma opnieuw worden geladen. Wel even de pin configuratie veranderen: met de transtor op pin 0 blijft de 5 seconde vertraging bestaan (solderen komt straks: nu is de weerstand met transistor op pin 0 nog een mooie verbinding met de GND).
Dus in het programma wordt
#define Ruispin 0 // pin voor aansturen van speaker: pin 1 of 0 (0 = 5 sec. vertraging)
#define rijpin1 1 // rijstroom meting
#define rijpin2 2 // rijstroom meting
vervangen door
#define Ruispin 1 // pin voor aansturen van speaker: pin 1 of 0 (0 = 5 sec. vertraging)
#define rijpin1 2 // rijstroom meting
#define rijpin2 4 // rijstroom meting
En dan uploaden.
Pinnen omsolderenPin 0 kan nu niet meer worden gebruikt. Dus de ruis komt nu van pin 1 en de rijstroom wordt gemeten op pin 2 en 4.
Dan wordt het aansluitschema als volgt:

En klaar: de lok moet nu meteen geluid geven en alleen even 'sissen' bij stroomonderbrekingen.
Mocht je later nieuwe software willen laden, dan:
- pin 0 met GND verbinden
- pin 4 los maken (de spanningsdeler op deze pin verstoort de data-verbinding van de USB die hier ook op zit).
Succes!
Rob