![]() |
Forum Index : Microcontroller and PC projects : August SC.
![]() ![]() |
|||||
Author | Message | ||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2447 |
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 :-) |
||||
Benzol Regular Member ![]() Joined: 07/01/2015 Location: AustraliaPosts: 64 |
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 ZealandPosts: 9642 |
[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. ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2447 |
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: AustraliaPosts: 195 |
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 KingdomPosts: 4071 |
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: AustraliaPosts: 2956 |
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: AustraliaPosts: 64 |
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: AustraliaPosts: 1667 |
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: AustraliaPosts: 1329 |
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 ZealandPosts: 9642 |
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: ThailandPosts: 2209 |
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: AustraliaPosts: 1329 |
I'm talking about Grade 6 Primary School here people. That was in 1959 for me (urrkkk!) - I was an early starter though ![]() Greg |
||||
bigmik![]() Guru ![]() Joined: 20/06/2011 Location: AustraliaPosts: 2956 |
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: AustraliaPosts: 689 |
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: AustraliaPosts: 2956 |
Hi Chronic, All, 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: AustraliaPosts: 3303 |
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 |
||||
![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |