Show Posts
Pages: [1] 2 3 ... 5
1  Topics / Science and Measurement / Something like an ARDULAB, please! on: April 21, 2014, 03:12:24 pm
Hello all,
I am not sure where to put this topic exactly; maybe it is not overly misplaced here:
I am building scientific hardware based on Arduinos for a while. One thing I really would like to have is what the guys at http://www.infinityaerospace.io/ seem to have accomplished: a datalogger MCU with USB-stickish easyness of downloading the data: plug and pull the data to your computer. Awesome! Does anybody have an idea on how this is accomplished? I neither do have the money for the chinese approach (buy one and reverse-engineer the crap out of it), nor do I know any other, simpler board that is alike. Unfortunately, I am not a programmer, so I cannot put something "easy" together in C or so to send a string or whatever of data to the serial monitor or a tailored program. I really mean a simple solution like the board appearing as a USB-stick in the explorer (or whatever it is called on a mac). If there are any hints, I would appreciate it very much.
I think this is something really usefull which seems to be missing in the entire arduino universe (hell, I'd return the esplora and the robot for anything like it). It would come in really handy in scientific experiments and would make some stuff a lot easier (like monitoring environmental conditions with a logger that can be read out and charged via an easy to seal mini-usb-port).
Again, any help is appreciated. Many thanks in advance! Let's keep up the contribution!
Cheers
Sebastian
2  Using Arduino / Project Guidance / Re: Aruino CASIS project on: April 21, 2014, 02:54:34 pm
That statement seems a little oversimplified. What is "space" exactly? There is a difference between LEO (low Erath orbit) and deep space. The ARDULAB seems to be certified for orbits of 400 km. There were 2560s in various space missions even higher up. So I would not concur without a test (which I'll do in 2016. I'll keep you informed).
For the cameras check with adafruit, they have some stuff which might be helpful. Good luck with your space experiment and keep us posted!
3  International / Deutsch / Re: Servo "murmelt" die ganze Zeit on: April 16, 2014, 03:05:28 pm
Danke für die Tips. Ich habe das mit den 20 ms probiert, aber das ist keine Lösung.
detach() funktioniert. Das Servo hat halt keine Haltkraft mehr, aber die  Stromaufnahme geht gegen Null und es ist endlich still. Die Kraft des Servos ist natürlich auf den Widerstand des Getriebes reduziert, aber das reicht. Da ich langsam über eine for-Schleife den Wert erreiche, ist er auch der nächste Anfangswert, ich lese es nicht aus, und es klappt ohne Sprünge.
Schönen Dank und gute Nacht
Sebastian
4  International / Deutsch / Servo "murmelt" die ganze Zeit on: April 16, 2014, 06:02:34 am
Hallo zusammen,
ich habe einige Servos an einem MEGA, um mit Spritzen Flüssigkeiten zu pumpen und zu mischen. Wenn die Servos in einer definierten Position sind, dann regeln sie alle paar Sekunden nach; das meine ich mit "murmeln". Ich benutze die 1.5.2 IDE, die Servo-library und DES 806 BB MG Servos von Graupner (natürlich separat mit 5V versorgt).
Das Gemurmel nervt ganz schön und zieht auch Strom; das muss nicht sein, finde ich. Mein erster Ansatz war nun, nach dem Anfahren einer Position den Pin auf LOW zu legen, denn sonst liegt ja permanent das Regelsignal an. Womöglich fängt das Kabel auch Störungen ein?! Durch das Fehlen des Signals sinkt die Haltekraft, was aber nicht so schlimm wäre. Störender ist, dass das Servo nach einem Reset nicht mehr in die am Ende vom Setup angegebene Ausgangsposition fährt. Warum macht es das?
Hier noch der Code, soweit er fertig ist. Die Funktionsdefinitionen hab ich nicht mit kopiert, die setzen nur Pins rauf und runter.
Code:
#include <Servo.h>
#include <LiquidCrystal.h>
//#include <ADC.h>
//#include <Sleep.h>
//#include <Timer1.h>
//#include <Timer2.h>
#define ETS 0

//Analoge Eingänge
//Stromsensoren
int strom12V = A0;
int strom5V = A1;
// Potis 1-3
int pot1 = A2;
int pot2 = A3;
int pot3 = A4;
// Servo Feedback oder sonstige Potis
int pot4 = A5;
int pot5 = A6;
int pot6 = A7;
int pot7 = A8;
int pot8 = A9;
//Displaybuttons
int butl = A10; //Links
int butr = A11; //Rechts

//Servopins (wird weiter unten attached)
Servo servo5; //Pin 2
Servo servo4; //Pin 3
Servo servo3; //Pin 4
Servo servo2; //Pin 5
Servo servo1; //Pin 6

//Freie PWM-Pins
int pwm7 = 7;
int pwm6 = 8;
int pwm5 = 9;
int pwm4 = 10;

//Motortreiber
int inb = 11; //ccw input
int pelt = 12; //duty cycle
int ina = 13; //cw input

//Pins 14-21 (Kommunikation) nicht rausgefuehrt bis auf RX1/TX1 und SDA/SCL

LiquidCrystal lcd(32, 30, 22, 26, 24, 28); //Display Pins RS, E, D4, D5, D6, D7

// Thermometer auf pin 34
// RS485 enable auf Pin 36

//Switches
int Switch1 = 40;
int Switch2 = 42;
int Switch3 = 44;
int Switch4 = 46;

//Ventile ueber ULN2803
int v9 = 23;
int v10 = 25;
int v11 = 27;
int v12 = 29;
int v13 = 31;
int v14 = 33;
int v15 = 35;
int v16 = 37;
int v1 = 39;
int v2 = 41;
int v3 = 43;
int v4 = 45;
int v5 = 47;
int v6 = 49;
int v7 = 51;
int v8 = 53;

int pos1 = 90; //Nullposition Servo1
int pos2 = 90; //Nullposition Servo2
int pos3 = 130; //Nullposition Magnet3
const int dist = 130; //Magnet weg vom Schlauch, Wert pr�fen!
const int prox = 50; //Magnet am Schlauch, Wert pr�fen!
int dval = 200; //delay value f�r die Pumpzyklen
int airval = 50; //delay f�r Luft Pumpen
int fluval = 25; //delay zum Abfallpumpen
int wval = 10; //delay nach Ventilumschalten
unsigned long time = millis();


void setup()
{
//pinMode(0, INPUT); //RX0
//pinMode(1, OUTPUT); //TX0
pinMode(2, OUTPUT); //servo5
digitalWrite (2, LOW);
pinMode(3, OUTPUT); //servo4
digitalWrite (3, LOW);
pinMode(4, OUTPUT); //servo3
digitalWrite (4, LOW);
pinMode(5, OUTPUT); //servo2
digitalWrite (5, LOW);
pinMode(6, OUTPUT); //servo1
digitalWrite (6, LOW);
pinMode(7, OUTPUT); //pwm7
digitalWrite (7, LOW);
pinMode(8, OUTPUT); //pwm6
digitalWrite (8, LOW);
pinMode(9, OUTPUT); //pwm5
digitalWrite (9, LOW);
pinMode(10, OUTPUT); //pwm4
digitalWrite (10, LOW);
pinMode(11, OUTPUT); //INB
digitalWrite (11, LOW);
pinMode(12, OUTPUT); //PELT-PWM
digitalWrite (12, LOW);
pinMode(13, OUTPUT); //INA
digitalWrite (13, LOW);
//pinMode(14, OUTPUT); //TX3
//pinMode(15, INPUT); //RX3
//pinMode(16, OUTPUT); //TX2
//pinMode(17, INPUT); //RX2
//pinMode(18, OUTPUT); //TX1
//pinMode(19, INPUT); //RX1
//pinMode(20, ?); //SDA
//pinMode(21, OUTPUT); //SCL
pinMode(22, OUTPUT); //D7
pinMode(23, OUTPUT); //v9
digitalWrite (23, LOW);
pinMode(24, OUTPUT); //D6
pinMode(25, OUTPUT); //v10
digitalWrite (25, LOW);
pinMode(26, OUTPUT); //D5
pinMode(27, OUTPUT); //v11
digitalWrite (27, LOW);
pinMode(28, OUTPUT); //D4
pinMode(29, OUTPUT); //v12
digitalWrite (29, LOW);
pinMode(30, OUTPUT); //RS
pinMode(31, OUTPUT); //v13
digitalWrite (31, LOW);
pinMode(32, OUTPUT); //E
pinMode(33, OUTPUT); //v14
digitalWrite (33, LOW);
//pinMode(34, OUTPUT); //Tempsensoren
pinMode(35, OUTPUT); //v15
digitalWrite (35, LOW);
pinMode(36, OUTPUT); //
pinMode(37, OUTPUT); //v16
digitalWrite (37, LOW);
pinMode(38, OUTPUT); //
pinMode(39, OUTPUT); //v1
digitalWrite (39, LOW);
pinMode(40, INPUT); //sw1
pinMode(41, OUTPUT); //v2
digitalWrite (41, LOW);
pinMode(42, INPUT); //sw2
pinMode(43, OUTPUT); //v3
digitalWrite (43, LOW);
pinMode(44, INPUT); //sw3
pinMode(45, OUTPUT); //v4
digitalWrite (45, LOW);
pinMode(46, INPUT); //sw4
pinMode(47, OUTPUT); //v5
digitalWrite (47, LOW);
pinMode(48, OUTPUT);
pinMode(49, OUTPUT); //v6
digitalWrite (49, LOW);
pinMode(50, OUTPUT);
pinMode(51, OUTPUT); //v7
digitalWrite (51, LOW);
pinMode(52, OUTPUT);
pinMode(53, OUTPUT); //v8
digitalWrite (53, LOW);
//Analoge Pins sind automatisch als Input definiert.

//Display initialisieren
lcd.begin(20, 4);
lcd.clear();
lcd.home();
lcd.print("Initialisiere...");

//Servos initialisieren
servo1.attach(6);
servo2.attach(5);
servo3.attach(4);
servo4.attach(3);
servo5.attach(2);
       
        servo1.write(pos1);
        servo2.write(pos2);
        servo3.write(pos3);
// Serial.begin(115200);
}


void loop()
{
analogWrite(6, LOW);
        analogWrite(5, LOW);
        analogWrite(4, LOW);
        analogWrite(3, LOW);
        analogWrite(2, LOW);//bringt die Servos zum Schweigen
        int Switch3stat = digitalRead(Switch3);
int Switch4stat = digitalRead(Switch4);
if (Switch4stat == HIGH)
{
//-------------------------------------------------------------------------------no 1
loadairv16();
delay(10);
for(pos1 = 90; pos1 >= 65; pos1 -= 1)//Luft raus 500µL Servo 1
{                             
servo1.write(pos1);
delay(dval);
}
delay(500);//Druckausgleich abwarten
                alllow();
for(pos1 = 65; pos1 <= 115; pos1 += 1)//Zellen und Lysepuffer mischen
{                             
loadlysis();
servo1.write(pos1);
delay(dval);
pos1 += 1;
loadcells();
servo1.write(pos1);
delay(dval);
if(pos1 == 70)//bring in the beads!
{
pos1 += 1;
loadbeads();
servo1.write(pos1);
delay(dval);
}
}//ca. 10 sek Füllzeit
delay(2000);
loadairv16();
for(pos1 = 115; pos1 >= 125; pos1 += 1)//Luft nachziehen und alles in die Spritze holen
{                             
servo1.write(pos1);
delay(dval);
}
//sleep(3600000);//hier wird eigentlich 60 min incubiert!
alllow(); //beendet no 1
Hat jemand schon mal sowas erlebt und behoben? Bin für jeden Hinweis dankbar. Schöne Grüße
Sebastian
5  Using Arduino / Microcontrollers / Re: DIY Leonardo Project with internal 8 MHZ RC on: March 03, 2014, 09:16:10 am
Hello,
did this project go anywhere? If so, would you mind sharing it? By mistake I replaced a damaged chip on a Leonardo with an RC-version and would like to make it work.
Thank you!
Seb
6  International / Deutsch / Re: 3V3 arduino mit 5V programmieren? on: November 17, 2013, 01:39:46 pm
Hallo Gerald,
ach ja, das ist natürlich auch eine Möglichkeit. Danke und danke auch an alle anderen!
So richtig hab ich es noch nicht verstanden, die Schutzdioden müssen doch bis 5V abkönnen, wenns der ganze Prozessor kann, oder werden die mit VCC "vorgespannt"?
Ich denke doch, in einer 3V3-Schaltung kann man den Prozessor mit 5V programmieren, solange es den anderen Komponenten nix ausmacht, oder?! Ich werde es wohl mal einfach ausprobieren.
Schönen Abend
7  International / Deutsch / Re: 3V3 arduino mit 5V programmieren? on: November 13, 2013, 07:45:26 am
Dankeschön, Uwe, das hab ich befürchtet. Dann werd ich wohl den MAX per jumper abkoppeln und ganz normal mit 5V Sketche hochladen. Oder nochmal drüber schlafen...
8  International / Deutsch / 3V3 arduino mit 5V programmieren? on: November 13, 2013, 05:21:49 am
Hallo zusammen,
ich will einen Miniarduino klonen, um ein LED-Board zu steuern; die Befehle vom Master kommen über RS485 (durch nen MAX3483). Da dieser 3V3 haben will, würde ich den Atmega auch mit 3V3 betreiben. Bootloader würde ich mit nem USBtinyISP brennen und mit einem entprozessorten UNO die Sketche laden. Meine Frage ist nun: muss ich mich um die Potentialdifferenzen kümmern? Nimmt ein 3V3 Chip die 5V-Signale klaglos an oder gibts da Schwierigkeiten? Mir ist schon klar, dass der Prozessor prinzipiell mit beiden Voltagen läuft, aber ich hätte gern die Meinung von jemandem gehört, der was ähnliches schonmal probiert hat.
Schönen Dank, und schönen Tag
Seb
9  International / Software / Re: problema durante programmazione! on: November 05, 2013, 08:41:38 am
Buon giorno!
Come hai risolto?
I am sorry, my Italian is enough to follow your post but not to ask properly. So how did you solve it? I have the same error and no idea. Mille grazie!
10  Using Arduino / Project Guidance / Re: Driving 1-3W LEDs with lm3406 on: October 15, 2013, 03:03:37 pm
Hi there,
I wanted to have an LED illumination on my aquarium as well, but I wanted it low cost and simple. It works for 6 months now, so I think it is not all that bad.
I use 9 x warm white 3W, 6 of which with lenses, and 6 x 1W royal blue, all OSRAM Dragons. The simplicity is that there are always 3 LEDs in a row. That allows to use 12V almost without problems, especially since one can use PWM and never give 100% (they tolerate spikes up to 2A!). Anyway, I put a big 12 Ohms resistor in the white lines (actually, I am not sure about the value and cannot have a look right now, but there is a resistor!). The blue ones are fine without, since they would need 12.6V and are bright enough by far. The PWM pins switch the LEDs via MOSFETs.
For cooling the LEDs I mounted them on aluminum blocks and those onto a stainless steel tube. An extra pump starts after the sum of all PWM channels exceeds a value (because, if you already have PWM, you HAVE to have dawn and dusk, right?). So my LEDs are pretty much only a tiny weebit above room temperature (I monitor temperatures before and after the cooling tube and room temperature).
So if you don't want it fancy it is possible the simple way. But if you learned how to read a datasheet it was worth it already :-D Good luck!
11  Using Arduino / Programming Questions / Re: Time from DS3231 into String to save via SD-lib on: September 05, 2013, 04:58:09 pm
Thank you very much, Nick. Sorry for keeping the posted code short, here is it all:
Code:
#include <Wire.h>
#include <LiquidCrystal.h>
#include <Servo.h>
#include <SPI.h>
#include <SD.h>

const int chipSelect = 53;

byte seconds, minutes, hours, day, date, month, year;
char weekDay[4];

byte tMSB, tLSB;
float temp3231;

int led = 5;

//Uhr

#define DS3231_I2C_ADDRESS 104
byte decToBcd(byte val)
{
  return ( (val/10*16) + (val%10) );
}

void watchConsole()
{
  if (Serial.available()) {      // Look for char in serial queue and process if found
    if (Serial.read() == 84) {      //If command = "T" Set Date
      set3231Date();
      get3231Date();
      Serial.println(" ");
    }
  }
}

void set3231Date()
{
  //T(sec)(min)(hour)(dayOfWeek)(dayOfMonth)(month)(year)
  //T(00-59)(00-59)(00-23)(1-7)(01-31)(01-12)(00-99)
  //Example: 02-Feb-09 @ 19:57:11 for the 3rd day of the week -> T1157193020209

  seconds = (byte) ((Serial.read() - 48) * 10 + (Serial.read() - 48)); // Use of (byte) type casting and ascii math to achieve result. 
  minutes = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
  hours   = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
  day     = (byte) (Serial.read() - 48);
  date    = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
  month   = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
  year    = (byte) ((Serial.read() - 48) *10 +  (Serial.read() - 48));
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0x00);
  Wire.write(decToBcd(seconds));
  Wire.write(decToBcd(minutes));
  Wire.write(decToBcd(hours));
  Wire.write(decToBcd(day));
  Wire.write(decToBcd(date));
  Wire.write(decToBcd(month));
  Wire.write(decToBcd(year));
  Wire.endTransmission();
}


void get3231Date()
{
  // send request to receive data starting at register 0
  Wire.beginTransmission(DS3231_I2C_ADDRESS); // 104 is DS3231 device address
  Wire.write(0x00); // start at register 0
  Wire.endTransmission();
  Wire.requestFrom(DS3231_I2C_ADDRESS, 7); // request seven bytes

  if(Wire.available()) {
    seconds = Wire.read(); // get seconds
    minutes = Wire.read(); // get minutes
    hours   = Wire.read();   // get hours
    day     = Wire.read();
    date    = Wire.read();
    month   = Wire.read(); //temp month
    year    = Wire.read();

    seconds = (((seconds & B11110000)>>4)*10 + (seconds & B00001111)); // convert BCD to decimal
    minutes = (((minutes & B11110000)>>4)*10 + (minutes & B00001111)); // convert BCD to decimal
    hours   = (((hours & B00110000)>>4)*10 + (hours & B00001111)); // convert BCD to decimal (assume 24 hour mode)
    day     = (day & B00000111); // 1-7
    date    = (((date & B00110000)>>4)*10 + (date & B00001111)); // 1-31
    month   = (((month & B00010000)>>4)*10 + (month & B00001111)); //msb7 is century overflow
    year    = (((year & B11110000)>>4)*10 + (year & B00001111));
  }
  else {
    //oh noes, no data!
  }

  switch (day) {
  case 1:
    strcpy(weekDay, "Sun");
    break;
  case 2:
    strcpy(weekDay, "Mon");
    break;
  case 3:
    strcpy(weekDay, "Tue");
    break;
  case 4:
    strcpy(weekDay, "Wed");
    break;
  case 5:
    strcpy(weekDay, "Thu");
    break;
  case 6:
    strcpy(weekDay, "Fri");
    break;
  case 7:
    strcpy(weekDay, "Sat");
    break;
  }

}

float get3231Temp()
{
  //temp registers (11h-12h) get updated automatically every 64s
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0x11);
  Wire.endTransmission();
  Wire.requestFrom(DS3231_I2C_ADDRESS, 2);

  if(Wire.available()) {
    tMSB = Wire.read(); //2's complement int portion
    tLSB = Wire.read(); //fraction portion

    temp3231 = (tMSB & B01111111); //do 2's math on Tmsb
    temp3231 += ( (tLSB >> 6) * 0.25 ); //only care about bits 7 & 8
  }
  else {
    //oh noes, no data!
  }

  return temp3231;
}




void setup() {
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
  // make sure that the default chip select pin is set to
  // output, even if you don't use it:
  pinMode(5, OUTPUT);
  pinMode(53, OUTPUT);
 
  // 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;
  }
  Serial.println("card initialized.");
}
 
}

