Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 13:48 17 Sep 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : August SC.

     Page 2 of 2    
Author Message
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2447
Posted: 01:17am 14 Aug 2016
Copy link to clipboard 
Print this post

  palcal said  it is great to have a hobby to keep the mind ticking over


the above is an important point that many folks miss - these days you can buy a thingamajig or whatchamacallit to do just about anything. or if one doesn't already exist, you can grab a couple of widgets from ebay and tie them together with gaffa tape, creating a new sort of gizmo to solve that tricky problem.

but those of us who are into a bit of inventing and are engineeringly inclined instead create our own devices to do the job. it might not be as cheap, might not work as well as a genuine thingummy, and will certainly contain many bits all painted non-matching colours. but creating it was both a learning experience, as well as good exercise for the brain.

i am afraid that today our society works hard to avoid brain exercise, and, when it can not be completely avoided, treats learning as a commodity rather than a joy.

i've tried writing articles for magazines based around simple projects, using a handful of discrete components. the only editorial interest has been in discarding the (informative) text and shoving just the circuit in the back of the magazine under ideas for experiment / circuit notebook / short circuits.


btw, i do hear that silicon chip is working on a revolutionary new project - it is an electric drill speed controller based on a micromite and touch screen, with a followup project about adding wifi and bluetooth (who knows when you may need to control your electric drill over the internet or from your iPhone


cheers,
rob :-)Edited by robert.rozee 2016-08-15
 
Benzol
Regular Member

Joined: 07/01/2015
Location: Australia
Posts: 64
Posted: 06:33pm 14 Aug 2016
Copy link to clipboard 
Print this post

Well SC has created some debate if nothing else.
As the author of one of those letters mentioned above (which Leo edited from my original context) I feel the need to comment.
I am not one who has been involved in programming previously, this is all new to me and I have felt like "the proverbial MM fish out of water". There has been a fantastic amount of help from this board which has allowed me to built a couple of MM projects to fill my own requirements which I do appreciate and I thank those people again.
BUT, saying that, early on in my forays into MM I queried OPTION EXPLICIT to be told "read the manual". As a newbie, to understand that term you have to understand variables, so I read the manual but there is that assumption that those basics are already understood. I felt very humbled.
However I am still here, still learning and I appreciate Grogster's comments above. While some could take the moral (technical) high ground and say go away and learn, sometimes unless the real basics are known it is very difficult to take that first step into the precipice.
David Benzie
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9642
Posted: 07:24pm 14 Aug 2016
Copy link to clipboard 
Print this post

[Quote=Benzol].....early on in my forays into MM I queried OPTION EXPLICIT to be told "read the manual". As a newbie, to understand that term you have to understand variables, so I read the manual but there is that assumption that those basics are already understood. I felt very humbled.[/Quote]

Your comments are interesting to me, Benzol. Can you elaborate on which aspect tripped you up?

Was it:

1) You tripped trying to understand the OPTION EXPLICIT description in the manual

2) You tripped trying to understand the OPTION EXPLICIT description in the manual because it references something else you also did not understand at that point in time

3) 'assumption that those basics are already understood.' - Can you explain exactly what basics with respect to the MM that you think you were expected to know?

Why I ask, is that if I(and others interested) can see where newbie's are tripping up - even with the manual available - then we could probably write a "Newbie's guide" or something. Not a full re-write newbie manual or anything, but a manual that covers those exact basics you felt humbled by.

I think that could be useful to have for the newbies. I would be prepared to write something in simple, easy language if I know the points that people are getting stuck on. We all of us were newbie's at some point, so I do sympathise. Edited by Grogster 2016-08-16
Smoke makes things work. When the smoke gets out, it stops!
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2447
Posted: 07:43pm 14 Aug 2016
Copy link to clipboard 
Print this post

the problem with manuals is nearly always that they are written by people 'in the know' for people who are not, and for someone 'in the know' there are a myriad of small details that they are unaware need explaining.

a good example is the distinction between numeric and string variables. for someone who has done a quantity of programming, the distinction is "obvious", especially if they have used programming languages where variables can assume dozens of different types (string, char, byte, integer, float, pointer, set, etc).

but for someone who has used pencil and paper throughout their life, is perhaps even mathematically quite capable, the concept of a variable name that points to a box (or series of boxes) is quite alien and incomprehensible.

string versus numeric variable is just one of many many such examples.

