O.G.
Diskussionsleiter
Profil anzeigen
Private Nachricht
Link kopieren
Lesezeichen setzen
beschäftigt
dabei seit 2010
dabei seit 2010
Profil anzeigen
Private Nachricht
Link kopieren
Lesezeichen setzen
Bastelarbeit - NervaTron
29.10.2016 um 16:13Jetzt wo die "Kalte" Jahreszeit kommt, hab ich wieder mal meine Lötkolben rausgeholt und gebastelt & und gecodet.
Ich will euch meine "NervaTron" vorstellen.
Man könne es als "Hello World" in der Microprocessor Welt vorstellen.
Es kann fast nicht und geht eine auf die Eier. ;)
So wie ein "Hello World" Programm.
Die Funktion.
1. Es gibt bis jetzt 3 verschiedene pieps geräusche von sich.
2. Es ist "zufall" welches abgespielt wird.
3. Es ist "zufall" wann es abgespielt wird. -> Max 254 Minuten Wartezeit !
Mehr kann es nicht, ich bin auf die Idee gekommen als ich Navi CIS gesehn hab da gab es sowas.
---------------------------------------------------------------------------------------------------------
Technick:
Es ist ein C-Control Micro Unit
Die in Basic++ ( WorkBench++ v2.4) geschrieben wurde.
Es gibt keine Word, String usw...
Daher ergibt sich auch "NUR" 254 Minuten Wartezeit byte kann nur 0-255 annehmen.
Teileliste Standalone:
Zum Programmieren wird das Application Board benötigt (Conrad 19 83 02 ) !!! COM-Port !!!
Oder ihr baut ech was selber -> MAX232 <- es müsste auch mit eine USB Programmer gehn
USB to RS232.
Die schaltung wurde von den schaldplan des Evaluationsboard C-Control I Programmer-/Evolution-Board Micro abgeleitet !
Ich haffe nicht für FHELER meiner Seite !!!
Topsite
Backsite
Firmware
Ihr könnt alles was mit "ComTXD" zu tun hat raus nehmen, ist nur zum testen ob es alles so macht was es soll! -> print ;) -> ausgabe auf ein Terminalprogramm ;)
MFG O.G.
Ich will euch meine "NervaTron" vorstellen.
Man könne es als "Hello World" in der Microprocessor Welt vorstellen.
Es kann fast nicht und geht eine auf die Eier. ;)
So wie ein "Hello World" Programm.
Die Funktion.
1. Es gibt bis jetzt 3 verschiedene pieps geräusche von sich.
2. Es ist "zufall" welches abgespielt wird.
3. Es ist "zufall" wann es abgespielt wird. -> Max 254 Minuten Wartezeit !
Mehr kann es nicht, ich bin auf die Idee gekommen als ich Navi CIS gesehn hab da gab es sowas.
---------------------------------------------------------------------------------------------------------
Technick:
Es ist ein C-Control Micro Unit
Die in Basic++ ( WorkBench++ v2.4) geschrieben wurde.
Es gibt keine Word, String usw...
Daher ergibt sich auch "NUR" 254 Minuten Wartezeit byte kann nur 0-255 annehmen.
Teileliste Standalone:
Zum Programmieren wird das Application Board benötigt (Conrad 19 83 02 ) !!! COM-Port !!!
Oder ihr baut ech was selber -> MAX232 <- es müsste auch mit eine USB Programmer gehn
USB to RS232.
C1 = 10 µF
C2 = 10 µF
C3 = 100 nF
D1 = Led ( low power ) !!!
D2 = 1N4148
IC1 = 78L05
IC2 = C-Control Micro Unit
S1 = Microtaster
Bz1 = Buzzer
9V Clip
IC Sockel 8 Pin
Lochrasterplatiene
Die schaltung wurde von den schaldplan des Evaluationsboard C-Control I Programmer-/Evolution-Board Micro abgeleitet !
Ich haffe nicht für FHELER meiner Seite !!!
Topsite
Backsite
Firmware
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIDie Firmware kann noch sehr verbessert werden, muss mich wieder einarbeiten.
'IIIIIIIIIIIIIIIIIIIIIII NervaTron V 1.0.0 IIIIIIIIIIIIIIIIIIIIIIIII
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
' ( C ) O.G. ( Aggrasso )
' 29.10.2016
'----------------------------------------------------------------------
' THEMA: Nerven ;)
'----------------------------------------------------------------------
'--------------------------
'------ I/O PORTS ---------
'--------------------------
define Beeper port[6]
define LED port[5] ' Status LED
define RunKey port[3] ' Start / Stop
define ComTXD port[1] ' Com Port TXT
'define ADC2 ad[2]
'define ADC5 ad[5]
'define ADC6 ad[6]
'-------------------------- ,0
'---- SYSTEM MEMORY -------
'--------------------------
define Counter1 byte[1] ' Zähler 1 -> Counter ( Max 254 Minuten )
define Counter2 byte[3] ' Zähler 3 -> PlayCounter
define Counter3 byte[4] ' Zähler SystemSound Play
define SecOLD byte[5] ' SecondOLD
define RandW1 byte[6] ' Randomwert -> ( Minuten X )
define RandW2 byte[7] ' Randomwert -> ( RandomSound )
define SysConfig1 byte[8] ' Config für ( PlayRandTimer )
define SysConfig2 byte[9]
'--------------------------
'---- Config SYSTEM -------
'--------------------------
BAUD R9600 ' ComPort 9600 Baud
SecOLD = 0 ' SecondOLD auf 0
Counter1 = 0 ' Minuten Counter ( Max 254 Minunten )
Counter3 = 0
SysConfig1 = 0 ' Config für ( PlayRandTimer )
SysConfig2 = 0 ' Leer
Programm_PlayRandTimer() ' Initialisierung ( PlayRandTimer ) '
'--------------------------------------------------
'--------------------- Start ----------------------
'--------------------------------------------------
#Start
LED = on
Print "$$$ - Wait - $$$ [ NervaTron V 1.0.0 ]"
if RunKey = OFF then goto StartA ' Taste für Start
PAUSE 100
goto Start
'--------------------------------------------------
'-------------------- Pause ----------------------
'--------------------------------------------------
#PauseMode
Programm_SystemSound()
goto Start
'--------------------------------------------------
#StartA
for Counter3= 1 to 3
LED = on
Programm_SystemSound()
pause 10
LED = off
next
print "+------------------------------+"
Print "[ - NervaTron Programm Start - ]"
PAUSE 500
SECOND=0 ' Second auf 0
Counter3=0
'--------------------------------------------------
'--------------------- Main ----------------------
'--------------------------------------------------
#Main
SysConfig1 = 1
if SECOND > 58 then Programm_TickingMin() ' Nach 59 Sek Count1 + 1 '
if Counter1 = RandW1 then Programm_RandomSound() ' Play Sound at Min X
' Secound Ticks Print
if SecOLD < SECOND then Print "Sek: " & SECOND & " | Min: " & Counter1 & " | Play Sound in: " & RandW1 & " Minuten | Sound Play´s: " & Counter2
SecOLD = SECOND
'--------------------------------------------------
if RunKey = off then goto PauseMode ' Taste für Pause -> Noch Ändern <- Stand V 0.4.5
goto Main
'--------------------------------------------------
'--------------------- Reset ---------------------
'--------------------------------------------------
FUNCTION Programm_Reset()
Counter1 = 0
Programm_PlayRandTimer()
END FUNCTION
'--------------------------------------------------
'----------------- TickingMin -------------------
'--------------------------------------------------
FUNCTION Programm_TickingMin()
Print "Random Min: " & RandW1 & " | Play in: " & Counter1
if Counter1 >= 254 then Counter1 = 0 ' Überlauf Check
Counter1 = Counter1 + 1 ' Nach 59 Sec Count1 + 1 (Max 254 Minuten)
PAUSE 100 ' Wichtig -> Sonst nicht + 1 -> + ??
END FUNCTION
'--------------------------------------------------
'--------------- PlayRandTimer ------------------
'--------------------------------------------------
FUNCTION Programm_PlayRandTimer()
RandW1 = RAND / 6
if SysConfig1 = 0 then goto Start
if SysConfig1 = 1 then goto Main
END FUNCTION
'--------------------------------------------------
'------------------ RandomSound ------------------
'--------------------------------------------------
FUNCTION Programm_RandomSound()
RandW2 = RAND
Counter2 = Counter2 + 1 '
if RandW2 >= 170 then SysConfig2=3 ' Grösser gleich 170 -> Sound3
if RandW2 >= 85 then SysConfig2=2 ' Grösser gleich 85 -> Sound2
if RandW2 >= 0 then SysConfig2=1 ' Grösser gleich 0 -> Sound1
Programm_PlaySound()
END FUNCTION
'--------------------------------------------------
'------------------ SystemSound ------------------
'--------------------------------------------------
FUNCTION Programm_SystemSound()
BEEP 22, 2, Beeper
BEEP 44, 4, Beeper
END FUNCTION
'--------------------------------------------------
'----------- Programm Sound 01 to 03 -----------
'--------------------------------------------------
FUNCTION Programm_PlaySound()
Print "Play Sound " & SysConfig2
' Sound 1
if SysConfig2 = 1 then
BEEP 138, 5, Beeper ' Frequenz = 138 , Dauer 5
BEEP 33, 7, Beeper ' Frequenz = 33 , Dauer 7
END IF
' Sound 2
if SysConfig2 = 2 then
BEEP 200, 7, Beeper ' Frequenz = 200 , Dauer 7
BEEP 250, 9, Beeper ' Frequenz = 250 , Dauer 9
Pause 2
BEEP 200, 7, Beeper ' Frequenz = 200 , Dauer 7
BEEP 250, 9, Beeper ' Frequenz = 250 , Dauer 9
END IF
' Sound 3
if SysConfig2 = 3 then
BEEP 22, 2, Beeper ' Frequenz = 22 , Dauer 2
BEEP 80, 6, Beeper ' Frequenz = 80 , Dauer 6
END IF
Programm_Reset()
END FUNCTION
attributes
end attributes
Ihr könnt alles was mit "ComTXD" zu tun hat raus nehmen, ist nur zum testen ob es alles so macht was es soll! -> print ;) -> ausgabe auf ein Terminalprogramm ;)
MFG O.G.