Recognizing an object using capacitive sensing

Some embodiments of the present disclosure may include a controller for an object-recognition system. The controller may include a capacitive-sensor-button controller configured to provide a button-status report at least partially responsive to proximity of the object to specified areas of a capacitive sensor. The controller may also include a recognizer configured to generate an object identifier at least partially responsive to the button-status report when an object having a plurality of detectable elements in a predetermined spatial pattern is in proximity thereof. Some embodiments of the present disclosure may include a controller for an object-recognition system. The controller may include a reader configured to capture channel-capacitance measurements of a capacitive sensor. The controller may also include a recognizer configured to generate an object identifier at least partially responsive to a set of channel-capacitance measurements captured by the reader when the object is in proximity to the capacitive sensor.

FIELD

This description relates, generally, to recognizing objects, including non-grounded objects using capacitance sensing.

BACKGROUND

A capacitive touch sensor may be configured to detect changes in channel capacitance at one or more sensor locations of the capacitive touch sensor.

DETAILED DESCRIPTION

The illustrations presented herein are not meant to be actual views of any particular method, system, device, or structure, but are merely idealized representations that are employed to describe the embodiments of the present disclosure. The drawings presented herein are not necessarily drawn to scale. Similar structures or components in the various drawings may retain the same or similar numbering for the convenience of the reader; however, the similarity in numbering does not mean that the structures or components are necessarily identical in size, composition, configuration, or any other property.

It will be readily understood that the components of the embodiments as generally described herein and illustrated in the drawing could be arranged and designed in a wide variety of different configurations. Thus, the following description of various embodiments is not intended to limit the scope of the present disclosure, but is merely representative of various embodiments. While the various aspects of the embodiments may be presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.

Those of ordinary skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, and symbols that may be referenced throughout this description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof. Some drawings may illustrate signals as a single signal for clarity of presentation and description. It will be understood by a person of ordinary skill in the art that the signal may represent a bus of signals, wherein the bus may have a variety of bit widths and the present disclosure may be implemented on any number of data signals including a single data signal. A person having ordinary skill in the art would appreciate that this disclosure encompasses communication of quantum information and qubits used to represent quantum information.

In this description, the term “coupled” and derivatives thereof may be used to indicate that two elements co-operate or interact with each other. When an element is described as being “coupled” to another element, then the elements may be in direct physical or electrical contact or there may be intervening elements or layers present. In contrast, when an element is described as being “directly coupled” to another element, then there are no intervening elements or layers present. The terms “on” and “connected” may be used in this description interchangeably with the term “coupled,” and have the same meaning unless expressly indicated otherwise or the context would indicate otherwise to a person having ordinary skill in the art.

One or more embodiments of the present disclosure generally relate to systems and methods for object recognition using a capacitive sensor. The capacitive sensor may include a mutual capacitance sensor. The mutual capacitance sensor may be configured to detect capacitance of a grounded or non-grounded object in proximity of the mutual capacitance sensor. In the present disclosure, the term “proximity” may include physical contact between the object and the capacitive sensor, and includes within sufficient proximity to be reliably detected by the capacitive sensor. Additionally, in the present disclosure, the term “object” refers to an object having a plurality of detectable elements in a predetermined spatial pattern. The object may be grounded, or non-grounded. The systems and methods for object recognition may be capable of object recognition even in cases where there is no electrical connection between the capacitive sensor and the detectable elements in the object. For example, the detectable elements may be entirely embedded in a non-conducting material, such as within a plastic, while still being detectable. There is no requirement for an electrical connection between the capacitive sensor and the object.

As a specific non-limiting example, of an environment in which embodiments of the present disclosure may be used, an object may include multiple detectable elements, which may be arranged at or near a surface of the object. The detectable elements may be detectable by a capacitive sensor when the surface is brought within proximity of the capacitive sensor.

There may be a correlation between the particular predetermined spatial pattern of the detectable elements in the object and an object identifier. As a non-limiting example, the detectable elements may be arranged in the object according to a recognition schema that correlates the particular predetermined spatial pattern of the detectable elements with an object identifier. As another example, a recognition schema may be configured to include a correlation between the particular predetermined spatial pattern of the detectable elements in the object and an object identifier.

As a specific non-limiting example, the detectable elements may be arranged in the object according to a two-dimensional grid. The two-dimensional grid may be conceptualized as a bitmap e.g., an m-by-n grid may describe m*n bits of data where the presence of a detectable element indicates a “1,” and the absence of a detectable element indicates a “0.” Thus, an arrangement of detectable elements in the grid, i.e., the particular predetermined spatial pattern, may be encodable into a number that may be included in the object identifier according to the recognition schema.

Thus, one or more embodiments of the present disclosure may include an object-recognition system including a capacitive sensor and a controller. The capacitive sensor may be configured to detect the particular predetermined spatial pattern of detectable elements in an object and the controller may be configured to generate an object identifier in response to the particular predetermined spatial pattern.

One non-limiting example application in which the object-recognition system may be used is a game board. The object-recognition system may be included in one or more portions of the game board and one or more pieces of a game may include arrangements of detectable elements according to one of plurality of predetermined spatial patterns. The object-recognition system within the game board may be configured to recognize the pieces, and/or the spatial relationship between the pieces and the game board based on detecting the predetermined spatial patterns of the detectable elements in proximity of the game board.

Another non-limiting example application in which the object-recognition system may be used is in physical security and/or identification. The object-recognition system could be associated with access, e.g., a lock on a door or a digital access. Detectable elements could be arranged in accordance with one of a plurality of predetermined spatial patterns in another object that could be used as a key. The object-recognition system may be configured to provide an identifier and/or grant or restrict access based on detecting the particular predetermined spatial pattern of detectable elements in the object.

Another non-limiting example application in which the object-recognition system may be used is in object validation or identification e.g., for modules of a modular system. One example of a modular system is a tool or appliance that is capable of being configured with different attachments. As a non-limiting example, a tool may be configured to attach to one of several different attachments. The tool may include an object-recognition system and each of the several different attachments may include one of a plurality of predetermined spatial patterns of detectable elements. The object-recognition system of the tool may be configured to identify which attachment is attached to the tool based on detecting which particular predetermined spatial pattern of detectable elements is in the attached attachment.

Object-recognition system114may include capacitive sensor116, controller104, and connections110between capacitive sensor116and controller104. In general, object-recognition system114may be configured to generate object identifier118in response to proximity112between detectable elements108of object106and capacitive sensor116, where the detectable elements108exhibit a predetermined spatial pattern. Notably, the predetermined spatial pattern exhibited by detectable elements108of object106may be characterized as a data store that stores an object identifier118for object106. Further, object identifier118is not limited to identifying information for object106, and references herein to the term “object identifier” (e.g., object identifier118, object identifier316, and object identifier618, without limitation) should be understood to include any information about an object or conveyed with an object.

