Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
CORTEX SystemsC

CORTEX Systems

@CORTEX Systems
Hardware Contributor
About
Posts
4
Topics
0
Shares
0
Groups
1
Followers
0
Following
0

Posts

Recent Best Controversial

  • 💬 Long Range Vehicle Controller
    CORTEX SystemsC CORTEX Systems

    The mowbot looks pretty interesting -- I like the variety of sensors you incorporated.

    Here is some basic code you can use to test the course correcting ability of the LSM303. The code will print to screen "turn right" or "turn left." After a set amount of time, the code will print "reverse" and set you on a new heading.

    #include <Wire.h>
    #include <LSM303.h>
    
    int target = 350;
    int target2 = 180;
    unsigned long timer = 60000;
    boolean reverse = false;
    
    LSM303 compass;
    
    void setup() {
      Serial.begin(9600);
      Wire.begin();
      compass.init();
      compass.enableDefault();
      
      /*
      Calibration values; the default values of +/-32767 for each axis
      lead to an assumed magnetometer bias of 0. Use the Calibrate example
      program to determine appropriate values for your particular unit.
      */
      compass.m_min = (LSM303::vector<int16_t>){-485, -508, -291};
      compass.m_max = (LSM303::vector<int16_t>){+476, +456, +588};
    }
    
    void loop() {
      compass.read();
      
      /*
      When given no arguments, the heading() function returns the angular
      difference in the horizontal plane between a default vector and
      north, in degrees.
      
      The default vector is chosen by the library to point along the
      surface of the PCB, in the direction of the top of the text on the
      silkscreen. This is the +X axis on the Pololu LSM303D carrier and
      the -Y axis on the Pololu LSM303DLHC, LSM303DLM, and LSM303DLH
      carriers.
      
      To use a different vector as a reference, use the version of heading()
      that takes a vector argument; for example, use
      
        compass.heading((LSM303::vector<int>){0, 0, 1});
      
      to use the +Z axis as a reference.
      */
      int heading = compass.heading();
      float deviation = abs(target - heading);
    if (deviation > 1){
      if (deviation >= 180){
        if (heading < target){
          Serial.println("turn left");}
          else{
            Serial.println("turn right");}
            }
      else {
        if (heading < target){
          Serial.println("turn right");}
          else{Serial.println("turn left");}
      }}
      else{Serial.println("On Course");}
      
      Serial.println(heading);
      if (reverse == false) {
        if (millis() >= timer){
        target = target2;
        reverse = true;
        Serial.println("Reverse");}} 
      
      delay(100);
    }
    

    You can change the variables target, target2 and timer, the delay interval and also deviation in the line of code:

    if (deviation > 1){
    

    You can further modify the code so that instead of (or in addition to) to printing commands, the commands are sent to the motors. For smoother operation, you can average the deviation over several loops before course-correcting.

    OpenHardware.io uav robotics auv robot rovers autonomous rover

  • 💬 Long Range Vehicle Controller
    CORTEX SystemsC CORTEX Systems

    It can be used to engage up to 3 thrusters, solenoids, or other unidirectional actuators . Speed is controlled by pulse width modulation. Directional control is achieved by varying the speeds of two identical motors rather than reversing motor direction. There is no programming header. The Atmega chip is in a socket, and can be easily removed for programming on a breadboard or Arduino socket.

    I am trying to keep the price and number of parts as low as possible because I will be using this with robotic ocean craft that may have a high rate of loss due to extreme weather.

    OpenHardware.io uav robotics auv robot rovers autonomous rover

  • 💬 CM1k Breakout Board -- Neuromorphic Chip
    CORTEX SystemsC CORTEX Systems

    @kristof-delaere

    The terms that you refer to are footprint/package specifications (size, shape).

    Here are links to the above components on digikey:

    CMOS SMD (oscillator)
    http://www.digikey.com/product-detail/en/epson/SG7050CAN-27.000000M-TJGA3/SER3999CT-ND/5175091

    0207W (120 ohm resistor)
    http://www.digikey.com/product-detail/en/tt-electronics-welwyn/WRM0207C-120RFI/985-1466-1-ND/3648019

    0207W (2.7k ohm resistor)
    http://www.digikey.com/product-detail/en/yageo/MCP100JR-2K7/MCP100JR-2K7-ND/2169183

    OpenHardware.io arduino i2c general vision artificial neural network cognimem neuromorphic breakout board cm1k

  • 💬 CM1k Breakout Board -- Neuromorphic Chip
    CORTEX SystemsC CORTEX Systems

    @NeverDie The CM1k chip can store over 1000 patterns associated with user-input categories. When in recognition mode, the chip compares a new input pattern to all of the stored patterns simultaneously, and outputs the best match. The practical applications are enormous -- allowing robots or other systems to recognize patterns almost instantly (visual, auditory, or other medium) and respond appropriately -- essential for self-driving vehicles, fully autonomous robotics, gesture-computer interfaces, brain-computer interfaces, complex environmental control systems, etc.

    OpenHardware.io arduino i2c general vision artificial neural network cognimem neuromorphic breakout board cm1k
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular