Search results

  1. A

    Rubik's Cube Simulator for PICaxe ;-)

    Hi, Inspired by posts #5 - 7 and 11 in this Recent Thread , here is a simple Simulator to replicate the operation of a Rubik's Cube. The User Interface is (literally) very basic ASCII Art because the Program was written as an initial "Engine" that might be used in a Cube-Solving Program, but I...
  2. A

    Building the AXE171 MP3 Player Kit (SPE035 + 14M2).

    Hi, For some time I've had an un-assembled AXE171 Audio Kit "On the Shelf" waiting for a project which might need it. That time hasn't arrived yet, but a RECENT THREAD made me look into its capabilities: The kit doesn't appear particularly appropriate for that project (possibly best done with...
  3. A

    FYI: Comparing the SSD1306 and SH1106 OLED Drivers

    Hi, The SSD1306 and SH1106 are "similar" Integrated Circuits for driving small OLED displays of up to about 128 x 64 pixels. These displays are of particular interest to PICaxe users because they are broadly compatible with most PICAXEs, being quite low-cost, using a supply range of 3 - 5...
  4. A

    12-bit Decoder for IROUT Infra Red command

    Hi, I've never used the IRIN command in a Project, so was surprised to learn that although the PICaxe IROUT command transmits 12 bits of data, the IRIN command returns only 7 of them. Of course 128 "buttons" is still plenty for a Remote Control system, particularly for any one of 32 "devices"...
  5. A

    I2C Bus Search Program for Slaves

    Hi, At around 1300 bytes this is hardly a "snippet", but it has been cut and edited from a thread in the Active Forum, before it disappears under the weight of new posts. ;) The original program was intended to check for the existence of a few I2C chips under rather specific conditions, so I...
  6. A

    Minimal (Fast) Quadrature Detector code for (optical) Rotary Encoder

    Hi, This code was inspired by a recent thread to devise a "fast" detector for an optical rotary encoder. The requirement there, was to detect at least "30 edges/second", but this code can detect to at least 1 kHz (using a 32 MHz SETFREQ), although a more normal application would be to use the...
  7. A

    Indicator for the PICaxe Utilisation % or Idle Time

    Hi, I've recently been developing a program to display the time and date on a bit-mapped (graphics) OLED display (SSD1306). To keep the program simple, every second I updated not only the displayed Time (and Temperature and Supply Voltage) but also the Date (around 40 characters in total)...
  8. A

    PE6.1.0.0 Desktop Layout problem (Win. 10).

    Hi, The PE6 desktop is normally shown with the four "panes" (Workspace Explorer, Code Explorer, Memory and Simulation windows) in the NW, NE , SE and SW corners of the screen, leaving a reasonable space for the main program editing window. However, something has "happened" to my version (on...
  9. A

    Full ASCII Character Font for SSD1306 with 08M2 (and above)

    Hi, The program below was devised to meet the challenge of using an 08M2 to implement a full (96) ASCII characters set for bit-mapped I2C displays such as the SSD1306. The limitations of the 08M2 largely defined the architecture, but the solution is quite efficient and may be equally useful...
  10. A

    "Character Rounding" for Double-Sized characters on bitmapped displays such as SSD1306

    Hi, PICaxe is not well-suited to displaying characters on bitmapped displays because it is relatively slow and has limited memory storage for the character fonts. However, the tiny OLED displays which use the SSD1306 have an appeal because they are small and can run on 3.3. volts with low...
  11. A

    Using the (M2's) DSM module for a simple logic function (e.g. inversion).

    Hi, The Data Signal Modulator (DSM) is an optional Logic module contained in all M2 PICaxes. The base PIC data sheets explain how it can be used for complex modulation schemes such as FSK (Frequency Shift Keying) or Amplitude modulation (AM or On-Off Keying, etc.), but the aim here is to show...
  12. A

    Measuring (M2) PICaxe Execution speed using NO additional hardware

    Hi, This is based on a program that I wrote in 2012 which became somewhat "lost" in a thread with a rather unmemorable title (at least for me). I've used the program many times over the years, so have now "tidied it up" and added a few more features. However, I won't repeat much of the detail...
  13. A

    Does anyone remember the PE5 Terminal Emulator ?

    Hi, Apologies for going back to the Dark Ages, but PE6 is just so SLOW on my humble, but portable, Netbook, and the PE6 "Desktop" TOO LARGE for its tiny (800 x 600) screen (and perhaps my non-20/20 eyes). But in passing, is there a way to make the (admittedly far superior) PE6 Terminal...
  14. A

    SWAP routines for Words, Bytes and Nibbles (nybbles)

    Hi, PICaxe Basic doesn't have an operator to exchange the two nibbles within a single Byte and also the resident SWAP (byte exchange) function is rather inefficient - about twice the number of Program bytes and double the execution time of the snippet below. Firstly, the two nibbles within a...
  15. A

    Generating an "I2C Restart" condition.

    Hi, I guess I should be able to "research" this myself, but I'm getting lazy in my old age. :) I want to read I2C data from a VEML6075 into an 08M2 and the data sheet helpfully shows that the required format of bytes for reading data (words) is as follows: Slave Address : Command : Slave...
  16. A

    Reserved Word " ALL " ?

    Hi, In my current program I wrote the line "symbol ALL = b8" in PE6 and was surprised that the syntax check responded with "Syntax error on line ... at/before position 10". BTW "ALL" is the Low byte of the Low word of "Register A" (Long Word) which fits with a naming scheme that I'd adopted...
  17. A

    Program size discrepncies in 08M2/20M2 ad PE5/6

    Hi, I've recently been writing a program using quite complex, high resolution mathematics (preview here) and as hippy indicated some weeks ago, it's much easier to write neat and reliable program code for this using Macros in PE6. So I compiled a test version for the 20M2 (as on my breadboard)...
  18. A

    32-bit maths routines for BMP180, BMP280 and BME280 Atmospheric sensors.

    Introduction: The BMP180 is a tiny, high resolution, Atmospheric Pressure (and Temperature) sensor which uses the I2C two-wire data bus, so it can be easily interfaced with most PICaxe chips, including the 08M2. Many ebay listings suggest the BMP280 "replaces" the 180, but this is rather...
  19. A

    RANDOM function for the PE5 Simulator, etc..

    Hi, As with most microcontrollers, the PICaxe RANDOM function actually generates a repeatable and predictable sequence of numbers. Therefore an additional precaution of randomising the "seed" (starting value) is often needed to achieve a satisfactory result. However, sometimes the...
  20. A

    Another "discrepancy" between the Simulator and a real chip

    Hi, The background to this thread is the programs that I wrote in response to this recent enquiry. The OP wanted to sort the bytes stored in five consecutive variables, but it seemed to me that the "correct" method would be to write generic code, using values accessed via the byte pointer...
Top