Object106may be, or may include, any object or item suitable to include or support detectable elements108, and this description is not limited to any specific object, as the specific applications will typically inform characteristics of object106such as type, materials, shape, size, and assembly, without limitation. Moreover, object106may include a solid portion capable of supporting detectable elements108and/or physical features capable of retaining detectable elements108in and/or on object106, in one of one or more specific predetermined spatial patterns. Non-limiting examples of objects106that may be configured to include detectable elements108include: game pieces, toys, automobile and building keys, store value cards, bank cards, credit cards, attachments to tools or appliances, replaceable parts, and containers of consumable products (e.g., printer cartridges).

Detectable elements108may be, or may include, anything capable of being detected by a capacitive sensor when in proximity thereof. Detectable elements108may be, or may include, a material having a different (e.g., higher) electrical permittivity than a material of object106that retains detectable elements108. As a non-limiting example, a portion of object106that retains detectable elements108may be formed of plastic, and detectable elements108may be formed of one or more suitable materials such as conductors (e.g., metal or conductive ceramic, without limitation) embedded in the plastic. In some embodiments, detectable elements108may be elements generally unrelated to a function of object106, and in other embodiments, some detectable elements108may be elements generally unrelated to a function of object106and some detectable elements108may be elements generally related to a function of object106. As a non-limiting example, some materials used in the manufacture and/or assembly of a power drill may be detectable via capacitive sensing, such as metal parts. In some cases, such materials may sufficiently exhibit a spatial pattern, which a disclosed object recognizer (e.g., recognizer304and recognizer602, without limitation) may identify an object as a power drill. Further, different manufacturers may arrange some such materials similarly and may arrange some such materials differently within a power drill. So, in some cases differences in the spatial patterns exhibited by such materials may be sufficient for a disclosed object recognizer (e.g., recognizer304and recognizer602, without limitation) to identify a manufacturer of a power drill. Further still, some detectable elements108unrelated to the function of a power drill may be added to identify an object or amplify differences in the spatial patterns exhibited by power drills having different manufacturers. Further still, some detectable elements108unrelated to the function of a power-drill may be added to provide information in addition to the type of object and/or manufacturer of an object, such as a unique identifier, a capability of an object, or where it was manufactured.

In one or more embodiments, object106may be configured (e.g., include physical features, without limitation) such that object106contacts a surface of capacitive sensor116, or a cover over capacitive sensor116, at specific locations of object106. The specific locations of object106that contact the surface may be or include the detectable elements108. As a non-limiting example, object106may include feet on a bottom surface of object106. The feet may be arranged according to a predetermined spatial pattern and may be or include detectable elements108of object106. In one or more embodiments, a shape of a contacting surface of object106and/or a contact sensing surface of capacitive sensor116may be chosen, as non-limiting examples, to be flat, curved or have some other geometric structure; may be or have a female/male type complimentary structure or may have a non-complimentary type structure. As further non-limiting examples, object106and/or capacitive sensor116may include one or more surfaces that are smooth, rough, bumpy, or otherwise textured, without limitation. Detectable elements108may be intended to be a permanent or semi-permanent part of object106(e.g., molded or mechanically integrated with object106, without limitation) or intended to be removably or temporarily affixed to object106(e.g., by magnetic attachment, by adhesive, or by a or fastener (e.g., by a hook-and-loop fastener or a mechanical interference-based fastener, without limitation), without limitation).

Proximity112illustrates proximity between object106(including detectable elements108) and capacitive sensor116. As has been described above, capacitive coupling between detectable elements108and capacitive sensor116due to proximity112may cause a measurable change in the capacitance of capacitive sensor116.

Capacitive sensor116may be configured to generate signals indicative of changes in capacitance at capacitive sensor116in response to proximity of detectable elements108of object106to one or more locations of a sensing surface of capacitive sensor116(such signals referred to hereafter as “sensing signals”).

As a non-limiting example, capacitive sensor116may include multiple intersecting sensing lines where intersection of the sensor lines is associated with sensor locations by object-recognition system114. The sensing signals generated by capacitive sensor116may be indicative of changes in capacitance at or near one or more of such locations/intersections.

Notably, the present disclosure is not limited to any specific arrangement, spacing, or number of detectable elements108, sensor lines, or sensor locations. In one or more embodiments, capacitive sensor116may include one or more cover surfaces that are transparent, translucent, and/or opaque.

In one or more embodiments, controller104may be configured to measure capacitance or a change in capacitance in response to sensing signals with enough granularity as to be able to differentiate multiple levels of proximity. In these or other embodiments, capacitive sensor116and/or controller104may be configured to translate capacitance measurement from a sensing line and/or sensor location into one of multiple possible values. As a specific non-limiting example, a highest degree of measured capacitance may be translated into a “1.0,” a lower degree of measured capacitance may be translated into a “0.5,” and a lowest degree of measured capacitance may be translated into a “0.” In these or other embodiments, detectable elements108in object106may be arranged according to multiple levels of proximity. As a specific non-limiting example, detectable elements108may be formed of different materials that cause different amounts of change of capacitance in capacitive sensor116and sensing signals generated in response thereto. Such differences may be measurable by controller104. Additionally or alternatively, individual detectable elements108may be arranged at different depths (i.e., in three dimensions) within object106and/or on different surfaces of object106such that, when object106is brought into proximity112with capacitive sensor116, some of detectable elements108will be closer than other detectable elements108to capacitive sensor116.

Connections110between capacitive sensor116and controller104may include any combination of wired and unwired connections and circuit elements, shared or unshared, suitable to communicate sensing signals from capacitive sensor116to controller104.

Controller104may include one or more input/output (I/O) ports configured to receive one or more sensing signals from capacitive sensor116, (e.g., at the sensing lines and/or the sensor locations of capacitive sensor116). In the present disclosure, digital signals generated at controller104at least partially in response to sensing signals are referred to as “channel-capacitance measurements.” In some embodiments, controller104may be configured to capture channel-capacitance measurements.

Controller104may be configured to detect proximity, determine sensor locations that correspond to detected proximity, and generate object identifier118based on the captured channel-capacitance measurements as discussed herein. One or more of the features and functions of embodiments of controller104discussed herein may be implemented as one or more of: logical blocks, computing instructions, software modules, and integrated circuits.

FIG.1depicts controller104implemented in MCU102. MCU102may be a microcontroller type system capable of implementing embodiments of controller104discussed herein. Although not depicted byFIG.1, controller104may be implemented in any of: a general purpose processor, a special purpose processor, a Digital Signal Processor (DSP), an Integrated Circuit (IC), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof.

Object identifier118may include data indicative of an identifier associated with object106. As a specific non-limiting example, object identifier118may include data in any suitable format e.g., one or more n-bit binary numbers, without limitation. As discussed herein, in or more embodiments, object identifier118may be associated with object106by a particular predetermined spatial pattern of detectable elements108of object106according to a recognition schema.

FIG.2illustrates a process200for generating an object identifier118using an object-recognition system114in accordance with one or more embodiments. In some embodiments, one or more operations of process200may be performed by or using elements of system100, such as object106and object-recognition system114ofFIG.1, without limitation.

At operation202, an object including detectable elements in a predetermined spatial pattern is brought into proximity of a capacitive sensor. The object, and in particular detectable elements therein or thereon, in proximity of the capacitive sensor, induces a change in capacitance at the capacitive sensor. As a non-limiting example, referring toFIG.1, object106is brought into proximity112of capacitive sensor116. Capacitive sensor116generates a sensing signal indicative of the change in capacitance, which are indicative of proximity112and provides the sensing signal to controller104via connections110.

At operation204, channel-capacitance measurements associated with the capacitive sensor are captured e.g., at controller104, without limitation.

At operation206, an object identifier is generated at least partially responsive to the captured channel-capacitance measurements. As a non-limiting example, referring toFIG.1, controller104generates object identifier118in response to the captured channel-capacitance measurements.

As discussed above, controller104may be configured to detect proximity of detectable elements108with capacitive sensor116. In one or more embodiments, capacitive controller of controller104may be configured as a capacitive button type capacitive controller. Capacitive buttons are known to a person having ordinary skill in the art, and generally speaking, logically divide an area of capacitive sensor116into a number of capacitive buttons each associated with a number of sensor locations and, in the event of contact, indicate an activated button associated with the sensor locations of the contact.

FIG.3illustrates object-recognition system300in accordance with one or more embodiments. Object-recognition system300includes controller302. Controller302is a specific non-limiting example implementation of controller104ofFIG.1according to one or more embodiments.

Capacitive-sensor-button controller310may be configured, generally, to generate a button-status report314in response to channel-capacitance measurements318received at object-recognition system300. Each button-status report314may include sensor button indicators indicative of a state of respective specified areas of the capacitive sensor that correspond to capacitive sensor buttons. A sensor button indicator may be an activated-capacitive-sensor-button indicator that indicates that a capacitive button was activated, i.e., a detectable element108was detected within proximity of the capacitive button, or a sensor button indicator may be an unactivated-capacitive-sensor-button indicator that indicates that a capacitive button was not activated, i.e., a detectable element108was not detected within proximity of the capacitive button. A button-status report314may include sensor button indicators for a number of time periods corresponding to a number of reading cycles of a capacitive sensor by capacitive-sensor-button controller310.

As a specific non-limiting example, button-status report314may include a sequence of binary digits where each bit position is associated with a sensor button and a specific bit value at a bit position represents a specific state of a given sensor button. As a non-limiting example, a bit value of a logic “1” in a first bit position indicates that a state of a corresponding sensor button is active, i.e., that a detectable element108was detected within proximity of the capacitive button, and a bit value of a logic “0” in the same first bit position indicates that a state of the corresponding sensor button is inactive, i.e., that a detectable element108was not detected within proximity of the capacitive button. Use of other conventions to represent buttons or button states in button-status report314does not exceed the scope of this disclosure.

Reader schema312may include correlation information describing associations between sensor locations of the capacitive sensor and capacitive buttons. In some embodiments, reader schema312may include correlation information defining an association between specified areas of a capacitive sensor and an order of capacitive sensor button indicators in button-status report314. In some embodiments, reader schema312may include order information describing a specific order in which to traverse the specified areas to generate a sequence of capacitive sensor button indicators having a specific sequence that associates the button indicators with specific capacitive sensor buttons.

Recognizer304may be configured to receive button-status report314and generate object identifier316at least partially responsive to button-status report314and more specifically, the activated-capacitive-sensor-button indicators and unactivated capacitive sensor button indicators of button-status report314.

Recognizer304may include recognition schema306that may include object correlation information defining an association between capacitive sensor button indicators and object identifiers. As a specific non-limiting example, object correlation information of recognition schema306may associate specific activated-capacitive-sensor-button indicators and unactivated capacitive sensor button indicators represented as a specific sequence of binary digits with a specific sequence of binary digits of object identifier316. In a specific non-limiting example, recognition schema306may include instructions for generating object identifier316at least partially in response to the activated-capacitive-sensor-button indicators.

In the specific non-limiting example depicted byFIG.3, recognition schema306includes an optional encoder308, e.g., a button-traversal schema, which includes order information defining a specific order in which the capacitive sensor button indicators of button-status report314are to be traversed when generating object identifier316. As a specific non-limiting example, the activated-capacitive-sensor-button indicators may be traversed fourth, second, third, then first, without limitation. Applying optional encoder308may provide an additional layer of security by obscuring correspondence between object identifier316, button-status report314, and capacitive sensor button layout. Optional encoder308is operative so that object identifier316is encoded (i.e., is expressed as a code).

In the manner described above, a capacitive-sensor button may perform binary detection (i.e., contact detected or contact not detected) and generate an object identifier316in response to such binary detection.

FIG.4is a schematic diagram depicting a specific non-limiting example process400that illustrates correspondence of detectable elements, capacitive buttons, and capacitive button indicators discussed herein.

As depicted byFIG.4, process400involves detectable elements410of an object portion404in proximity422of sensor locations420of capacitive sensor portion402that are logically associated with capacitive sensor buttons (e.g., by capacitive-sensor-button controller310). In the specific non-limiting example, during proximity422detectable elements410are overlaid capacitive sensor portion402in the same pattern depicted.

Object portion404includes detectable elements410illustrated using solid-line circles and arranged in object portion404in accordance with a particular predetermined spatial pattern. Notably, object portion404also includes locations without detectable elements, which, for convenience, are illustrated using dashed-line circles but are not labeled.

Capacitive sensor portion402includes specified areas412corresponding to capacitive sensor buttons. Capacitive sensor buttons may or may not be visually demarcated at capacitive sensor portion402. Specified areas412may correspond to one or more (e.g., a group of) sensor locations420of capacitive sensor portion402. As a non-limiting example, capacitive sensor portion402may include a grid of intersecting sensing lines418that extends over an entire area of capacitive sensor portion402. Sensor locations420may be defined by the intersections of the sensor lines. To avoid unnecessarily obscuring other elements depicted byFIG.4, only some sensing lines418are illustrated.

Upon proximity422of object portion404and capacitive sensor portion402, and more specifically, upon proximity422of detectable elements410with some of the specified areas412of capacitive sensor portion402, one or more capacitive sensor buttons are activated, i.e., the activated-capacitive-sensor-button indicators408are generated. Upon update424, activated-capacitive-sensor-button indicators408corresponding to activated sensor buttons414(and optionally unactivated capacitive sensor button indicators corresponding to unactivated sensor buttons416) are added to button-status report portion406.

