Show Posts
|
|
Pages: [1]
|
|
1
|
Using Arduino / Project Guidance / Arduino + GSM Shield = Phone?
|
on: August 22, 2012, 06:59:12 pm
|
I know that people have used the Arduino and a cellular shield (such as https://www.sparkfun.com/products/9607) to send text messages. Would an Arduino be capable of actually making voice calls over a shield?I've never had a GSM shield myself, so I don't know how much would be done directly on the cellular module or on the Arduino's CPU. Would making voice calls over an Arduino be a feasible project? Please note that I am not trying to create a device comparable to a commercial cellphone. I saw that someone else created a similar topic a while back ( http://arduino.cc/forum/index.php/topic,55455.15.html) about building a commercial cell phone using an Arduino. My cell phone would not be a commercial product; it would merely be a novelty for my own personal use, and portability would not be a design goal. (If the device was the size of a lunchbox and didn't even have batteries, I wouldn't care) Could I do this or is it impossible to use an Arduino as a telephone? If possible, could someone point me in the right direction to get started?
|
|
|
|
|
4
|
Using Arduino / Displays / Re: Broken HD44780 LCD? Or not?
|
on: December 31, 2011, 11:14:09 am
|
It's probably OK. Did you follow this step?
Next we'll connect up the backlight for the LCD. Connect pin 16 to ground and pin 15 to +5V through a series resistor. To calculate the value of the series resistor, look up the maximum backlight current and the typical backlight voltage drop from the data sheet. Subtract the voltage drop from 5 volts, then divide by the maximum current, then round up to the next standard resistor value. For example, if the backlight voltage drop is 3.5v typical and the rated current is 16mA, then the resistor should be (5 - 3.5)/0.016 = 93.75 ohms, or 100 ohms when rounded up to a standard value. If you can't find the data sheet, then it should be safe to use a 220 ohm resistor, although a value this high may make the backlight rather dim. Yes, I did follow that step (using a 220 ohm resistor). The backlight has always worked fine, but the screen output is always the same as in the image I had in my original post. My problem ended up being my poor soldering of the pin headers, and so I redid it and fixed it. I'll try that today. This was my first time working with pin headers, and my soldering wasn't all that great (although I thought it was good enough).
|
|
|
|
|
5
|
Using Arduino / Displays / Re: Broken HD44780 LCD? Or not?
|
on: December 30, 2011, 10:32:50 pm
|
Did you do this step: Open up the File→Examples→LiquidCrystal→HelloWorld example sketch
Now we'll need to update the pins. Look for this line:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); And change it to:
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); To match the pin table we just made.
Now you can compile and upload the sketch
Yes, I did this already. I followed all the instructions perfectly. I also tried some other similar tutorials previously to no avail. Unless anyone else has any more ideas, I'm fairly certain now that the display is broken. I'm considering buying this one to replace it: http://www.adafruit.com/products/181. Does anyone know from personal experience if this is a good deal?
|
|
|
|
|
6
|
Using Arduino / Displays / Broken HD44780 LCD? Or not?
|
on: December 30, 2011, 09:19:54 pm
|
So I followed the excellent tutorial at http://www.ladyada.net/learn/lcd/charlcd.html and got the contrast circuit for my 16x2 display working. But after completing the tutorial, no text appeared on my screen. No matter how many times I check my wiring, the display looks like this image from the tutorial: (Please note that unlike the image all of my bus wiring is complete.)  So I'm wondering now if this display is broken. Is there something I missed, or must I buy a new LCD?
|
|
|
|
|
7
|
Using Arduino / Project Guidance / Activate robot's sensor
|
on: May 26, 2011, 08:14:49 pm
|
|
I'm modifying a kid's robot toy with the Arduino. There is a photoresistor that, when light touches it or when I connect its two leads together, causes the robot to move backwards. I would like the Arduino to force the robot on occasion to move backwards, by making a temporary connection each time between the two leads of the photoresistor. I could, I suppose, use a relay, but I don't happen to have any and would like a more elegant solution. Any ideas?
|
|
|
|
|
8
|
Using Arduino / LEDs and Multiplexing / Using Sparkfun LED dot-matrix
|
on: April 18, 2011, 06:58:33 pm
|
So I got this LED dot-matrix display from Sparkfun ( http://www.sparkfun.com/products/681) only I'm not sure which pins correspond to which LEDs. Tried the datasheet on Sparkfun's site but it doesn't say which pins are which. I'm too lazy to manually find out which pins do what  , so if anyone knows if there is already a diagram for these things somewhere online that would save me some time that would help. If not, I'll just figure it out myself.
|
|
|
|
|
10
|
Using Arduino / Displays / HD44780 16x2 LCD not working with Arduino Uno
|
on: March 27, 2011, 03:54:38 pm
|
I'm trying to connect a character display I just bought from http://www.gadgettown.com/LCD-Module-White-Characters-Blue-Backlight-HD44780.html to an Arduino Uno, using the instructions from my Beginning Arduino book. Unfortunately, the screen's backlight comes on, but the LCD remains blank. Any idea what's wrong? Code: // PROJECT 23 #include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // create an lcd object and assign the pins
void setup() { lcd.begin(16, 2); // Set the display to 16 columns and 2 rows }
void loop() { // run the 7 demo routines basicPrintDemo(); displayOnOffDemo(); setCursorDemo(); scrollLeftDemo(); scrollRightDemo(); cursorDemo(); createGlyphDemo(); }
void basicPrintDemo() { lcd.clear(); // Clear the display lcd.print("Basic Print"); // print some text delay(2000); }
void displayOnOffDemo() { lcd.clear(); // Clear the display lcd.print("Display On/Off"); // print some text for(int x=0; x < 3; x++) { // loop 3 times lcd.noDisplay(); // turn display off delay(1000); lcd.display(); // turn it back on again delay(1000); } }
void setCursorDemo() { lcd.clear(); // Clear the display lcd.print("SetCursor Demo"); // print some text delay(1000); lcd.clear(); // Clear the display lcd.setCursor(5,0); // cursor at column 5 row 0 lcd.print("5,0"); delay(2000); lcd.setCursor(10,1); // cursor at column 10 row 1 lcd.print("10,1"); delay(2000); lcd.setCursor(3,1); // cursor at column 3 row 1 lcd.print("3,1"); delay(2000); }
void scrollLeftDemo() { lcd.clear(); // Clear the display lcd.print("Scroll Left Demo"); delay(1000); lcd.clear(); // Clear the display lcd.setCursor(7,0); lcd.print("Beginning"); lcd.setCursor(9,1); lcd.print("Arduino"); delay(1000); for(int x=0; x<16; x++) { lcd.scrollDisplayLeft(); // scroll display left 16 times delay(250); } }
void scrollRightDemo() { lcd.clear(); // Clear the display lcd.print("Scroll Right"); lcd.setCursor(0,1); lcd.print("Demo"); delay(1000); lcd.clear(); // Clear the display lcd.print("Beginning"); lcd.setCursor(0,1); lcd.print("Arduino"); delay(1000); for(int x=0; x<16; x++) { lcd.scrollDisplayRight(); // scroll display right 16 times delay(250); } }
void cursorDemo() { lcd.clear(); // Clear the display lcd.cursor(); // Enable cursor visible lcd.print("Cursor On"); delay(3000); lcd.clear(); // Clear the display lcd.noCursor(); // cursor invisible lcd.print("Cursor Off"); delay(3000); lcd.clear(); // Clear the display lcd.cursor(); // cursor visible lcd.blink(); // cursor blinking lcd.print("Cursor Blink On"); delay(3000); lcd.noCursor(); // cursor invisible lcd.noBlink(); // blink off }
void createGlyphDemo() { lcd.clear();
byte happy[8] = { // create byte array with happy face B00000, B00000, B10001, B00000, B10001, B01110, B00000, B00000}; byte sad[8] = { // create byte array with sad face B00000, B00000, B10001, B00000, B01110, B10001, B00000, B00000}; lcd.createChar(0, happy); // create custom character 0 lcd.createChar(1, sad); // create custom character 1 for(int x=0; x<5; x++) { // loop animation 5 times lcd.setCursor(8,0); lcd.write(0); // write custom char 0 delay(1000); lcd.setCursor(8,0); lcd.write(1); // write custom char 1 delay(1000); } }
Here's what it should look like when set up: https://picasaweb.google.com/lh/photo/WzOfEcDjvq2yOXSSItNe9Q?feat=directlinkAnd this is what I have: https://picasaweb.google.com/lh/photo/OFMoxPPRcWy1m8TrkahhTQ?feat=directlinkIs the LCD broken or am I doing something wrong?
|
|
|
|
|