Source: https://www.instructables.com/THE-SIMPLEST-FUNCTION-GENERATOR-BUILT-ON-A-BREADBO/ - Chercher le commentaire de mbmast sur cette page. je colle ici le schéma au cas où il disparaîtrait.

Comment ca fonctionne:
Le premier étage est un multivibrateur astable à amplificateur opérationnel. En gros, l'ampliop attend la charge du condo, agit comme une porte NON (ampliop en régime de saturation). Un peu comme l'oscillateur à inverseur trigger Smitt. (Plus ou moins). Plus d'info → https://electroniqueamateur.blogspot.com/2014/10/amplificateur-operationnels-5.html
Les 2è et 3è étages sont des intégrateur, au sens mathématique. L'ampliop calcule l'intégrale (donc l'aire sous la courbe) du signal en entrée. L'intégrale d'un carré est un triangle. L'intérgale d'un triangle est une sinusoide. C'est fascinant. Explication → https://electroniqueamateur.blogspot.com/2014/10/amplificateurs-operationnels-4.html
Le 4è, je sais pas encore à quoi il sert ;-)
J'ai utilisé un LM324 et 22 kOhm pour R2 et R10 (au lieu de 27 kOhm)
\[ R_1 = 100 k\Omega \]

\[ R_1 = 200 k\Omega \]

Et voir ici: https://www.homofaciens.de/technics-base-circuits-function-generator_en.htm (même si c'est pas tout à fait le même circuit de départ ;)
Petite photo pour illustrer :
Si l'on veut entendre quelque chose: