Enige tijd geleden was ik bezig een Arduino project en ik nodig om te zien of het uitgangssignaal in overeenstemming met de specifieke kenmerken was. Dus ik enige tijd op het internet op zoek naar Arduino oscilloscopen al ten uitvoer gelegd, maar ik hield niet van wat ik vond. De projecten die ik vond waren meestal samengesteld uit een grafische User Interface voor de computer die is geschreven in Processing en een zeer eenvoudige arduino sketch. De schetsen waren iets als:
VOID Setup {}
Serial.begin(9600);
}void loop {}
int val = analogRead(ANALOG_IN);
Serial.println(val);
}
Deze aanpak is niet verkeerd en ik wil niet te beledigen iemand, maar dit is te traag voor mij. De seriële poort is traag en het verzenden van elk resultaat van een analogRead() erdoorheen is een knelpunt.
Ik heb bestudeerd golfvorm Digitizers voor enige tijd en ik weet redelijk goed hoe werken ze, dus ik kreeg inspiratie van hen. Dit waren de uitgangspunten van de oscilloscoop die ik wilde maken:
- het binnenkomende signaal moet worden losgekoppeld van de arduino te behouden;
- met een offset van het signaal is het mogelijk om te zien van negatieve signalen;
- de gegevens moeten worden opgeslagen in een buffer;
- een hardware-trigger is vereist voor de vangst van de signalen;
- een circulaire buffer kan geven de signaalshape vóór de trigger (meer op dit punt te volgen);
- lagere hefboom functies gebruikt die de standaard maakt het programma sneller uitgevoerd.
De schets voor de Arduino is aangesloten op deze stap, samen met het schema van het circuit dat ik heb gemaakt.
De naam die ik kwam met, Girino, is een frivole woordspeling in het Italiaans. Giro betekent rotatie en toevoegen het achtervoegsel -ino krijg je een kleine rotatie, maar Girino ook tadpole. Op deze manier kreeg ik een naam en een mascotte.