void loop() {
  get3231Date();
  String timestringOne = String((hours, DEC) + ":");
  String timestringTwo = String(timestringOne + (minutes, DEC) + ":");
  String timestringThree = String(timestringTwo + (seconds, DEC) + ",");

  String dataString = "";
  // read three sensors and append to the string:
  for (int analogPin = 0; analogPin < 3; analogPin++) {
    int sensor = analogRead(analogPin);
    dataString += String(sensor);
    if (analogPin < 2) {
      dataString += ",";
    }
  }
  String semifinal = String(timestringThree + dataString + ",h2o");
  File dataFile = SD.open("datalog.txt", FILE_WRITE);
  // if the file is available, write to it:
  if (dataFile) {
    dataFile.println(semifinal);
    dataFile.close();
    // print to the serial port too:
    Serial.println(semifinal);
  } 
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening datalog.txt");
  }
  digitalWrite(led, HIGH);
  delay(250);
  digitalWrite(led, LOW);
  delay(1750);
}
I copied the code parts together and checked that everything is there - it is. But I probably will get into the sprintf anyway.
Paul, sorry for going on "pretending" stuff like using an LCD and a servo. I hope it will not spoil your mood further.
12  Using Arduino / Programming Questions / Time from DS3231 into String to save via SD-lib on: September 05, 2013, 04:08:43 pm
Hello all,
I am trying to log analog readings with a timestamp from a DS3231 to an SD card. I know how to handle the DS3231 to display time on LCDs or Seria monitor.
I did not achieve my goal it with the SDfat-lib due to compiler errors, and I remember that it is the reason why I kept the IDE 0023 on my computer, because there it works (actually, I use the DS1307 there, but SDfat example code is apparently not working with IDEs > 1.0).
The standard SD lib example code ("Datalogger") works fine. So does the RTC. I tried to build a string from the time readings like this:
Code:
get3231Date();
  String timestringOne = String((hours, DEC) + ":");
  String timestringTwo = String(timestringOne + (minutes, DEC) + ":");
  String timestringThree = String(timestringTwo + (seconds, DEC) + ",");

  String dataString = "";
  // read three sensors and append to the string:
  for (int analogPin = 0; analogPin < 3; analogPin++) {
    int sensor = analogRead(analogPin);
    dataString += String(sensor);
    if (analogPin < 2) {
      dataString += ",";
    }
  }
  String semifinal = String(timestringThree + dataString + ",h2o");
  File dataFile = SD.open("datalog.txt", FILE_WRITE);
  // if the file is available, write to it:
  if (dataFile) {
    dataFile.println(semifinal);
    dataFile.close();
    // print to the serial port too:
    Serial.println(semifinal);
  } 
