Home > MicroWorlds
EX Robotics Examples > MicroWorlds EX
Robotics Maths Projects > Graph-temp Code
; Purpose: To record &
plot temperature data
; Copyright © 2004 by Rupert Russell
; e-mail: rupert.russell1@gmail.com
; URL: http://www.rupert.id.au/microworlds/
; Created: November 28, 2004
;
; This program is free software;
; you can redistribute it and/or modify
; it under the terms of the GNU General
; Public License as published by
; the Free Software Foundation;
; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the
; hope that it will be useful,
; but WITHOUT ANY WARRANTY;
; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A
; PARTICULAR PURPOSE. See the
; GNU General Public License for more
; details.
;
; You should have received a copy of
; the GNU General Public License
; along with this program; if not,
; write to the Free Software
; Foundation, Inc., 675 Mass Ave,
; Cambridge, MA 02139, USA.
; -----------------------------------
to startup
; used to number
; new event text
; boxes
; read the value from
; the hidden event_number
; text box
make "event_count event_number
pu
cc
;
hide the Stop button
set "button4 "visible? "false
end
to start
cc
pd
talkto "temperature
bottom
unselect
print "
setc "black
t1, clickon
sendrc [beep]
;
hide the Start button
set "button2 "visible? "false
;
show the Stop button
set "button4 "visible? "true
end
to stop_plotting
t1, clickoff
sendrc [beep]
;
hide the Stop button
set "button4 "visible? "false
;
show the Start button
set "button2 "visible? "true
end
to clear
pu
cg
setpos [-352 23]
talkto "Temperature
ct
cc
clear_events
;
move to current temperature
carefully [sety (requestrm "temp1) / 2][ ]
pd
end
to clear_events
; used to number
; new event text
; boxes
make "event_count 0
;
used to remember the
; current event_count
; this value is
; saved with the project
talkto "event_number
ct
insert :event_count
make "counter 0
;
remove all event
; markers
repeat 100 [
make "counter :counter + 1
make "new_name word "event :counter
carefully
[remove :new_name] []
]
end
to copy_data
t1, clickoff
talkto "Temperature
top
select
bottom
copy
;
select the text
; again to show that
; it was copied
top
select
bottom
end
to plot_data
; Plot the data
; in temperature
; text box again
pu
cg
setpos [-352 23]
setc "blue
talkto "temperature
top
make "number_of_lines textcount "temperature
repeat :number_of_lines
[
select
eol
; copy to clipboard
copy
cd
sol
;
read the clipboard
make "temp_value clipboard
;
plot the value
sety :temp_value
pd
; move along the x axis
setx xcor + 5
]
end
to event
; mark an event
; with a text box
if :event_count > 99
[
announce [You can only add 100 events]
stop
]
question [Enter event text]
make "event_count :event_count + 1
;
create the name for
; the new text box
make "new_name word "event :event_count
make "string1 (se (word
char 91 xcor char 32 ycor char 93)
(word char 91 150 char 32 30 char 93) )
make "string2 (word
"newtext char 32 char 34 :new_name
char 32 :string1)
carefully [run :string2] []
talkto :new_name
showtext
top
insert answer
carefully [transparent :new_name] [ ]
; record current
; event_number
; in the hidden
; text box
; "event_number
talkto "event_number
ct
insert :event_count
end
APA citation:
Russell, R. (2016, July 05, 07:14 am). Graph-temp Code.
Retrieved November 25, 2024, from http://www.rupert.id.au/microworlds/code/art2.php
601 Visits since August 26, 2005