Adding a camera to Dash


#1

Has anyone connected a camera directly to the Hologram Dash? I’ve been trying to find information on how this could be accomplished using a serial camera such as the Adafruit weatherproof camera (https://www.adafruit.com/product/613), but have not come up with any results. If connecting the board directly to the camera is not possible, how have others connected to image capturing devices? Any information to set me on the right track would be appreciated.


#2

I was able to get the Snapshot.ino example to compile with a little bit of effort. I don’t have the camera, so I can’t test it, but the Adafruit library (https://learn.adafruit.com/ttl-serial-camera/arduino-usage) should work with the Dash.

The Adafruit_VC0706 library has a dependency on a SoftwareSerial class. This isn’t implemented with the Dash. All is not lost, just use the HardwareSerial constructor instead, and use Serial0 or Serial2 with the Dash. To get it to compile though, you need to either:
A) Remove all SoftwareSerial references in the library (not fun)
B) Add a dummy SoftwareSerial library (not ideal)

For B), below is a SoftwareSerial class that will compile, but is non-functional. Add a folder named SoftwareSerial to your Arduino libraries directory, and add SoftwareSerial.h to it and it will compile.

#ifndef SoftwareSerial_h
#define SoftwareSerial_h

#include <inttypes.h>
#include <Stream.h>

class SoftwareSerial : public Stream
{
public:
    // public methods
    SoftwareSerial(uint8_t receivePin, uint8_t transmitPin, bool inverse_logic = false) {}
    ~SoftwareSerial() {}
    void begin(long speed) {}
    bool listen() { return false; }
    void end() {}
    bool isListening() { return false; }
    bool stopListening() { return false; }
    bool overflow() { return false; }
    int peek() { return 0; }
    
    virtual size_t write(uint8_t byte) { return 0; }
    virtual int read() { return 0; }
    virtual int available() { return 0; }
    virtual void flush() {}
    operator bool() { return true; }
    
    using Print::write;
};
#endif

For the snapshot.ino example, use the HardwareSerial constructor with one of the Dash serial ports:

//Adafruit_VC0706 cam = Adafruit_VC0706(&cameraconnection);

// Using hardware serial on Mega: camera TX conn. to RX1,
// camera RX to TX1, no SoftwareSerial object is required:
Adafruit_VC0706 cam = Adafruit_VC0706(&Serial0); //or &Serial2

#3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.