CircuitGizmos

Electronic Products for Creative Minds

  • Home
  • Gizmo Store/Products
  • Documentation/Datasheets
  • Projects/Libraries
  • GizmoBlog
  • Services/Contact
    • Design
    • Contact Gizmo!
  • Your Gizmo Cart
    • Your Account

June 28, 2010 by robert Leave a Comment

Computer control of AC devices

An Instructables published a week or so ago:

If you have ever wanted to control electronic devices from your computer to control or regulate your environment, this instructable will guide you. In this example of computer control, a USB relay device (USBmicro http://www.usbmicro.com – U451) will control two 60 watt light bulbs from a PC program.

Visit this instructable for more information.

Filed Under: Uncategorized Tagged With: Home Automation, output, relay, RobotBASIC, u451, uln2803

October 30, 2009 by robert Leave a Comment

Testing new U401/U421 function

New capabilities are being added to the U401/U421 firmware. The first new function that I am testing here is a “Quiz Show” function. Also called “Fastest Finger First”, as it shows which line, of all sixteen of the lines on the device, has been pressed first. This capability is used in game/quiz shows and contests. If a U401/U421 is used without this new firmware, you can poll the device once every eight milliseconds. The trouble is, two buttons may both have been pushed in that time. So then who is the winner? The new device firmware works to fix that.

quizshow

This feature is meant to work when all sixteen lines of the U401/U421 are set to be inputs for buttons. The buttons can be wired to connect the input line to ground with the input line normally pulled high by a resistor. Or the buttons can be wired so that when pressed they bring the port line to 5V, when the ports are normally pulled low by resistors. A 10k resistor per port line (16 total) will work in either case. All sixteen lines need to be treated the same.

If you have fewer than sixteen buttons, the remainder of the port lines still need to be pulled either high or low. For example with 14 buttons, the remaining lines still need to be pulled low or high with resistors, just like the lines that have switches.

Below is a board I use for testing. It can be set up to have the resistors pull the input lines to 5V or to ground, while the red push buttons connect to ground or 5V respectively.

8 button board label2

The remainder of the lines are pulled correctly through resistors and are located on the small test board hidden in the pic below.

ffftest2

Test software was written in RobotBASIC to test the new U401/U421 firmware function. A new command that can be sent to the U401/U421 will return 4 bytes. Two of the bytes (representing 16 lines of course) are valid when there are pull-up resistors, the other two are valid when there are pull-down resistors.

In the example of the pull-down resistors, these two bytes return as all zeros initially, and when no buttons have been pushed. If, on subsequent reads, these bytes are not zeros, then a button has been pressed since the last read. The firmware samples the button input every 128 microseconds (about one eight-thousandth of a second) and latches on the first change. It is still possible to have two buttons appear to be pressed at the same time, but this is likely a wiring problem. Humans pressing buttons just don’t move that quick. (You can sill have software handle this unlikely event with a random choice function.)

This effort was inspired by a user in the United Kingdom that made the test setup below.
Photo0056

Filed Under: Uncategorized Tagged With: button, input, protoboard, RobotBASIC, software, u401, u421

June 9, 2009 by robert Leave a Comment

New RobotBASIC U401/U421 interface guide

Guest blog by Samuel Mishal

Hi All,

One of the very exciting new facilities in RobotBASIC V4.0.0 is the support for USBmicro’sU4x1 family of USB devices that provide the ability to do digital I/O with a PC and lots more!
See this guide: http://www.robotbasic.org/resources/RobotBASIC_USBmicro_U4x1.pdf

2009-06-09_124812

In the good old days we used to be able to use simple straight forward commands to access the PC’s ports. Commands like OutPort and Inport gave the programmer
access to any port on the PC including the ISA or PCI busses and even RAM.

It became progressively harder to do anything with memory or ports or any of the peripherals of the PC with the advent of increasingly tighter control by the OS
and the attempt to divorce a program from lower level access to system resources.

Compilers even stopped having functions like Sound, InPort, Outport and so forth. They do not even exist as commands any more. To be able to gain access to anything like serial ports or parallel ports you have to earn a 10 year PhD degree in Microsoft Systems Management and you have to pay $$$$ to get any tools that enable you to do anything with system resources.

The PC used to be a very viable and effective Electronics Instrumentation platform for doing I/O using the Parallel port or the Serial port or even through the PCI bus. It was not a problem at all to use a few assembly commands to counteract the lack of functions at the C++ level. But then along came Windows XP and 2000 and even that ability went out of the window….excuse the pun.

So nowadays people find it EXTREMELY hard to do anything with the PC as far as Electronics experimentation and I/O with instrumentation. With the advent of such versatile microcontrollers as the BS2 and Propeller, people just forsook the PC and now only a few GURUS do any kind of I/O with a PC. Some may argue that the PC is not even missed for such work.

Well, actually the PC has a major role to play in doing the AI work for robotics or for GUI user interfacing and data collection and as an Internet conduit and as a Central Hub or controller for distributed microcontrollers. I have argued this point many times before with my concept of the Remote Computational Platform (RCP).

With RobotBASIC a non-guru programmer can AGAIN write programs with a simple PortOut and Inport commands to access the Parallel Port or even the PCI and ISA bus ports. Also with RobotBASIC’s serial communications (seehttp://www.robotbasic.org/resources/RobotBASIC_Serial_IO.pdf) you can access RS232 devices. Also with RobotBASIC V4.0.0 you can now even communicate across the Internet (see http://www.robotbasic.org/resources/RobotBASIC_Networking.pdf ).

However, with the new generation of computers even RS232 ports and Parallel ports went out of the window too. So what is a humble programmer to do????? Every time we manage to open a closed window they put steel bars. And now there are no windows altogether.

RobotBASIC to the rescue AGAIN…tadaaaa. RobotBASIC V4.0.0 has a suite of functions that provide access to USBmicro’s U4x1 family of USB digital I/O devices (http://www.USBmicro.com).

If you miss the parallel port, The U4x1 is your solution. The U4x1 plugs into a USB and provides 16 digital I/O lines that can be configured individually as input or output. It is also powered by the USB power and even provides access to this power through 2 of its pins.

So you can build circuits that are powered from the USB and you can control them with a program in RobotBASIC that is as simple as it used to be in the days of lore. It is even easier since you do not even need a regulated power supply to power your circuits if you do not require much current (< 500 mA).

The U4x1 is also a LOT MORE than just a replacement for the parallel port. It can carry out 1-Wire and SPI communications and it can control 2 stepper motors with independent direction, speed and stepping modes. You just tell the U4x1 through RobotBASIC’s functions to start the motors and then go on with other tasks without further need to keep stepping the signal and son. The U4x1 takes care of all that.

The support in RobotBASIC V4.0.0 for the U4x1 is one of the most EXCITING new features that go along with the philosophy behind RobotBASIC – to make even a beginner programmer able to do what an advanced programmer would find challenging, and to do it with a few lines of code in a versatile and easy to use and learn language.

To learn about this new feature, read this document:http://www.robotbasic.org/resources/RobotBASIC_USBmicro_U4x1.pdf

It has 13 project programs that utilize the U401 to do interesting electronics I/O. One of the programs uses the UDP to send temperature readings from a U4x1 interfacing with a DS1822 over the Internet to another PC that carries out some user interfacing and sends back actuations to get the U4x1 to drive a stepper
motor.

I think you will find that the U4x1 with RobotBASIC will open many windows for doing interesting educational electronics I/O experiments and all in a language that can be learned in a few hours.

Have a look at the above document and decide for yourself.

Happy coding….with RB of course!

Samuel

Filed Under: Uncategorized Tagged With: programming, RobotBASIC, u401, u421

  • 1
  • 2
  • Next Page »

A Ton of Documentation

Open all | Close all

Projects made by Gizmo, Friends, and Members

open all | close all

Recent GizmoBlog Musings

  • Altair 8800 using a ColorMax!
  • Re-energizing the ColorMax, Pt. 3

Visit us!

  • Facebook

Electronic Products for Creative Minds

CircuitGizmos is your source for electronic products that help you create your embedded projects. Here at CircuitGizmos.com you will find a friendly store filled with creative products and all of the documentation that you need to use these gizmos.

We create devices that we believe make electronics fun, but we also know that our products are used for professional designs. For decades we have designed products for commercial, military, and medical industries. Our gizmos here are great for engineers and hobbyists alike.

Copyright © 2008+ CircuitGizmos, L.L.C. All rights reserved

Image already added

Recently Viewed Products

Copyright © 2023 · Generate Pro Theme on Genesis Framework · WordPress · Log in