View allAll Photos Tagged Arduino

Close-up of the Arduino Duemilanove and the radio-control servo.

I got my Adafruit VC0706 serial camera working, and hacked the SD example to produce base64 HTML compatible output instead. This way you can use your camera with an Ethernet shield or even use a computer to link the serial port to an http port on the network and use the camera as a netcam.

 

The camera doesn't see our world the way we do. It can see color, but it has no IR filter, so the near IR light skews the colors it tries to represent. This is great for night vision, but dreadful for color fidelity.

 

Note the terrycloth bathrobe to the left, to human eyes it is very black. But in near IR apparently it is a very bright shade of infrared. The camera doesn't separate out the IR, so it gets counted as R G and B and that's why the black robe seems grey instead of some one color or another.

 

Here's the hacked example. I release my content as public domain. I believe the adafruit code is also public domain.

 

Be warned, Flickr isn't exactly C/C++ friendly. so some of the symbols may be mangled (especially if they remotely resemble HTML tags, like <= 100

 #include

#else

 #include

#endif

 

// This is the SD card chip select line, 10 is common

//#define chipSelect 10

// This is the camera pin connection. Connect the camera TX

// to pin 2, camera RX to pin 3

#if ARDUINO >= 100

SoftwareSerial cameraconnection = SoftwareSerial(2, 3);

#else

NewSoftSerial cameraconnection = NewSoftSerial(2, 3);

#endif

// pass the serial connection to the camera object

VC0706 cam = VC0706(&cameraconnection);

 

void binToAscii(char * outstring, uint8_t byte0, uint8_t byte1, uint8_t

byte2, uint16_t count)

{

  //outstring points to 4char string

  // byteX are the three possible input bytes

  // count marks the number of input bytes, this should

  // always be 0 unless it is

  // the last one or two input bytes

 

  uint8_t temp1=0, temp2=0, temp0=0;

  char outA=0, outB=0, outC=0, outD=0;

  char base64chars[]=

"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

 

  // pad properly to account for the number of input pieces

  if (count == 0){

  temp0 = byte0;

  temp1 = byte1;

  temp2 = byte2;

  }

  if (count == 1){

  temp0 = byte2;

  temp1 = 0;

  temp2 = 0;

  }

   if (count == 2){

  temp0 = byte1;

  temp1 = byte2;

  temp2 = 0;

  }

 

  // For some reason, you can't combine these next two blocks

 

  // bit math to break out 4 separate 6 bit pieces from the 3 8 bit inputs

  // and use them to index the base64 character set array

  outA=base64chars[temp0 >> 2];

  outB=base64chars[((temp0 & 0x03) 4)];

  outC=base64chars[((temp1 & 0x0f) 6)];

  outD=base64chars[(temp2 & 0x3f)];

 

  //load the chars into the output string

  outstring[0]=outA;

  outstring[1]=outB;

  outstring[2]=outC;

  outstring[3]=outD;

 

  // add padding

  if (count == 1){

    outstring[2]='=';

    outstring[3]='=';

  }

  if (count == 2){

    outstring[3]='=';

  }

}

  

void setup() {

  Serial.begin(115200);

  Serial.println("VC0706 Camera snapshot test");

 

  // see if the card is present and can be initialized:

//  if (!SD.begin(chipSelect)) {

    Serial.println("Card failed, or not present");

    // don't do anything more:

//    return;

//  }  

 

  // Try to locate the camera

  if (cam.begin()) {

    Serial.println("Camera Found:");

  } else {

    Serial.println("No camera found?");

    return;

  }

  // Print out the camera version information (optional)

  char *reply = cam.getVersion();

  if (reply == 0) {

    Serial.print("Failed to get version");

  } else {

    Serial.println("-----------------");

    Serial.print(reply);

    Serial.println("-----------------");

  }

 

  // Set the picture size - you can choose one of 640x480, 320x240

or 160x120

  // Remember that bigger pictures take longer to transmit!

 

 

cam.setImageSize(VC0706_640x480);       

// biggest

 

//cam.setImageSize(VC0706_320x240);       

// medium

 

//cam.setImageSize(VC0706_160x120);         

// small

 

  // You can read the size back from the camera (optional, but

maybe useful?)

  uint8_t imgsize = cam.getImageSize();

  Serial.print("Image size: ");

  if (imgsize == VC0706_640x480) Serial.println("640x480");

  if (imgsize == VC0706_320x240) Serial.println("320x240");

  if (imgsize == VC0706_160x120) Serial.println("160x120");

 

  Serial.println("Snap in 3 secs...");

  delay(3000);

 

  if (! cam.takePicture())

    Serial.println("Failed to snap!");

  else

    Serial.println("Picture taken!");

 

  // Create an image with the name IMAGExx.JPG

  char filename[13];

  strcpy(filename, "IMAGE00.JPG");

  for (int i = 0; i < 100; i++) {

    filename[5] = '0' + i/10;

    filename[6] = '0' + i%10;

    // create if does not exist, do not open existing,

write, sync after write

//    if (! SD.exists(filename)) {

//      break;

//    }

  }

 

  // Open the file for writing

