Search for bitmap in Topics


software that can translate bitmap to vectorgraph or G code for CNC?

I want to build something like a CNC. But using a pen instead of CNC's drill so that I can use it to draw image. I searched a lot about G-code, but they are all for vectorgraph. So I need help if there is any software that can translate the bitmap to G-code? THANKS

Question by asygoogle    |  last reply


any software dealing with bitmap for arduino plotting or GRBL

I want to build something like a CNC. But using a pen instead of CNC's drill so that I can use it to draw image. I searched a lot about G-code, but they are all for vectorgraph. So I need help if there is any software that can translate the bitmap to G-code? THANKS

Topic by asygoogle    |  last reply


help code problems i want to pause each word after is scrolls in for about half a sec or so

I believe this is the section of code that needs to be altered? // Plot each character of the message one column at a time, updated the display, shift bitmap left. void AlphabetSoup1() {   char msg[] = "  Enjoy the Vittles  ";   for (int charIndex=0; charIndex < (sizeof(msg)-1); charIndex++)   {     int alphabetIndex = msg[charIndex] - ' ';     if (alphabetIndex < 0) alphabetIndex=0;         //-- Draw one character of the message --     // Each character is only 5 columns wide, but I loop two more times to create 2 pixel space betwen characters     for (int col = 0; col < 6; col++)     {       for (int row = 0; row < 8; row++)       {         // Set the pixel to what the alphabet say for columns 0 thru 4, but always leave columns 5 and 6 blank.         bool isOn = 0;         if (col<5) isOn = bitRead( alphabets[alphabetIndex][col], 7-row ) == 1;         Plot( numCols-1, row, isOn); // We ALWAYS draw on the rightmost column, the shift loop below will scroll it leftward.       }            //-- The more times you repeat this loop, the slower we would scroll --       for (int refreshCount=0; refreshCount < 10; refreshCount++)         RefreshDisplay();       //-- Shift the bitmap one column to left --       for (int row=0; row<8; row++)       {         for (int zone=0; zone < numZones; zone++)         {           // This right shift would show as a left scroll on display because leftmost column is represented by least significant bit of the byte.           bitmap[row][zone] = bitmap[row][zone] >> 1;                     // Roll over lowest bit from the next zone as highest bit of this zone.           if (zone < maxZoneIndex) bitWrite(bitmap[row][zone], 4, bitRead(bitmap[row][zone+1],0));                   }       }     }   } }

Question by bdexter    |  last reply


Laser Cutting Help!

Hello, just wondering if anyone knows how you can laser cut an engraved image (bitmap) which you have taken off the internet? I am using Coreldraw, Corellaser and Laserdrw and don't have much experience at all with it. Thank you.:)

Topic by JadeyP    |  last reply


Printing a Random Pattern on the desk

A couple of weeks ago, I bought an Ativa (Office Depot store brand) wireless mouse on sale for $15. It appears that they were clearing out stock, because they no longer list it on their website, but this is the closest thing I've found. I like the mouse, particularly because there is a built-in charger in the wireless tranciever for the two Ni-MH AAAs it takes. Yes, AAAs, the link is for a different mouse.Problem: Lousy resolution, I think. the wired Lenovomouse that came with my computer worked just fine on my smooth, blank desk surface, but this one requires much more of a pattern. I don't like mousepads. Scribbles with a pencil work well so far, but they smudge after a day or so. I want to put some sort of pattern on my desk for it to read. My best idea was a laser-cut random bitmap stencil and a can of black spray paint, but I don't have a laser cutter. Ideas?

Topic by CameronSS    |  last reply


Where to post Drawings or plans

I'm suggesting a change in the " Submit " instructions, Though Schematics and drawing's arenot ruled out , nor are they included. see Italics. Submit New Slideshow » What can I use slideshows for? Slideshows are for showing off photos, " Plans or Drawings" of what you made or did, but don't have full instructions to create an Instructable with.Submit New Video » What kind of videos can I post? Submit your how-to videos, show off what you have made or are currently making. Just make sure the videos are your own.Submit New Forum Topic » What should I post in the forums? The forums are the place to ask questions, share a cool project from another site, find collaborators for your latest project, or discuss anything of interest to the Instructables community. " Photographs and Drawings of your project or ideas, May-May not, be posted in the forums" . "Pixel,byte Limits" .Personal Note; I have some bitmap drawings that are detailedin print, I can shrink them a little and change to JPG. but too much shrink, as you know willdestroy the print.Thank You for your time and consideration. Great Web site, --Yeasayer