As discussed,FIG.4illustrates a correspondence between detectable elements410and activated sensor buttons414, and further illustrates a correspondence between activated sensor buttons414and activated-capacitive-sensor-button indicators408of button-status report portion406. As a non-limiting example, for each of activated sensor buttons414, one of activated-capacitive-sensor-button indicators408is included in button-status report portion406. Update424for inclusion of activated-capacitive-sensor-button indicators408in button-status report portion406may be performed according to a reader schema (e.g., reader schema312ofFIG.3). As a specific non-limiting example, a reader schema may indicate an order in which the specified areas412are to be traversed when generating activated-capacitive-sensor-button indicators408for inclusion in button-status report portion406. As a specific non-limiting example, specified areas412may be traversed left-to-right and top-to-bottom according to the reader schema, which, in the case illustrated inFIG.4, may result in button-status report portion406including activated-capacitive-sensor-button indicators408“0001 0010 0100 1100.” Alternatively, specified areas412may be traversed in any order. As an alternative non-limiting example, the reader schema may indicate a number representing each of specified areas412, where the number of the activated specified areas is to be included in button-status report portion406. Which, in the case illustrated inFIG.4, may result in button-status report portion406including activated-capacitive-sensor-button indicators408: “4,” “7,” “10,” “13,” and “14,” for the example layout of 16 separate specified areas412.

As discussed, an object identifier (e.g., object identifier118, without limitation) may be generated based on activated-capacitive-sensor-button indicators408in button-status report portion406. As a specific non-limiting example, a recognizer (e.g., recognizer304) may encode the specified areas in proximity of detectable elements410(as indicated by activated sensor buttons414and by activated-capacitive-sensor-button indicators408) as a number in any suitable format. As a non-limiting example, in some embodiments, the object identifier may be the same as the binary number as read from activated-capacitive-sensor-button indicators408. As another specific non-limiting example, the object identifier may be a binary number based on numbers indicative of specified areas contacted. In other embodiments, a traversal schema (e.g., according to encoder308ofFIG.3) may indicate another order in which to traverse activated-capacitive-sensor-button indicators408to generate the object identifier.

In some embodiments, one or more of activated-capacitive-sensor-button indicators408may be omitted when traversing activated-capacitive-sensor-button indicators408to generate the object identifier. As a specific non-limiting example, corner activated-capacitive-sensor-button indicators408based on corner specified areas412may be omitted when traversing activated-capacitive-sensor-button indicators408to generate the object identifier. As a non-limiting example, in the case illustrated, an object identifier based on activated-capacitive-sensor-button indicators408“0001 0010 0100 1100” may be then reduced to “0010 1001 0010.” In some embodiments, the corner specified areas412may be utilized to identify the orientation of object portion404, as described further below.

FIG.5illustrates process500in accordance with one or more embodiments. In some embodiments, one or more operations of process500may be performed by object-recognition system300ofFIG.3.

At operation502, channel-capacitance measurements are captured. Optionally, channel-capacitance measurements are captured during a time period corresponding to a reading cycle by a capacitive-sensor-button controller. As a non-limiting example, referring toFIG.3, capacitive-sensor-button controller310may be configured to capture the channel-capacitance measurements of channel-capacitance measurements318.

At operation504, activated sensor buttons are identified at least partially in response to a subset of interest of the channel-capacitance measurements. The subset of interest of the channel-capacitance measurements is indicative of proximity of a detectable element with a capacitive sensor. As a non-limiting example, referring toFIG.3andFIG.4, the channel-capacitance measurements include channel-capacitance measurements from all sensor locations420of capacitive sensor portion402included in channel-capacitance measurements318. The subset of interest of the channel-capacitance measurements includes channel-capacitance measurements related to activated sensor buttons414.

At operation506, a button-status report is generated at least partially in response to the activated sensor buttons. As a non-limiting example, referring toFIG.3, capacitive-sensor-button controller310generates button-status report314at least partially in response to channel-capacitance measurements318. As a non-limiting example, referring toFIG.4, button-status report portion406includes activated-capacitive-sensor-button indicators408, which are indicative of activated sensor buttons414.

At operation508, the button-status report is traversed according to a button-traversal schema. As a non-limiting example, referring toFIG.3, recognizer304may be configured to traverse button-status report314according to encoder308.

At operation510, an object identifier is generated at least partially in response to the traversal of the button-status report. As a non-limiting example, referring toFIG.3, the recognizer304may be configured to encode object identifier316at least partially in response to the traversal of button-status report314according to encoder308.

In some cases, it may be desirable for an object recognition system to account for orientation of an object having detectable elements relative to a capacitive sensor during contact. A same object identifier may be generated whatever the orientation of the object relative to the capacitive sensor.

FIG.6is a block diagram depicting a controller600configured to discern an orientation of an object relative to a capacitive sensor, in accordance with one or more embodiments. Controller600may be an example implementation of controller104ofFIG.1according to one or more embodiments. Controller600includes reader606and recognizer602.

Reader606may be configured to generate quantized channel-capacitance measurements628in response to capacitive-sensor signal624received from a capacitive sensor, such as capacitive sensor116. Reader606may include quantizer608configured to generate the quantized channel-capacitance measurements628in response to capacitive-sensor signal624. As a non-limiting example, reader606may receive capacitive-sensor signal624, and quantize channel-capacitance measurements of capacitive-sensor signal624at quantizer608to generate quantized channel-capacitance measurements628. In some embodiments, quantizer608may be configured to quantize the channel-capacitance measurements of capacitive-sensor signal624according to three or more quantization levels.

Area-of-interest identifier610may be configured to identify an area of interest of a capacitive sensor. Such an area of interest may include one or more sensor locations of the capacitive sensor as represented by quantized channel-capacitance measurements628of capacitive-sensor signal624. In other words, an area of interest may be indicative of a subset of the quantized channel-capacitance measurements of capacitive-sensor signal624that are from a number of sensor locations of the capacitive sensor. An area of interest may correspond to sensor locations for which detectable elements of an object are in proximity of the capacitive sensor.

As a non-limiting example, a capacitive sensor may be larger than an object that is in contact with the capacitive sensor. All of the sensor locations of the capacitive sensor may generate quantized channel-capacitance measurements628, and some of the quantized channel-capacitance measurements628may indicate no detectable element in proximity thereof. The area of interest may be indicative of the quantized channel-capacitance measurements628that correspond to the object location, e.g., excluding quantized channel-capacitance measurements628that are not related to the object location. The area of interest may include quantized channel-capacitance measurements628that indicate proximity (e.g., based on detectable elements in the object) and the area of interest may also include quantized channel-capacitance measurements628that indicate no proximity (e.g., based on absences of detectable elements in sensor locations that are associated (e.g., underneath) with the object).

Area-of-interest identifier610may include edge detector612, which may be configured to identify edges that define an area of interest. As a non-limiting example, to identify an area of interest, area-of-interest identifier610may be configured to use edge detector612to identify edges that define an area of interest. Edge detector612may be configured to detect edges in quantized channel-capacitance measurements628according to any suitable edge-detection algorithm known to a person having ordinary skill in the art, including search based and zero-crossing based algorithms, without limitation.

