Sparrow-Lernhilfe         

von Leander Hackmann                     
      
Elektronik-Labor  Projekte  AVR  Sparrow  Contest          




In dieser Anwendung geht es um eine effektive Zeiteinteilung beim Lernen von zum Beispiel Vokalen.  Die Pomodoro-Technik wurde von Francesco Cirillo in den 1980er Jahren entwickelt. Die Theorie dahinter besagt, dass man am besten auswendig lernt, wenn man sich über mehrere mehr oder weniger lange Phasen intensiv mit dem zu Lernenden befasst und dazwischen kurze Pausen einlegt. Nach vier oder fünf Lernphasen sollte eine längere Pause gemacht werden und auch nach dem Lernen, damit das Unterbewusstsein Zeit bekommt, das Gelernte zu verarbeiten. Der Sparrow nimmt hierbei die Rolle des Zeitmessers ein.

Pomodoro-Technik:
1.    Aufgabe notieren
2.    Timer stellen
3.    25 Minuten Aufgabe bearbeiten
4.    5 Minuten Pause machen
5.    → Nach 4 „pomodori“ eine Pause von 25 Minuten machen

Abgewandelte Technik für das Vokabellernen:
1.    Vokabeln heraussuchen
2.    10 Minuten intensives Lernen
3.    Vokabelabfrage → wieder zu 2.
4.    30 Minuten „Cooldown“ (Tätigkeitslose Phase)

Um die Zeiten in Minuten für die Lernphase und die Erholungsphase festzulegen, muss beim Anlegen der Betriebsspannung die Taste 2 gedrückt gehalten werden, bis die grüne LED ca. zwei Sekunden aufleuchtet, um den Programmiermodus anzuzeigen. Dann kann durch beliebig häufiges Drücken die Zeit für die Lernphase festgelegt werden. Nach jedem Erhöhen der Minutenanzahl wird letztere von der grünen LED noch einmal durch Blinken angezeigt. Wenn der gewünschte Wert erreicht ist, kann mit Druck auf Taste 2 der Wert ins EEPROM geschrieben werden (die rote LED blitzt kurz auf). Danach muss die Erholungs/Pausenzeit mit dem selben Procedere festgelegt werden. Darauf startet der Sparrow, wie in Punkt 1:

1. Nach dem Anlegen der Spannung blitzen beide LEDs kurz auf. Danach kann entweder mit Taster 1 eine Lernphase gestartet werden (siehe 1.1) oder mit Taster 2 eine Entspannungsphase (siehe 1.2). Davor müssen natürlich korrekte Werte im EEPROM abgelegt worden sein.
 
1.1 Es wurde eine Lernphase gestartet: Die grüne LED zeigt noch einmal durch Blinken die bevorstehende Lernzeit in Minuten an.  Danach blinkt die grüne im Sekundentakt. --> Siehe 2.
 
1.2 Es wurde eine Entspannungsphase gestartet: Die rote LED zeigt noch einmal durch Blinken die bevorstehende Pausenzeit in Minuten an.  Danach blinkt die grüne im Sekundentakt --> Siehe 2.
 
2. Die Zeit ist abgelaufen; die rote LED blinkt hektisch, die grüne LED geht weiter im Sekundentakt an und aus. Mit Taste 2 wird der Alarm quittiert. Danach kann wieder eine Lern- oder Entspannungsphase gestartet werden. (Siehe 1).
 



Download: Sparrow_Pomodori.zip
Direkt laden: http://tiny.systems/categorie/cheepit/Lernhilfe.html

'Pomodori.bas
'Die Technik zur Sekundenerzeugung basiert auf dem Code von Ralf Beesner.

Dim Lernintervall As Integer
Dim Cooldown As Integer 'Cooldown = Pause nach dem Lernen um dem Unterbewusstsein Zeit zu geben, die gelernten Dinge nachzubearbeiten

$regfile = "ATtiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 0
$framesize = 0

Led1 Alias Portb.1
Led2 Alias Portb.3
S1 Alias Pinb.0
S2 Alias Pinb.2
Config Pinb.1 = Output
Config Pinb.3 = Output

Dim Intercnt As Byte
Dim Secs As Byte
Dim Mins As Integer
Dim Tmp As Integer
Dim A As Byte

Clkpr = 128
Clkpr = 3
Clkpr = 3
Sreg.7 = 1
Portb = &B00000101

On Timer0 Timerinterrupt
Config Timer0 = Timer , Prescale = 256

If S2 = 0 Then 'Programmiermodus
Led1 = 1
Waitms 2000
Led1 = 0
Waitms 1000
Do
If S1 = 0 Then
Tmp = Tmp + 1
For A = Tmp To 1 Step -1
Led1 = 1
Waitms 200
Led1 = 0
Waitms 200
Next A
End If

If S2 = 0 Then
Led2 = 1
Writeeeprom Tmp , 10
Tmp = 0
Waitms 10
Led2 = 0
Exit Do
End If
Loop

Waitms 1500

Led2 = 1
Waitms 2000
Led2 = 0
Waitms 1000
Do
If S1 = 0 Then
Tmp = Tmp + 1
For A = Tmp To 1 Step -1
Led1 = 1
Waitms 200
Led1 = 0
Waitms 200
Next A
End If

If S2 = 0 Then
Led2 = 1
Writeeeprom Tmp , 20
Waitms 10
Led2 = 0
Exit Do
End If
Loop
End If

Readeeprom Lernintervall , 10
Readeeprom Cooldown , 20
Waitms 1000
Led1 = 1
Led2 = 1
Waitms 100
Led1 = 0
Led2 = 0

Buttonabfrage:
If S1 = 0 Then
Waitms 600
For Tmp = Lernintervall To 1 Step -1
Led1 = 1
Waitms 200
Led1 = 0
Waitms 200
Next Tmp
Tmp = Lernintervall
Goto Pomodoristart
End If

If S2 = 0 Then
For Tmp = Cooldown To 1 Step -1
Led2 = 1
Waitms 200
Led2 = 0
Waitms 200
Next Tmp
Tmp = Cooldown
Goto Pomodoristart
End If
Goto Buttonabfrage

Pomodoristart:
Enable Timer0
Start Timer0
Do
If Secs >= 60 Then
Tmp = Tmp - 1
Led1 = 1
Waitms 20
Led1 = 0
Secs = 0
End If

If Tmp <= 0 Then
Do
Waitms 20
Led2 = 1
Waitms 40
Led2 = 0
Waitms 40
Loop Until S2 = 0
Stop Timer0
Disable Timer0
Waitms 300
Led1 = 1
Led2 = 1
Waitms 200
Led1 = 0
Led2 = 0
Waitms 200
Goto Buttonabfrage
End If
Loop


Timerinterrupt:
Tcnt0 = 22
Intercnt = Intercnt + 1
If Intercnt >= 22 Then
Secs = Secs + 1
Intercnt = 0
Toggle Led1
End If
Return

End



Elektronik-Labor  Projekte  AVR  Sparrow Contest