would folks care to have a look at the zx81 basic manual, at the time touted as being a very good introduction for the absolute beginner:
http://www.worldofspectrum.org/ZX81BasicProgramming/

the zx81 shared much in common with the mk1 micromite. perhaps what is needed is a similar manual for the micromite, where the very simplest aspects of programming are distilled out (sans line numbers) and then expanded upon. this is not a manual that explains the language from A to Z, but rather a course of instruction that builds up understand from the ground.


just my opinion,

cheers,
rob :-)


p.s. personally, if i had my way all strings would end in '$' and all integers would end in '%', as a means of eliminating any confusion.
 
erbp
Senior Member

Joined: 03/05/2016
Location: Australia
Posts: 195
Posted: 07:44pm 14 Aug 2016
Copy link to clipboard 
Print this post

  Grogster said   we could probably write a "Newbie's guide" or something.


Actually I think a really good Glossary of Terms would be a great starting point. I mean one that actually explains the meaning of things in simple, plain English, and where appropriate (and possible) has a simple example to illustrate each term.

Phil E.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4071
Posted: 08:46pm 14 Aug 2016
Copy link to clipboard 
Print this post

There's probably also a need to explain basic electronics, such as what is meant by terms such as ground, signal, analog (analogue?), why capacitors (and other devices) are needed and what they do, etc, since some of the people coming along know how to program but know nothing about hardware.

Of course there's an endless amount already on the net but it's very hard for many a beginner, just as programming is very hard for some beginners (yet trivially easy to grasp for some lucky people).

It's impossible to have something that suits every person who is new (which doesn't mean no attempt should be made).

There are probably introductory articles already on the net so maybe some URLs with a prominent heading (e.g. FOR SOFTWARE BEGINNERS) would do 90% of the job.

Some people grasp hardware very readily, but struggle with software and the reverse is often true.

John
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2956
Posted: 09:24pm 14 Aug 2016
Copy link to clipboard 
Print this post

Hi Benzol, All,

Don't lose heart, I have been a member for the last 5 years and I don't understand what Option Explicit means either.

It doesn't worry me too much as I can work my way around code I write and generally get it to do what I want it to do, so I don't use that one because I don't know what it means..

Doesn't impact on me as there is no point me trying to work my way through anyone's code that uses OPTION EXPLICIT as I would never understand it..

My programming skills can fit in a fairy's thimble.

I am still looking for my LINE NUMBERS

I use GOTO and GOSUB and they do what I need.. All the convoluted answers that have been offered as to an explanation tells me that a few others don't know what it means either.

Kind Regards,

Mick
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
Benzol
Regular Member

Joined: 07/01/2015
Location: Australia
Posts: 64
Posted: 12:13am 15 Aug 2016
Copy link to clipboard 
Print this post

Hi All
Thank you for the reassuring comments.
Grogster, answers to your questions;
1) You tripped trying to understand the OPTION EXPLICIT description in the manual. Yes, at that point in time the description explanation didn't enlighten me at all.

2) You tripped trying to understand the OPTION EXPLICIT description in the manual because it references something else you also did not understand at that point in time.
Yes also. didn't understand variables.

3) 'assumption that those basics are already understood.' - Can you explain exactly what basics with respect to the MM that you think you were expected to know? Same answer as above. I tried learning using FastBasic but that still left me in the dark.

Maybe the work "humbled" wasn't correct, chastised would have been better.
I must admit looking at robert.rozee's link to the ZX80 manual is pretty good. In fact very good for the basics.
A beginners guide guide would be very helpful. Case in point occurred recently with the following code;

Option EXPLICIT
Dim BLNK,CAL,VOLTS,URG
SetPin 14,DOUT 'RED LED ANODE
SetPin 15,DOUT 'GREEN LED ANODE
SetPin 23,AIN '10K/100K RESISTOR DIVIDER
BLNK=2 'LED PULSE LENGTH IN MILLISECONDS
CAL=11.26 'ANALOG CALIBRATION

START:
PAUSE BLNK+1 'WAIT FOR LED ACTIVITY TO CEASE BEFORE SLEEP
CPU SLEEP 3 'PUT UNIT TO SLEEP FOR APPROX 3 SECONDS

VOLTS=0.6+Pin(23)*CAL 'CALIBRATED FOR RESISTOR DIVIDER & PROTECTION DIODE
URG=1+(VOLTS-12)*2 'URG MANAGES THE AMOUNT OF RED/GREEN MIX
Print VOLTS 'USED TO CALIBRATE DIVIDER