Orientation identifier614may be configured to identify a spatial relationship between an area of interest and a capacitive sensor in response to a subset of quantized channel-capacitance measurements626corresponding to the area of interest identified by area-of-interest identifier610. Such a spatial relationship may be indicative of a spatial relationship between an object in contact with the capacitive sensor and the capacitive sensor. The spatial relationship may include a positional relationship, e.g., a distance between the area of interest and a center or corner of the capacitive sensor. Additionally, or alternatively, the spatial relationship may include a rotational relationship, which may indicate e.g., a number of degrees of rotation between a grid of the object and a grid of the capacitive sensor. As used herein, the term “orientation information” includes a spatial relationship, which may include one or both of the positional relationship and the rotational relationship.

In some embodiments, in order to identify a spatial relationship, orientation identifier614may be configured to compare the subset of quantized channel-capacitance measurements626to data points of an orientation schema622. As a non-limiting example, orientation identifier614may be configured to identify three channel-capacitance measurements and compare the identified three channel-capacitance measurements to data points of the orientation schema622. As a specific non-limiting example, orientation identifier614may be configured to identify three channel-capacitance measurements in a particular arrangement and identify a corresponding arrangement of data points in the orientation schema622. Orientation identifier614may be configured to identify the spatial relationship based on the correspondence between the particular arrangement in the subset of quantized channel-capacitance measurements626and the corresponding arrangement of data points in the orientation schema622.

In some embodiments, orientation identifier614may include an optional corner detector616, which may be configured to identify corners of the area of interest. In some embodiments, corner detector616may be configured to operate with edge detector612, as a non-limiting example, corner detector616may be configured to identify corners based on identified edges. In other embodiments, corner detector616may identify corners according to any suitable edge and/or corner detection algorithm. The corners of the area of interest may be compared to data points in the orientation schema622to identify the spatial relationship. As a specific non-limiting example, three corners of a quadrilateral of the area of interest may be identified in the subset of quantized channel-capacitance measurements626. The three corners may be compared with and correlated with three corresponding corners of a quadrilateral in the orientation schema622. Based on the correlation between the three corners in the subset of quantized channel-capacitance measurements626and the data points in the orientation schema622, the spatial relationship may be identified. Additional details regarding this example are given with reference toFIG.10.

Recognizer602may include an optional object identifier generator604, which may be configured to generate object identifier618in response to the subset of quantized channel-capacitance measurements626. In some embodiments, object identifier generator604may be configured to generate object identifier618based on the subset of quantized channel-capacitance measurements626, i.e., those corresponding to the area of interest. In some embodiments, object identifier generator604may be configured to generate object identifier618in response to a spatial relationship determined by orientation identifier614.

In some embodiments, object identifier generator604may be configured to generate object identifier618based on a correspondence between the quantized channel-capacitance measurements628(and in some cases, the subset of quantized channel-capacitance measurements626) and data points of recognition schema620. As a non-limiting example, recognition schema620may include an object-recognition dictionary including arrangements of quantized channel-capacitance measurements628and corresponding object identifiers. Object identifier generator604may be configured to generate object identifier618as an object identifier of the object-recognition dictionary based on a correspondence between the quantized channel-capacitance measurements628, or subset of quantized channel-capacitance measurements626, and a set of channel-capacitance measurements in the object-recognition dictionary that corresponds to the object identifier.

In some embodiments, object identifier generator604may be configured to generate object identifier618based on encoding sensor locations (or groups of sensor locations) of the quantized channel-capacitance measurements628or subset of quantized channel-capacitance measurements626, as points of data (e.g., bits). As a non-limiting example, sensor locations (or groups of sensor locations) in the area of interest may be identified and traversed according to recognition schema620. As the sensor locations (or groups of sensor locations) are traversed, a numerical value may be generated at least partially in response to the quantized channel-capacitance measurements628of each sensor location (or each group of sensor locations). As a non-limiting example, the area of interest may be divided into an m*n grid of groups of sensor locations. The m*n grid of groups of sensor locations may be traversed in an order according to recognition schema620. For each group of sensor locations, a numerical value indicative of quantized channel-capacitance measurements of the group may be generated for inclusion in object identifier618. As discussed above, the quantized channel-capacitance measurements628may have been quantized by quantizer608according to three or more quantization levels. Accordingly, as the quantized channel-capacitance measurements628are encoded, each of quantized channel-capacitance measurements628may be encoded into one of three or more numerical values.

FIG.7illustrates process700in accordance with one or more embodiments. In some embodiments, one or more operations of process700may be performed by or using elements of controller600ofFIG.6.

At operation702, channel-capacitance measurements of a capacitive sensor are captured. Optionally, the channel-capacitance measurements are captured during a time period corresponding to a reading cycle. As a non-limiting example, referring toFIG.6, reader606may be configured to capture the channel-capacitance measurements of capacitive-sensor signal624.

At operation704, the channel-capacitance measurements are optionally quantized. In some embodiments, the channel-capacitance measurements are quantized according to at least three quantization levels. As a non-limiting example, referring toFIG.6, the channel-capacitance measurements of capacitive-sensor signal624are quantized at quantizer608. Thereafter, quantized channel-capacitance measurements628are provided by reader606e.g., to recognizer602.

At operation706, an object identifier is generated at least partially in response to the channel-capacitance measurements. As a non-limiting example, referring toFIG.6, recognizer602may be configured to generate object identifier618at least partially in response to the channel-capacitance measurements (e.g., quantized channel-capacitance measurements628).

FIG.8is a diagram depicting a topographical map800to illustrate a specific non-limiting example of quantization levels of channel-capacitance measurements802for an area of interest804.

FIG.8illustrates a visual representation of channel-capacitance measurements802. Channel-capacitance measurements may include data captured from a capacitive sensor indicative of channel capacitance at sensor locations (e.g., intersections of sensing lines) of the capacitive sensor. Channel-capacitance measurements802illustrate channel-capacitance measurements as heights in a three-dimensional graph with height representing normalized channel-capacitance values.FIG.8illustrates channel-capacitance measurements802according to an x-y grid that may correspond to x and y sensing lines of a capacitive sensor.FIG.8illustrates the values of channel-capacitance measurements802as quantized values e.g., the measured channel-capacitance values have been quantized into several (e.g., six) quantization levels810.

Additionally,FIG.8illustrates area of interest804of channel-capacitance measurements802. Area of interest804may include a subset of all of the channel-capacitance measurements of the capacitive sensor. Area of interest804may be defined by edge, e.g., edge806and edge808. Additionally, area of interest804may have corners, e.g., corner812.

FIG.9illustrates process900for generating an object identifier at least partially in response to channel-capacitance measurements, in accordance with one or more embodiments. In some embodiments, one or more operations of process900may be performed by or using elements of controller600ofFIG.6. In some embodiments, process900may be included in process700e.g., between operation702and operation706.