The timestamp I am getting reads: "10:10,analogvalue0...". Why is that? Leaving out the ", DEC" does not help, even though it is ok if I print the values to an LCD. Declaring an intermediate variable like
Code:
int std = hours;
and then putting that one to the string doesn't do the trick either. Also, separating the
Code:
+ ":");
two an own codeline is not helping, that seems to a valid concatenation.
I do not see why it doesn't want to work. Any help is apprechiated. Thank you very much!


Some more details on the project, which is of a molecular biology nature:
MEGA 2560, IDE 1.5.2
MCP23008 to control valves via I2C
20x4 Display
DS3231 RTC via I2C
MMA7361 3-axis g-sensor
two servos for pumping and actuation
DS18B20 temperature sensor
The MCU controls a device to isolate mRNA on magnetic beads in a tube. Sample solution containing mRNA and beads is pumped into the tube via servo 1 and a syringe. A magnet moved by the second servo captures the beads on the tube's wall. Several cleansing steps are performed by pumping the syringe back and forth and switching LEE valves via MCP23008. The entire procedure runs during microgravity on a parabolic flight and starts after arming when the freefall pin goes HIGH (manual override switch is there as well). Even though the primary use of the MCU is controling the steps datalogging is desirable. It should give X, Y, Z acceleration and what procedure is taking place (check, hence the "h2o" in the code). But a timestamp would be nice as well, wouldn't it?! After the last cleansing step the magnet swings away and the sample is flushed into a vial. µg should be over by now and a thorough cleansing starts as soon as the arming switch is turned of.
13  International / Deutsch / Re: SD über USB auslesen on: April 02, 2013, 11:21:14 am
Nabend,
ich hab das mit dem SD-KIartenleser mal probiert und mir ein kleines Testboard geätzt, siehe unten. Da ich nicht wusste, was der Cardreader (billig, Conrad) für ein Format benutzt, hab ich mal alle 8 Kontakte über SV1 rausgeführt.
Wenn ich eine Karte einschiebe, ohne den Arduino (Uno) an SV2 anzuschließen, dann findet der Rechner halt einen Cardreader.
Wenn ich nur den Arduino anschließe, dann kann ich diverse Späße mit der Karte machen.
Wenn ich aber den Arduino stromlos dranlasse und dann den USB-Stecker vom Cardreader reinstecke, dann findet er ihn gar nicht. Er findet ihn nur, wenn ich höchstens einen der 6 Pins angeschlossen lasse, egal welchen.
Hat jemand einen Tip? Ich werde mal den Bus komplett hochziehen, das hat bei Busproblemen in einem anderen Zusammenhang schon mal geholfen.
Leider kann ich nicht ausreichend programmieren, um das Problem auf eine der vorher genannten Arten zu lösen. Gibt's da eigentlich einen Fortschritt?
Schönen Abend
Sebastian
14  Using Arduino / Programming Questions / Re: '1284P & 1.0.3 on: March 24, 2013, 02:16:25 pm
Guys, it seems I got a little rusty. I cannot get my 644p going. I can't even get the board list right with the instructions from the aforementioned link. I made a mess with the IDE modifying the boards.txt and successful compilation depends highly on what 644p board I select.
I would be very grateful to get some help on how to place and include the information in the IDE files.
As soon as I find a little more time I would like to discuss a little the process of compilation, because that probably would help a lot: it would be nice to know, where the compiler looks up what in which file when it is compiling a sketch for a given board. That way it shall be easier to know what to modify and keep in mind to include a new processor. I learned already a lot from the post on the development of the bobuino, but that information is quite scattered throughout lots of pages.
Thanks for any advice, have a nice week!
Seb
15  Using Arduino / Programming Questions / Re: bootloading a sanguino... on: February 13, 2013, 08:30:40 am
Hi,
I had some trouble myself with my Sanguino clone. I never managed to use an Arduino to burn the bootloader, but with adafruit's USBtinyISP it worked like a charm. Can you get one?
Pages: [1] 2 3 ... 5