Topic by Yeasayer    |  last reply


Free image to GCode software

Hello All,  First off I am not just posting questions to get help and run. I am currently working on a project for a CNC machine that I will eventually post up here on Instructables. I am using a whole slew of free programs and hacked hardware/ custom work just because I have alot of free time during semester breaks.   So my question is, do you guys know of any good, fast, free, gcode or vectorization software packages to convert images to tool cutting codes? If you know of a good engraver that would be awesome too! Having some 3d reliefs would be awesome.   I am currently using Eagle, with PCB Gcode by using the Eagle plugin for bitmap images, selecting the color for the relief and running pcb gcode on the trace. Its not a bad program but when I want to vectorize a 18x10 inch image with really fine detail it takes 10 minutes to go through and figure it all out... I am fairly new to any such programs so I might be expecting something unreasonable considering the images I want to do this on have very fine detail and its just the nature of the beast. Thanks for lookin!

Topic by daviddein    |  last reply


Instructables I have in the works

Just wondering if there's any need for these. I'll probably publish em anyways, I've just been procrastinating.Mass Automatic Deletion of Empty Folders and Sub-Folders - WindowsI'm cleaning up my computer, so I Googled "search for empty folders" to find an application or something to do the dirty work for me. Instead, I found an article with a command prompt how-to. It automatically searches for empty folders, and looks in all subfolders too. Then it deletes them. Simple and easy, no other software needed.created on May 16, 2007How to Edit the Look of of Anything in Halo PC! Even n00bs Can Do It! - Bitmap EditingHave you ever wanted to change the look of something in Halo for Windows? Maybe give ol' Mister Chief a smiley face? Well, you can, and it's as easy as editing images in Photoshop.Created on Apr 30, 2007How To Use Mousekeys - Manipulate Your Mouse Cursor with the Number PadMousekeys is a utility built into Windows XP. It lets you control the mouse cursor with the Number pad. It can be useful when you don't have a mouse.Created on April 19/ 2007Some other Instructables I have:Set Your Camera to Automatically Transfer Pictures to Your Computer, Sort By Date and More! (Windows XP)Play Flash Games Offline! (Copying From Browser Cache) - WINDOWS

Topic by Aeshir    |  last reply


Address LEDs on a LOL shield help... please?

A couple of the tutorials use the following arrays... http://code.google.com/p/lolshield/downloads/list I spent a couple hours trying to help out a friend and could not dumb the code down to address individual LEDs using the understood matrix below... uint16_t BitMap[][9] PROGMEM = { {1, 0, 0, 0, 0, 0, 0, 0, 0}, {3, 1, 0, 0, 0, 0, 0, 0, 0}, {7, 3, 1, 0, 0, 0, 0, 0, 0}, {15, 7, 3, 1, 0, 0, 0, 0, 0}, {31, 15, 7, 3, 1, 0, 0, 0, 0}, {63, 31, 15, 7, 3, 1, 0, 0, 0}, {127, 63, 31, 15, 7, 3, 1, 0, 0}, {255, 127, 63, 31, 15, 7, 3, 1, 0}, later in the code they use the following to 'fetch' the lines... for(line = 0; line < 9; line++)       {         data = pgm_read_word_near (&BitMap;[frame][line]);   // fetch data from program memory When I try to hi-jack the above line and use my 'own' numbers: data = pgm_read_word_near (&BitMap;[frame[1][3]);... it does not function.. I'm just trying to call out individual LEDs in response to external sensors and turn them ON and OFF with delays and such... any help breaking down this code? I understand the matrix but can't seem to call it out... thanks! HERE is the sample code: #include   //This is in the Arduino library int blinkdelay = 75; //This basically controls brightness. Lower is dimmer int runspeed = 20;   //smaller = faster int pin13 =13; int pin12 =12; int pin11 =11; int pin10 =10; int pin09 =9; int pin08 =8; int pin07 =7; int pin06 =6; int pin05 =5; int pin04 =4; int pin03 =3; int pin02 =2; const int pins[] = {   pin13,pin12,pin11,pin10,pin09,pin08,pin07,pin06,pin05,pin04,pin03,pin02}; const int ledMap[126][2] ={ {pin13, pin05},{pin13, pin06},{pin13, pin07},{pin13, pin08},{pin13, pin09},{pin13, pin10},{pin13, pin11},{pin13, pin12},{pin13, pin04},{pin04, pin13},{pin13, pin03},{pin03, pin13},{pin13, pin02},{pin02, pin13}, {pin12, pin05},{pin12, pin06},{pin12, pin07},{pin12, pin08},{pin12, pin09},{pin12, pin10},{pin12, pin11},{pin12, pin13},{pin12, pin04},{pin04, pin12},{pin12, pin03},{pin03, pin12},{pin12, pin02},{pin02, pin12}, {pin11, pin05},{pin11, pin06},{pin11, pin07},{pin11, pin08},{pin11, pin09},{pin11, pin10},{pin11, pin12},{pin11, pin13},{pin11, pin04},{pin04, pin11},{pin11, pin03},{pin03, pin11},{pin11, pin02},{pin02, pin11}, {pin10, pin05},{pin10, pin06},{pin10, pin07},{pin10, pin08},{pin10, pin09},{pin10, pin11},{pin10, pin12},{pin10, pin13},{pin10, pin04},{pin04, pin10},{pin10, pin03},{pin03, pin10},{pin10, pin02},{pin02, pin10}, {pin09, pin05},{pin09, pin06},{pin09, pin07},{pin09, pin08},{pin09, pin10},{pin09, pin11},{pin09, pin12},{pin09, pin13},{pin09, pin04},{pin04, pin09},{pin09, pin03},{pin03, pin09},{pin09, pin02},{pin02, pin09}, {pin08, pin05},{pin08, pin06},{pin08, pin07},{pin08, pin09},{pin08, pin10},{pin08, pin11},{pin08, pin12},{pin08, pin13},{pin08, pin04},{pin04, pin08},{pin08, pin03},{pin03, pin08},{pin08, pin02},{pin02, pin08}, {pin07, pin05},{pin07, pin06},{pin07, pin08},{pin07, pin09},{pin07, pin10},{pin07, pin11},{pin07, pin12},{pin07, pin13},{pin07, pin04},{pin04, pin07},{pin07, pin03},{pin03, pin07},{pin07, pin02},{pin02, pin07}, {pin06, pin05},{pin06, pin07},{pin06, pin08},{pin06, pin09},{pin06, pin10},{pin06, pin11},{pin06, pin12},{pin06, pin13},{pin06, pin04},{pin04, pin06},{pin06, pin03},{pin03, pin06},{pin06, pin02},{pin02, pin06}, {pin05, pin06},{pin05, pin07},{pin05, pin08},{pin05, pin09},{pin05, pin10},{pin05, pin11},{pin05, pin12},{pin05, pin13},{pin05, pin04},{pin04, pin05},{pin05, pin03},{pin03, pin05},{pin05, pin02},{pin02, pin05} }; uint16_t BitMap[][9] PROGMEM = { {1, 0, 0, 0, 0, 0, 0, 0, 0}, {3, 1, 0, 0, 0, 0, 0, 0, 0}, {7, 3, 1, 0, 0, 0, 0, 0, 0}, {15, 7, 3, 1, 0, 0, 0, 0, 0}, {31, 15, 7, 3, 1, 0, 0, 0, 0}, {63, 31, 15, 7, 3, 1, 0, 0, 0}, {127, 63, 31, 15, 7, 3, 1, 0, 0}, {255, 127, 63, 31, 15, 7, 3, 1, 0}, {511, 255, 127, 63, 31, 15, 7, 3, 1}, {1023, 511, 255, 127, 63, 31, 15, 7, 3}, {2047, 1023, 511, 255, 127, 63, 31, 15, 7}, {4095, 2047, 1023, 511, 255, 127, 63, 31, 15}, {8191, 4095, 2047, 1023, 511, 255, 127, 63, 31}, {16383, 8191, 4095, 2047, 1023, 511, 255, 127, 63}, {16383, 16383, 8191, 4095, 2047, 1023, 511, 255, 127}, {16383, 16383, 16383, 8191, 4095, 2047, 1023, 511, 255}, {16383, 16383, 16383, 16383, 8191, 4095, 2047, 1023, 511}, {16383, 16383, 16383, 16383, 16383, 8191, 4095, 2047, 1023}, {16383, 16383, 16383, 16383, 16383, 16383, 8191, 4095, 2047}, {16383, 16383, 16383, 16383, 16383, 16383, 16383, 8191, 4095}, {16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 8191}, {16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383}, {16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383}, {16382, 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383}, {16380, 16382, 16383, 16383, 16383, 16383, 16383, 16383, 16383}, {16376, 16380, 16382, 16383, 16383, 16383, 16383, 16383, 16383}, {16368, 16376, 16380, 16382, 16383, 16383, 16383, 16383, 16383}, {16352, 16368, 16376, 16380, 16382, 16383, 16383, 16383, 16383}, {16320, 16352, 16368, 16376, 16380, 16382, 16383, 16383, 16383}, {16256, 16320, 16352, 16368, 16376, 16380, 16382, 16383, 16383}, {16128, 16256, 16320, 16352, 16368, 16376, 16380, 16382, 16383}, {15872, 16128, 16256, 16320, 16352, 16368, 16376, 16380, 16382}, {15360, 15872, 16128, 16256, 16320, 16352, 16368, 16376, 16380}, {14336, 15360, 15872, 16128, 16256, 16320, 16352, 16368, 16376}, {12288, 14336, 15360, 15872, 16128, 16256, 16320, 16352, 16368}, {8192, 12288, 14336, 15360, 15872, 16128, 16256, 16320, 16352}, {0, 8192, 12288, 14336, 15360, 15872, 16128, 16256, 16320}, {0, 0, 8192, 12288, 14336, 15360, 15872, 16128, 16256}, {0, 0, 0, 8192, 12288, 14336, 15360, 15872, 16128}, {0, 0, 0, 0, 8192, 12288, 14336, 15360, 15872}, {0, 0, 0, 0, 0, 8192, 12288, 14336, 15360}, {0, 0, 0, 0, 0, 0, 8192, 12288, 14336}, {0, 0, 0, 0, 0, 0, 0, 8192, 12288}, {0, 0, 0, 0, 0, 0, 0, 0, 8192}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {18000} }; void setup() {   blinkall(2); // useful for testing } void loop() {   DisplayBitMap(); } void turnon(int led) {   int pospin = ledMap[led][0];   int negpin = ledMap[led][1];   pinMode (pospin, OUTPUT);   pinMode (negpin, OUTPUT);   digitalWrite (pospin, HIGH);   digitalWrite (negpin, LOW); } void alloff() {   DDRD = B00000010;   DDRB = B00000000; } void DisplayBitMap() {   boolean run=true;   byte frame = 0;   byte line = 0;   unsigned long data;   while(run == true) {     for(int i = 0; i < runspeed; i++)     {       for(line = 0; line < 9; line++)       {         data = pgm_read_word_near (&BitMap;[frame][line]);   // fetch data from program memory         if (data==18000){           run=false;         }         else for (byte led=0; led<14; ++led) {           if (data & (1<             turnon((line*14)+led);             delayMicroseconds(blinkdelay);             alloff();           }           else {             delayMicroseconds(blinkdelay);           }         }       }                  } frame++;    } } void blinkall(int numblink) {   alloff();   for(int n = 0;n < numblink;n++)   {     for(int i = 0; i < runspeed; i++)     {       for(int j = 0; j < 126; j++)       {         turnon(j);         delayMicroseconds(blinkdelay);         alloff();       }     }     delay(500);   } }   } }