At operation902, edges defining an area of interest are identified at least partially in response to channel-capacitance measurements. The area of interest is related to an object that is in proximity of a capacitive sensor, in particular to one or more detectable elements of the object. The channel-capacitance measurements are the channel-capacitance measurements captured at operation702. As a non-limiting example, referring toFIG.6, edge detector612may be configured to identify the edges defining an area of interest. Additionally, area-of-interest identifier610may be configured to identify the area of interest based on the identified edges.

At, operation904, sensor locations associated with the area of interest are identified. The sensor locations are a subset of interest of all of the sensor locations of the capacitive sensor.

At operation906, a subset of interest of channel-capacitance measurements is identified. The subset of interest of the channel-capacitance measurements is associated with the identified sensor locations of operation904. As such, the subset of interest of the channel-capacitance measurements is related to the object.

At operation908, an object identifier is generated at least partially in response to the subset of interest of the channel-capacitance measurements. Optionally, the object identifier is generated at least partially in response to the subset of interest of channel-capacitance measurements and a recognition schema. As a non-limiting example, referring toFIG.6, object identifier generator604may be configured to generate object identifier618at least partially in response to the subset of interest of channel-capacitance measurements (e.g., the subset of quantized channel-capacitance measurements626that are associated with the object rather than all of the quantized channel-capacitance measurements628of the capacitive sensor) and, in some cases, recognition schema620.

FIG.10is a diagram that illustrates concepts discussed herein for determining orientation in accordance with one or more embodiments.

FIG.10illustrates quantized channel-capacitance measurements1004represented as discrete values ‘1’ or ‘0.’ Quantized channel-capacitance measurements1004may include channel-capacitance measurements for area of interest1006. Area of interest1006may be defined by edges e.g., edge1012. Area of interest1006may have corners, e.g., corner1014.

In some embodiments, quantized channel-capacitance measurements1004may have been spatially aggregated from a larger number of data points (e.g., a larger number of measurements of the subset of interest of the channel-capacitance measurements). As a non-limiting example, channel-capacitance measurements802ofFIG.8may be spatially aggregated to arrive at quantized channel-capacitance measurements1004. Additionally, quantized channel-capacitance measurements1004may have been additionally quantized e.g., channel-capacitance measurements802ofFIG.8may be further quantized to arrive at quantized channel-capacitance measurements1004.

FIG.10illustrates orientation schema1002, and a pattern of data points1016. In this case, corner data points1018of orientation schema1002may be identified for use in orientating quantized channel-capacitance measurements1004. Based on the identification of corner data points1018for use in orientation, corner channel-capacitance measurements1008of quantized channel-capacitance measurements1004may be identified. Expected values of corner data points1018may be compared with values of corner channel-capacitance measurements1008. If the values of corner channel-capacitance measurements1008match expected values of corner data points1018, orientation information1010, including a rotational orientation of quantized channel-capacitance measurements1004, may be determined. As a non-limiting example, a “north” of quantized channel-capacitance measurements1004may be identified. Additionally, or alternatively, a degree rotation between the object and the capacitive sensor may be identified. If the values of corner channel-capacitance measurements1008do not match the expected values of corner data points1018, one of quantized channel-capacitance measurements1004or orientation schema1002may be rotated and another comparison may be performed, with the degree of rotation stored in order to determine orientation.

In this way, a rotational orientation of the object (and/or the channel-capacitance measurements that result from proximity between the detectable elements of the object and the capacitive sensor) relative to the capacitive sensor may be identified. The rotational orientation may be important to the generation of the object identifier because, as a non-limiting example, when traversing the channel-capacitance measurements according to a recognition schema, it may be important that the channel-capacitance measurements are oriented at the same rotational angle as the recognition schema.

In some cases there may be an expectation that objects that are to be recognized include detectable elements (and/or not include detectable elements) in locations corresponding to data points in orientation schema1002that have been identified for orientation. As a non-limiting example, objects that are to be recognized according to a recognition schema including orientation schema1002may include detectable elements in three corners of a quadrilateral and exclude detectable elements in a fourth corner.

One benefit of selecting three external corners of orientation schema1002for orientation of quantized channel-capacitance measurements1004is that in selecting three external corners for orientation, objects to be recognized will include detectable elements in three external corners. Including detectable elements in three external corners (e.g., of a quadrilateral) may allow for simpler area-of-interest identification because the area of interest may be guaranteed to include three detectable elements at three corners (of the quadrilateral) and the area of interest identifier can expect to identify edges or corners based on detectable elements in the corners.

Data points1016allow for placement of a number of potential predetermined spatial patterns of detectable elements. In non-limiting example shown inFIG.10,12data points1016are provided, which provide for up to 4096 different particular predetermined spatial patterns of detectable elements.

Other patterns of orientation schema have been conceived by inventors and are within the scope of this disclosure. As a specific non-limiting example, three of four central data points of data points1016may be identified for orientation, instead of corner data points1018.

FIG.11illustrates process1100in accordance with one or more embodiments. In some embodiments, one or more operations of process1100may be performed by or using elements of controller600ofFIG.6. In some embodiments, process1100may be included in process700e.g., between operation702and operation706. In some embodiments, process1100may include or follow one or more steps of process900when process900is included in process700.

At operation1102, a subset of interest of channel-capacitance measurements is identified. The subset of interest of the channel-capacitance measurements is associated with sensor locations that correspond to an area of interest. The channel-capacitance measurements, and the subset of interest of the channel-capacitance measurements, may be optionally quantized. The area of interest may be related to an object in proximity of the capacitive sensor. In particular, the area of interest may be related to the plurality of detectable elements in a predetermined spatial pattern in or on the object. In some embodiments, the subset of interest of the channel-capacitance measurements identified at operation1102is identified by a process similar to, or the same as, what was described above with regard to operation902, operation904, and/or operation906ofFIG.9.

At operation1104, a spatial correspondence between at least three channel-capacitance measurements of the subset of interest of the channel-capacitance measurements and at least three data points of an orientation schema is optionally determined. As a non-limiting example, referring toFIG.10, a spatial correspondence between corner channel-capacitance measurements1008and corner data points1018is determined.

At operation1106, a spatial relationship between the area of interest and the capacitive sensor is determined. Optionally, the spatial relationship is based on the spatial correspondence determined at operation1104. As a non-limiting example, referring toFIG.10, the spatial relationship includes identifying a correspondence between a relative “north” of the area of interest (which is associated with the second channel-capacitance measurements) and a corresponding “north” of the capacitive sensor. Additionally, the spatial relationship includes a positional spatial relationship, e.g., where on the capacitive sensor is the area of interest.

At operation1108, an object identifier is generated at least partially in response to the channel-capacitance measurements (e.g., the subset of interest of channel-capacitance measurements) and at least partially in response to the spatial relationship.

FIG.12illustrates process1200in accordance with one or more embodiments. In some embodiments, one or more operations of process1200may be performed by or using elements of controller600ofFIG.6. In some embodiments, process1200may be included in process700, e.g., between operation702and operation706. In some embodiments, process1200be included in process1100, e.g., between and/or as part of operation1104and operation1106.

At operation1202, corners of the area of interest are identified. As a non-limiting example, referring toFIG.10, one or more corners, e.g., corner1014are identified.

At operation1204, corner channel-capacitance measurements are identified. The corner channel-capacitance measurements correspond to the corners identified at operation1202. As a non-limiting example, referring toFIG.10, corner channel-capacitance measurements1008are identified. The corner channel-capacitance measurements may be optionally quantized, or may not be quantized.

At operation1206, a spatial correspondence between the corner channel-capacitance measurements and data points of an orientation schema is determined. As a non-limiting example, referring toFIG.10, a spatial correspondence between corner channel-capacitance measurements1008and corner data points1018is determined.

FIG.13is a block diagram of circuitry1300that, in some embodiments, may be used to implement various functions, operations, acts, processes, and/or methods disclosed herein. Circuitry1300includes one or more processors1302(sometimes referred to herein as “processors1302”) operably coupled to one or more apparatuses such as data storage devices (sometimes referred to herein as “storage1304”), without limitation. Storage1304includes machine-executable code1306stored thereon (e.g., stored on a computer-readable memory) and processors1302include logic circuitry1308. Machine-executable code1306include information describing functional elements that may be implemented by (e.g., performed by) logic circuitry1308. Logic circuitry1308is adapted to implement (e.g., perform) the functional elements described by machine-executable code1306. Circuitry1300, when executing the functional elements described by machine-executable code1306, should be considered as special purpose hardware configured for carrying out functional elements disclosed herein. In some embodiments, processors1302may be configured to perform the functional elements described by machine-executable code1306sequentially, concurrently (e.g., on one or more different hardware platforms), or in one or more parallel process streams.

When implemented by logic circuitry1308of processors1302, machine-executable code1306is configured to adapt processors1302to perform operations of embodiments disclosed herein. For example, machine-executable code1306may be configured to adapt processors1302to perform at least a portion or a totality of process200, process500, process700, process900, process1100, and/or process1200. As another example, machine-executable code1306may be configured to adapt processors1302to perform at least a portion or a totality of the operations discussed with reference to object-recognition system114, object-recognition system300, and/or controller600, and more specifically, one or more of controller104, controller302, and/or controller600. As a specific, non-limiting example, the computer-readable instructions may be configured to instruct processors1302to perform at least some functions of capacitive-sensor-button controller310, recognizer304, reader606, and/or recognizer602, as discussed herein.

Processors1302may include a general purpose processor, a special purpose processor, a central processing unit (CPU), a microcontroller, a programmable logic controller (PLC), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, other programmable device, or any combination thereof designed to perform the functions disclosed herein. A general-purpose computer including a processor is considered a special-purpose computer while the general-purpose computer is configured to execute computing instructions (e.g., software code) related to embodiments of the present disclosure. It is noted that a general-purpose processor (may also be referred to herein as a host processor or simply a host) may be a microprocessor, but in the alternative, processors1302may include any conventional processor, controller, microcontroller, or state machine. Processors1302may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

In some embodiments, storage1304includes volatile data storage (e.g., random-access memory (RAM)), non-volatile data storage (e.g., Flash memory, a hard disc drive, a solid state drive, erasable programmable read-only memory (EPROM), etc.). In some embodiments, processors1302and storage1304may be implemented into a single device (e.g., a semiconductor device product, a system on chip (SOC), etc.). In some embodiments, processors1302and storage1304may be implemented into separate devices.

In some embodiments, machine-executable code1306may include computer-readable instructions (e.g., software code, firmware code). By way of non-limiting example, the computer-readable instructions may be stored by storage1304, accessed directly by processors1302, and executed by processors1302using at least logic circuitry1308. Also by way of non-limiting example, the computer-readable instructions may be stored on storage1304, transmitted to a memory device (not shown) for execution, and executed by processors1302using at least logic circuitry1308. Accordingly, in some embodiments, logic circuitry1308includes electrically configurable logic circuitry1308.

In some embodiments, machine-executable code1306may describe hardware (e.g., circuitry) to be implemented in logic circuitry1308to perform the functional elements. This hardware may be described at any of a variety of levels of abstraction, from low-level transistor layouts to high-level description languages. At a high-level of abstraction, a hardware description language (HDL) such as an Institute of Electrical and Electronics Engineers (IEEE) Standard hardware description language (HDL) may be used, without limitation. By way of non-limiting examples, VERILOG™, SYSTEMVERILOG™ or very large scale integration (VLSI) hardware description language (VHDL™) may be used.

HDL descriptions may be converted into descriptions at any of numerous other levels of abstraction as desired. As a non-limiting example, a high-level description can be converted to a logic-level description such as a register-transfer language (RTL), a gate-level (GL) description, a layout-level description, or a mask-level description. As a non-limiting example, micro-operations to be performed by hardware logic circuits (e.g., gates, flip-flops, registers, without limitation) of logic circuitry1308may be described in a RTL and then converted by a synthesis tool into a GL description, and the GL description may be converted by a placement and routing tool into a layout-level description that corresponds to a physical layout of an integrated circuit of a programmable logic device, discrete gate or transistor logic, discrete hardware components, or combinations thereof. Accordingly, in some embodiments, machine-executable code1306may include an HDL, an RTL, a GL description, a mask level description, other hardware description, or any combination thereof.

In embodiments where machine-executable code1306includes a hardware description (at any level of abstraction), a system (not shown, but including storage1304) may be configured to implement the hardware description described by machine-executable code1306. By way of non-limiting example, processors1302may include a programmable logic device (e.g., an FPGA or a PLC) and logic circuitry1308may be electrically controlled to implement circuitry corresponding to the hardware description into logic circuitry1308. Also by way of non-limiting example, logic circuitry1308may include hard-wired logic manufactured by a manufacturing system (not shown, but including storage1304) according to the hardware description of machine-executable code1306.

Regardless of whether machine-executable code1306includes computer-readable instructions or a hardware description, logic circuitry1308is adapted to perform the functional elements described by machine-executable code1306when implementing the functional elements of machine-executable code1306. It is noted that although a hardware description may not directly describe functional elements, a hardware description indirectly describes functional elements that the hardware elements described by the hardware description are capable of performing.

In the present disclosure, certain shapes have been repeatedly illustrated and described. This is not meant to be limiting. Rather, any suitable shape is within the scope of the present disclosure. As a specific non-limiting example, although the sensing lines have been illustrated and described as forming an x-y grid, in some embodiments, the sensing lines may be laid out in a triangular or half-square grid. Additionally or alternatively, the channel-capacitance measurements, the recognition schema and/or the orientation schema may be laid out in a similar fashion. Additionally or alternatively, although the object has been described and illustrated as having detectable elements arranged in a two-dimensional x-y grid, in some embodiments, the detectable elements may be arranged according to a triangular, hexagonal, or half-square grid.