//  File imgFile = SD.open(filename, FILE_WRITE);

 

  // Get the size of the image (frame) taken  

  uint16_t jpglen = cam.frameLength();

  Serial.print(jpglen, DEC);

  Serial.println(" byte image");

 

  int32_t time = millis();

  pinMode(8, OUTPUT);

  // Read all the data up to # bytes!

  uint16_t imageByteCount=0;

  uint8_t old, older, oldest, oldcount;

  char base64Text[]="****";

  int j;

  Serial.println("<img

src=\"data:image/jpeg;base64,");    

 

  while (jpglen != 0) {

    // read 64 bytes at a time;

    uint8_t *buffer;

    uint8_t bytesToRead = min(32, jpglen);  

// change 32 to 64 for a speedup but may not work with all setups!

    buffer = cam.readPicture(bytesToRead);

    

    for(j=0; j ");

 

  time = millis() - time;

  Serial.println("Done!");

  Serial.print("Took "); Serial.print(time); Serial.println(" ms");

}

    

void loop() {

}

 

ArduinoにLCDと温度センサーを付けた。LCDは表示がきれいで気に入っている。温度センサーは1秒間に100回計測をしてから平均値を出力しているので、そこそこの精度だと思う。

This is something I had been meaning to complete for quite a while. I needed something that was portable, clean and easy to store random things in to prototype stuff on the fly.

 

The Proto Desk allows me to sit on the couch with my laptop and arduino and mess around.

 

Arduino KeyRing Cam Shield

mounted a cheap keyring cam on the arduino to be able to make automaticly pictures for timelapses

only needed 5v, ground and one pin for the trigger

Arduino + shield RFID/Led RVB/Buzzer + antenne RFID

www.picocricket.com/

 

A PicoCricket is a tiny computer that can make things spin, light up, and play music.

 

You can plug lights, motors, sensors, and other devices into a PicoCricket, then program them to react, interact, and communicate.

 

For example, you can make a cat and program it to purr when someone pets it. Or you can make a birthday cake and program it to play a song when someone blows out the candles.

 

The PicoCricket Kit is similar to the LEGO® MINDSTORMS™ robotics kits. MINDSTORMS is designed especially for making robots, while the PicoCricket Kit is designed for making artistic creations with lights, sound, music, and motion.

Preparacion Workshop Arduino

 

Preparacion Workshop Arduino

note: jumper is in the wrong position.

The trim pot was supposed to be trimmed to 262.08 kHz. Pretty close.

Tired of our projects getting finished and being nothing more than a mush of wires we decided to design ourselves a box. After many iterations we've settled on one that requires just over an A4 (letter) sheet worth of acrylic and four nuts and bolts to assemble.

 

(For all the details visit our blog oomlout.co.uk/?p=369 )

3 x Ribbon cables are to drive the 3 driver chips

 

Code available here - github.com/ibuildrockets/NixieTemperatureDisplay

Here's my initial protoboard build of an Arduino Bare Bones Board interfacing to a LIS3LV02DQ 3-axis accelerometer via SPI. I followed the tutorial at Near Future Laboratories to start, but I plan on tweaking the firmware a bit. I should point out that the accelerometer is a 3.6v device running on 5v and liking it. I'm sort of terrified of the long-term survivability of this arrangement, but I'm told it works alright.

Using two 4051 multiplexer ICs I am able to simulate the electric typewriter's keyboard matrix and can control the entire functionality of this machine via the Arduino board.

 

This example shows the result of a tool that tries to recreate an image with the available letters on the daisy wheel. It types several layers of type over each other and also uses half-letter spacing and half-line feeds to cover more paper with carbon. The principle of this is demonstrated here: incubator.quasimondo.com/DarwinCss.html

LCD-on-board from SparkFun. I added the female pin headers.

Arduino. Reunión del grupo de hardware libre. Control de Motores paso a paso y aplicaciones en fotografía

13.11.2013 18:30h - 20:30h

Lugar: Cantina (planta baja/basement)

 

Seguimos trabajando y descubriendo las posibilidades de esta plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.

 

Este miércoles trataremos el control de motores paso a paso y sus aplicaciones en fotografía.

medialab-prado.es/article/arduino13nov

www.meetup.com/Arduino-Madrid/events/148977792/

this circuit is another 'minimal arduino' that has just enough to support download of software, led-13 (usual for diagnostic and testing), a local reset button and an IR (infra red) receiver 3pin molex port.

  

to see the circuit in-use (as a volume control controller):

 

www.flickr.com/photos/linux-works/3875427675/

Assembling a bare-bones Arduino-compatible board for use in my Touchpad DIODER project. This is really just a little strip of protoboard with an ATmega168, a 20 MHz crystal, and some caps and headers. I didn't have any official Arduino boards handy, and they wouldn't have fit in the available space anyway.

GPS Cookie Kickstarter project I backed showed up in the mail - an Arduino-based GPS logger

Vooral een kwestie van snel de code onder de knie te krijgen.

Bit of a power supply issue but this does actually work - not bad for a guess.

 

Details here: Arduino Robot Arm

Arduino. Reunión del grupo de hardware libre. Control de Motores paso a paso (continuación)

27.11.2013 18:30h - 20:30h

Lugar: Sala A (1ª planta / 1st Floor)

 

Seguimos trabajando y descubriendo las posibilidades de esta plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.

 

Este miércoles continuamos tratando el control de motores paso a paso y sus diversas aplicaciones.

medialab-prado.es/article/arduino27nov

www.meetup.com/Arduino-Madrid/

Arduino. Model: Mega 2560.

Current Location, Heading and Speed

 

The heading can be shown either as cardinal directions or in degrees.

 

More information and source code available at: www.seancarney.ca/projects/arduino-gps-receiver/arduino-g...

1 2 ••• 10 11 13 15 16 ••• 79 80