Question by hydronics    |  last reply


Scholarship: Poster-making bot

I recently graduated from high school. One of the opportunities that I had in high school was to serve on student council. On council, we were required to create posters out of sheets of butcher paper to advertise school events. I have always had poor handwriting; and the large characters we were required to write seemed to amplify the imperfections of my writing. It was difficult for me to create clean, neat-looking posters. For this reason I'm proposing a robot that could write manipulate the marker for me; writing the words on the paper for me. Butcher paper is large, smooth paper which is 3 ft wide. This paper can be torn at any length, depending on the length of the string of characters Once oriented on the paper, the robot could write out a string of characters with a marker which it could place and remove from the paper. The pattern for each character could be pre-programmed into the robot. This way the robot would only need to process the sequence of the characters, and then carry out the drawing. The marker could have a home-position of being away from the paper and in some sort of cover to prevent it from drying. The robot would simply drive around the paper in the pattern of the characters, lowering the marker at the appropriate times. The virtual wall could be used to ensure that the letters remained parallel to a user defined line. To lesson driving time, a device might be mounted on the front of the robot which could move the marker from side to side as it drove forward; much like a computer printer. I believe I could integrate a standard computer keyboard onto the robot. The user would only need to type what he wanted to appear and hit enter. If the system became advanced enough, perhaps it could decode Black & White bitmaps into instructions for the robot. I imagine a robot-drawn "Mona Lisa" or an "Instructables" Logo. I'm quite certain that, if I'm awarded a kit, I'll be able to assemble a working model of this bot. I've got most of what I would need and I'm willing to locate or purchase the few tidbits that I don't already have at my disposal. Please respond with any questions, Wyatt Felt

Topic by W_world    |  last reply