Additional non-limiting embodiments of the disclosure may include:

Embodiment 1: A method, comprising: capturing a channel-capacitance measurement via a capacitive sensor when an object is in proximity of the capacitive sensor, the object including a plurality of detectable elements in a predetermined spatial pattern; and generating an object identifier at least partially responsive to the captured channel-capacitance measurement.

Embodiment 2: The method of Embodiment 1, wherein the generating the object identifier at least partially responsive to the captured channel-capacitance measurement comprises: identifying activated sensor buttons at least partially responsive to a subset of interest of the captured channel-capacitance measurement that are indicative of proximity of the object; and generating a button-status report at least partially responsive to the activated sensor buttons, and wherein the generating the object identifier is at least partially responsive to the button-status report.

Embodiment 3: The method of Embodiments 1 and 2, wherein the generating the object identifier at least partially responsive to the button-status report comprises: traversing a generated button-status report according to a button-traversal schema; and generating the object identifier at least partially responsive to the traversal.

Embodiment 4: The method of Embodiments 1 to 3, wherein the capturing the channel-capacitance measurement comprises capturing the channel-capacitance measurement during a time period corresponding to a reading cycle.

Embodiment 5: The method of Embodiments 1 to 4, comprising: identifying edges defining an area of interest; identifying sensor locations associated with the area of interest; and identifying a subset of interest of the captured channel-capacitance measurement associated with the sensor locations, wherein the generating the object identifier is at least partially responsive to the subset of interest of the captured channel-capacitance measurement.

Embodiment 6: The method of Embodiments 1 to 5, comprising quantizing the captured channel-capacitance measurement according to at least three quantization levels, wherein the generating the object identifier at least partially responsive to the captured channel-capacitance measurement comprises generating the object identifier at least partially responsive to quantized captured channel-capacitance measurement.

Embodiment 7: The method of Embodiments 1 to 6, comprising: identifying a subset of interest of the captured channel-capacitance measurement associated with sensor locations that correspond to an area of interest; and determining a spatial relationship between the area of interest and the capacitive sensor; and wherein the generating the object identifier at least partially responsive to the captured channel-capacitance measurement comprises generating the object identifier at least partially responsive to the spatial relationship.

Embodiment 8: The method of Embodiments 1 to 7, comprising: determining a spatial correspondence between at least three of the captured channel-capacitance measurement of the subset of interest of the captured channel-capacitance measurement and at least three data points of an orientation schema, wherein the determining the spatial relationship between the area of interest and the capacitive sensor is at least partially responsive to the spatial correspondence.

Embodiment 9: The method of Embodiments 1 to 8, comprising: identifying corners of the area of interest; and identifying corner channel-capacitance measurement corresponding to the corners; and determining a spatial correspondence between the corner channel-capacitance measurement and data points of an orientation schema, wherein the determining the spatial relationship is at least partially responsive to the spatial correspondence.

Embodiment 10: A controller, the controller comprising: a capacitive-sensor-button controller configured to provide a button-status report at least partially responsive to proximity of an object to specified areas of a capacitive sensor, the object including a plurality of detectable elements in a predetermined spatial pattern; and a recognizer configured to generate an object identifier at least partially responsive to the button-status report, the object identifier based at least partially on the predetermined spatial pattern of the plurality of detectable elements of the object.

Embodiment 11: The controller of Embodiment 10, wherein the button-status report comprises activated-capacitive-sensor-button indicators, the activated-capacitive-sensor-button indicators indicative of the specified areas for which the plurality of detectable elements are in proximity during a time period corresponding to a reading cycle.

Embodiment 12: The controller of Embodiments 10 and 11, wherein the recognizer comprises a recognition schema, the recognition schema comprising instructions for generating the object identifier at least partially responsive to the activated-capacitive-sensor-button indicators.

Embodiment 13: The controller of Embodiments 10 to 12, wherein the recognition schema comprises an encoder, the encoder comprising instructions for traversing the activated-capacitive-sensor-button indicators when generating the object identifier.

Embodiment 14: The controller of Embodiments 10 to 13, wherein the controller is implemented by a microcontroller or microprocessor.

Embodiment 15: A controller, the controller comprising: a reader configured to capture a channel-capacitance measurement via a capacitive sensor when an object having a plurality of detectable elements in a predetermined spatial pattern is in proximity of the capacitive sensor; and a recognizer configured to generate an object identifier at least partially responsive to the captured channel-capacitance measurement.

Embodiment 16: The controller of Embodiment 15, wherein the captured channel-capacitance measurement comprise capacitance values, each of the capacitance values measured at a sensor location of the capacitive sensor during a time period corresponding to a reading cycle.

Embodiment 17: The controller of Embodiments 15 and 16, wherein the reader comprises a quantizer configured to quantize the captured channel-capacitance measurement according to at least three quantization levels, wherein the recognizer is configured to generate the object identifier at least partially responsive to a quantized captured channel-capacitance measurement.

Embodiment 18: The controller of Embodiments 15 to 17, wherein the recognizer comprises an area-of-interest identifier configured to identify a subset of interest of the captured channel-capacitance measurement that correspond to an area of interest, the area of interest related to the object in proximity of the capacitive sensor, wherein the recognizer is configured to generate the object identifier at least partially responsive to the subset of interest of the captured channel-capacitance measurement.

Embodiment 19: The controller of Embodiments 15 to 18, wherein the area-of-interest identifier comprises an edge detector configured to detect one or more edges of the area of interest, and wherein the area-of-interest identifier is configured to define the area of interest at least partially responsive to the one or more edges.

Embodiment 20: The controller of Embodiments 15 to 19, wherein the recognizer comprises an orientation identifier configured to generate orientation information indicative of a spatial relationship between the object and the capacitive sensor, wherein the recognizer is configured to generate the object identifier at least partially responsive to a generated orientation information.

Embodiment 21: The controller of Embodiments 15 to 20, wherein the controller is implemented by a microcontroller or microprocessor.

Embodiment 22: An object-recognition system comprising: a capacitive sensor; a reader configured to capture a channel-capacitance measurement when an object having a plurality of detectable elements in a predetermined spatial pattern is in proximity to the capacitive sensor; and a recognizer configured to determine an object identifier at least partially responsive to the captured channel-capacitance measurement.

While the present disclosure has been described herein with respect to certain illustrated embodiments, those of ordinary skill in the art will recognize and appreciate that the present invention is not so limited. Rather, many additions, deletions, and modifications to the illustrated and described embodiments may be made without departing from the scope of the invention as hereinafter claimed along with their legal equivalents. In addition, features from one embodiment may be combined with features of another embodiment while still being encompassed within the scope of the invention as contemplated by the inventor.