The statement VOLTS=0.6+Pin(23)*CAL . As it stands doesn't give a sensible result unless you assume VOLTS=0.6+(Pin(23)*CAL). It took a while until I remembered something from the past that said there was an order to mathematical calculations, multiply came first.

Again, I thank you all for the comments and help. Like Paul, I need the brain exercise si I'm sticking with it.

Regards
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 01:39am 15 Aug 2016
Copy link to clipboard 
Print this post

Probably learning "BASIC", the language is the first requirement.

A lot can be played with in the DOS basic;
Found here;

With it you can try things like:-

PRINT "Hello"
Which will jut put Hello on the screen.

PRINT 4*6
Will put 24 on the screen.
Lots of commands can be tested & learnt this way.

It's worth playing with.

Cheers
 
paceman
Guru

Joined: 07/10/2011
Location: Australia
Posts: 1329
Posted: 04:02am 15 Aug 2016
Copy link to clipboard 
Print this post


  Benzol said  The statement VOLTS=0.6+Pin(23)*CAL . As it stands doesn't give a sensible result unless you assume VOLTS=0.6+(Pin(23)*CAL). It took a while until I remembered something from the past that said there was an order to mathematical calculations, multiply came first.

A lot of us do this for the brain exercise David, notwithstanding those that certainly don't need it.
One of the very early things I was taught in maths was the BODMAS rule (say it as a word). That's the student's way to remember the 'order' of doing math calculations. BODMAS simply means: brackets, of, division, multiplication, addition and subtraction.

Greg
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9642
Posted: 04:44am 15 Aug 2016
Copy link to clipboard 
Print this post

It was taught to me(and I expect many at schools in New Zealand) as BEDMAS

Brackets/Exponents/Division/Multiplication/Addition/Subtraction.

It's the same thing though.
Smoke makes things work. When the smoke gets out, it stops!
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 07:04am 15 Aug 2016
Copy link to clipboard 
Print this post

I use Bermdas (Almost Bermudas).
Stands for:
Brackets, Exponents and Roots
Multiplication and Division
Addition and Subtraction

er, md and as are groups and within those groups the order is left to right.

It probably needs to be adapted for computer calculations because you would then also have AND,OR,XOR,NOT and <<, >>, function calls etc.

Microblocks. Build with logic.
 
paceman
Guru

Joined: 07/10/2011
Location: Australia
Posts: 1329
Posted: 03:04am 16 Aug 2016
Copy link to clipboard 
Print this post

I'm talking about Grade 6 Primary School here people. That was in 1959 for me (urrkkk!) - I was an early starter though . No computers then and exponentiation didn't happen till High School.

Greg
Edited by paceman 2016-08-17
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2956
Posted: 03:39am 16 Aug 2016
Copy link to clipboard 
Print this post

I was taught only BODMAS or BOMDAS..

Mik
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 04:21pm 23 Aug 2016
Copy link to clipboard 
Print this post

Going back to SC August..

There is a statement on page 63 I am wondering about.

ie

"Built in BASIC interpreter is Microsoft compatible with 64-bit integer, floating point and string variables, arrays and "...

What is the "Microsoft compatible" aspect? Is it saying that MMbasic programs will run in Microsoft Basic or vice versa ? also I guess the floating point, string variables arrays etc are not 64 bit, which a reader might mistakenly think ?
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2956
Posted: 04:26pm 23 Aug 2016
Copy link to clipboard 
Print this post

Hi Chronic, All,

  chronic said  
What is the "Microsoft compatible" aspect?


Yes, I think you are right there it is Microsoft Basic LIKE but not quite compatible.

Kind Regards,

Mick
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3303
Posted: 06:27pm 23 Aug 2016
Copy link to clipboard 
Print this post

I suppose that I could have also used the phrase "Microsoft like".

When I was writing MMBasic I used Microsoft BASIC as the first definition for commands, functions, syntax, etc. I was not trying to clone Microsoft BASIC, I just wanted to avoid inventing another version of BASIC.

Where some function was not covered by Microsoft BASIC (eg, SETPIN) I had to invent my own syntax or I relied on the ANSI Standard for Full BASIC (X3.113-1987) or ISO/IEC 10279:1991.

Geoff
Geoff Graham - http://geoffg.net
 
     Page 2 of 2    
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025