Show Posts
Pages: 1 [2] 3 4 ... 6
16  International / Deutsch / problem bei byte abfragen, es funktioniert immer nur ein byte statt mehreren on: December 06, 2013, 07:31:49 pm
Hallo,
wie im vorherigen Thread bin ich grad dabei  Sensor Daten zu verarbeiten.
Ich habe mehrere Bytes angelegt die sich aufgrund von Sensoren immer ändern.
Jetzt möchte ich gerne bei Änderung der Bits Befehle verteilen. Leider funktioniert immer nur ein Byte und nicht zwei oder mehrere, warum? Habe zwei verschiedene Codes geschrieben, klassisch mit dem verschieben und mit der BitRead funktion aber seht selbst:

Code:
for (int n; n <= 7 ; n++)
{
  int y=0;
  y=(switchVar1 >> n) & 1;
  if (y==0)
  Tlc.set(n*3,4095);
  else
  Tlc.clear();
}

for (int n; n <= 7 ; n++)
{
  int y=0;
  y=(switchVar2 >> n) & 1;
  if (y==0)
  Tlc.set(n*3+24,4095);
  else
  Tlc.clear();
}


Tlc.update();

und

Code:
  for(int x = 0; x <= 7; x++)
  {
  if (bitRead(switchVar1,x) == 0)
  Tlc.set(x*3,4095);
  else 
  Tlc.clear(); 
  }
 
  for(int t = 0; t <= 7; t++)
  {
  if (bitRead(switchVar2,t) == 0)
  Tlc.set(t*3+24,4095);
  else 
  Tlc.clear(); 
  }
Tlc.update();

Hab kein plan warum aber es funktioniert  immer nur das letzte Byte.  In dem Fall "switchVar2", wenn ich es vertausche und switchVar1 nach unten setze funktioniert nur switchVar1  und switchVar2 funktioniert nicht mehr.

Seit gnädig  smiley
Gruß
17  International / Deutsch / kurze frage: 8 byte in double im Arduino Duemilanove möglich? on: December 06, 2013, 05:04:55 pm
Hallo,
würde gerne acht einzelne 8 Bytes in richtiger Reihenfolge als Double abspeichern und dann damit weiterarbeiten ist das überhaupt möglich, wenn
ja würde ich mich über ein Stichwort freuen. Wenn nicht , welche alternativen gibt es?
Gruß
18  International / Deutsch / Re: ROS in Verbindung mit Arduino und Messdatenverarbeitung?Professionelle Sensoren? on: November 11, 2013, 12:15:39 pm
Weiß jemand wenigstens etwas zu ROS und Arduino?
19  International / Deutsch / ROS in Verbindung mit Arduino und Messdatenverarbeitung?Professionelle Sensoren? on: November 10, 2013, 05:14:03 pm
Hallo,
ich habe ein Projekt zugeteilt bekommen in der ich verschiedene Arbeitsumgebungsfaktoren messen muss (Lufttemperatur,-feuchte, Geschwindigkeit,Schallpegel und Beleuchtungsstärke).

Zunächst einmal möchte das Projekt gerne mit einem Arduino umsetzen, da sie relativ einfach zu programmieren sind, allerdings ist eine Anforderung des Projekts die Sensorik unter ROS (Robot Operating System) zu integrieren und die Messdaten in ROS bereitzustellen.

1)Wie ich im Internet schon recherchieren konnte ist es möglich den Arduino unter ROS zu integrieren.
Liege ich richtig das ich sobald ich den Arduino eingebunden habe ihn trotzdem ganz normal programmieren kann, er mir allerdings die Messdaten im ROS anzeigt? Wenn nein wie kann ich mir das vorstellen? Wie hoch ist der Schwierigkeitsgrad?


2) Ich bin auf der Suche nach geeigneten Sensoren.
Ein paar habe ich schon gefunden, generell würde ich gerne wissen ob es auch professionelle Sensoren für den Arduino gibt den man auch in der Industrie verwenden darf (fertig kalibriert) darf ruhig auch teuer sein.

3) Hier ist meine Liste an Sensoren die ich bis jetzt so gefunden habe:
Lufttemperatur:
Anforderung: Messbereich -30°C - 60°C Toleranz <= 0,5K
Gefundener Sensor: DS18B20
Argumente für diesen Sensor: Genauigkeit +-0,5K, 12 Bit, schon kalibriert, gibt es auch Wasserdicht, Arduino Lib

Luftfeuchte:
Anforderung: Messbereich 0-100% rF Toleranz 2% rF
Gefundener Sensor SHT25
Argumente für diesen Sensor: liegt im Toleranzbereich von 10-90%,Arduino Lib, hab kein besseren gefunden
oder HC103M2 allerdings gibt es hier keine Lib

Luftgeschwindigkeit:
Anforderung: Messbereich 0-10m/s
Gefundener Sensor: bis jetzt keinen

Schallpegel:
Anforderung: Schalldruckpegelmesser mit geringen Toleranzen Klasse 1
Messbereich 40db(A)- bis mind 140dB(A)
Gefundener Sensor: bis jetzt keinen

Beleuchtungsstärke (Luxmeter)
Anforderung : Messabweichung darf 5% des Grenzwertes nicht überschreiten
Gefundener Sensor: viele aber keinen der kalibriert war

Hoffe ihr könnt mir helfen bzw Ratschläge zu den Sensoren geben!


20  International / Deutsch / Re: 3 74hc165 Programmier problem on: November 05, 2013, 09:50:32 am
Habe es kontrolliert scheint in meinen Augen richtig zu sein. Alle Verbindungen bestehen. Könnte es noch an etwas anderem liegen?
Hier nochmal ein Schaltplan:
21  International / Deutsch / Re: 3 74hc165 Programmier problem on: November 04, 2013, 02:45:20 pm
also als ich 2 74hc165 angeschlossen hatte lief noch alles wunderbar.
jetzt habe ich 3 und es läuft nicht. Der Anschluss wird richtig sein (ist auf platine gelötet) evtl ist ein bauteil defekt oder es gibt irgwo ein kurzschluss kann man das irgwie rausfinden? das komische ist das alle 24 funktionieren, allerdings nicht gleichzeitig. wenn ich auf 2 schalte (über den Programmcode) laufen die ersten 1-16 und die letzten 17-24 laufen nicht wenn ich 3 schalte funktionieren alle von 8-24 und die ersten acht nicht.
22  International / Deutsch / Re: 3 74hc165 Programmier problem on: November 04, 2013, 02:00:27 pm
habe gerade festgestellt das die gelb/orange led dauerhaft ganz leicht leuchtet . ist das ein anzeichen eines fehlers?
23  International / Deutsch / Re: 3 74hc165 Programmier problem on: November 04, 2013, 10:37:23 am
Wie meinst du das?
24  International / Deutsch / 3 74hc165 Programmier problem on: November 04, 2013, 08:35:30 am
Hallo,
ich habe derzeit 3 74hc165 hintereinander hängen und an den chips hängen taster die Leds steuern.
Bei 2 Chips funktionieren alle 16 Eingänge wunderbar. Wenn ich im Programmiercode auf 3 umschalte läuft zwar der 3. Chip und der 2. aber der erste Chip läuft nicht mehr. Ich vermute ich habe ein Fehler in der Programmierung, weil sonst müsste der 3. Chip ja gar nicht funktionieren oder?
 
Hier mal der Code:
Code:
/*
 * SN74HC165N_shift_reg
 *
 * Program to shift in the bit values from a SN74HC165N 8-bit
 * parallel-in/serial-out shift register.
 *
 * This sketch demonstrates reading in 16 digital states from a
 * pair of daisy-chained SN74HC165N shift registers while using
 * only 4 digital pins on the Arduino.
 *
 * You can daisy-chain these chips by connecting the serial-out
 * (Q7 pin) on one shift register to the serial-in (Ds pin) of
 * the other.
 *
 * Of course you can daisy chain as many as you like while still
 * using only 4 Arduino pins (though you would have to process
 * them 4 at a time into separate unsigned long variables).
 *
*/

/* How many shift register chips are daisy-chained.
*/
#define NUMBER_OF_SHIFT_CHIPS   3

/* Width of data (how many ext lines).
*/
#define DATA_WIDTH   NUMBER_OF_SHIFT_CHIPS * 8

/* Width of pulse to trigger the shift register to read and latch.
*/
#define PULSE_WIDTH_USEC   5

/* Optional delay between shift register reads.
*/
#define POLL_DELAY_MSEC   1

/* You will need to change the "int" to "long" If the
 * NUMBER_OF_SHIFT_CHIPS is higher than 2.
*/
#define BYTES_VAL_T unsigned long
#include "Tlc5940.h"

int ploadPin        = 2;  // Connects to Parallel load pin the 165
int clockEnablePin  = 6;  // Connects to Clock Enable pin the 165
int dataPin         = 4; // Connects to the Q7 pin the 165
int clockPin        = 5; // Connects to the Clock pin the 165

BYTES_VAL_T pinValues;
BYTES_VAL_T oldPinValues;

/* This function is essentially a "shift-in" routine reading the
 * serial Data from the shift register chips and representing
 * the state of those pins in an unsigned integer (or long).
*/
BYTES_VAL_T read_shift_regs()
{
    byte bitVal;
    BYTES_VAL_T bytesVal = 0;

    /* Trigger a parallel Load to latch the state of the data lines,
    */
    digitalWrite(clockEnablePin, HIGH);
    digitalWrite(ploadPin, LOW);
    delayMicroseconds(PULSE_WIDTH_USEC);
    digitalWrite(ploadPin, HIGH);
    digitalWrite(clockEnablePin, LOW);

    /* Loop to read each bit value from the serial out line
     * of the SN74HC165N.
    */
    for(int i = 0; i < DATA_WIDTH; i++)
    {
        bitVal = digitalRead(dataPin);

        /* Set the corresponding bit in bytesVal.
        */
        bytesVal |= (bitVal << ((DATA_WIDTH-1) - i));

        /* Pulse the Clock (rising edge shifts the next bit).
        */
        digitalWrite(clockPin, HIGH);
        delayMicroseconds(PULSE_WIDTH_USEC);
        digitalWrite(clockPin, LOW);
    }

    return(bytesVal);
}

/* Dump the list of zones along with their current status.
*/
void display_pin_values()
{
    Serial.print("Pin States:\r\n");

    for(int i = 0; i < DATA_WIDTH; i++)
    {
        Serial.print("  Pin-");
        Serial.print(i);
        Serial.print(": ");

        if((pinValues >> i) & 1)
            Serial.print("HIGH");
        else
            Serial.print("LOW");

        Serial.print("\r\n");
    }

    Serial.print("\r\n");
}

void setup()
{
    Serial.begin(9600);

    /* Initialize our digital pins...
    */
    pinMode(ploadPin, OUTPUT);
    pinMode(clockEnablePin, OUTPUT);
    pinMode(clockPin, OUTPUT);
    pinMode(dataPin, INPUT);
    Tlc.init();

    digitalWrite(clockPin, LOW);
    digitalWrite(ploadPin, HIGH);

    /* Read in and display the pin states at startup.
    */
    pinValues = read_shift_regs();
    display_pin_values();
    oldPinValues = pinValues;
}

void loop()
{
    /* Read the state of all zones.
    */
    pinValues = read_shift_regs();
    if(pinValues==0) {
    Tlc.init(4095);
    }
    else{
    //Tlc.init(0);
   
    Tlc.clear();
    Tlc.set(0,4095);

    Tlc.update();   } /* If there was a chage in state, display which ones changed.
    */
    if(pinValues != oldPinValues)
    {
        Serial.print("*Pin value change detected*\r\n");
        display_pin_values();
        oldPinValues = pinValues;
    }

    delay(POLL_DELAY_MSEC);
   
}
25  International / Deutsch / 74hc165 decoupling kondensator on: October 15, 2013, 09:51:13 am
Hallo,
wollte mal fragen ob ich richtig liege habe im Internet eine Schaltung gefunden in der decoupling kondensator zwischen pin 16 (Vcc) und 15 (CE) wobei 15 auf Ground geschaltet wurde. Habe das auf dem Steckbrett auch versucht hat aber leider nicht funktioniert.
Benutze 2 74hc165 die ich wie folgt kaskadiert habe:
Pin 9-> Pin 10
Pin 1 -> Pin 1
Pin 2 ->Pin 2
Pin 15->Pin 15


Warum funktioniert es bei mir nicht wenn ich Pin 15 auf Ground verbinde?
Gruß
26  International / Deutsch / Re: Sharp Sensor Probleme mit Transistor an Platine on: January 29, 2013, 05:49:32 am
Hallo sth77, hast du Lötfett oder etwas ähnliches benutzt?
Die Kathode der IR-Led lässt sich sehr schwer verlöten ist mir aufgefallen.
Gruß
27  International / Deutsch / Re: Sharp Sensor Probleme mit Transistor an Platine on: December 22, 2012, 02:59:01 pm
Hallo Uwe,
es stimmt ich habe für die Ir Led kein Vorwiderstand, diese ist allerdings nicht der Übeltäter hab die Platine mit einem 10 Ohm verlötet und die Schaltung hat leider trotzdem nicht funktioniert.

Der Arduino wird über Usb Spannung versorgt.
Die Power Led bleibt an.

Gruß
28  International / Deutsch / Re: Aus Zeitmangel: Arduino und reichhaltiges Elektroniksortiment abzugeben on: December 22, 2012, 06:55:42 am
Hallo,
hätte Interesse an der kompletten Box Widerstände, Elkos ,dem
selbstgebautes Belichtungsgerät und der Ätzanlage kannst mir ein Angebot machen? Einzeln und komplett.
Gruß
29  International / Deutsch / Re: Sharp Sensor Probleme mit Transistor an Platine on: December 22, 2012, 05:57:38 am
Hallo Uwe,

ja ich habe verschiedene IR- LEDs benutzt jeweils auf Steckbrett und Platine den IR 271 und den 274 beides funktionierte auf dem Steckbrett sehr gut auf der Platine jedoch nicht.

Da ich ich alle Teile mehrfach gekauft habe, habe ich die Schaltung komplett auf dem Steckbrett nachgebaut mit den selben Teilen, die auf der Platine sind.
Dabei habe ich auch versucht zu gucken, ob nicht der Tansistor kaputt ist und 3 verschiede benutzt einmal den 2n3096 den BC327-25 und den    BC327-40 alle zeigten die gleichen Symptome auf dem Steckbrett funktioniert die Schaltung sehr gut und der Sensor schaltet auch nach 30 minuten wunderbar auf low und wieder zurück auf high ohne das der Transistor heiß wird.

Habe es auch mit einem anderem Potentiometer probiert, was allerdings auch nicht zu einem erfolg geführt hat.

Auf der Platine heizt sich der Transistor innerhalb weniger Sekunden auf eine bedenkliche Temperatur hoch und auch die Schaltung funktioniert dann nicht mehr.

Darf ich dir was vorschlagen?
Ich würde dir gerne meine verlötete Platine zusenden und das Steckbrett mit der funktionierenden Schaltung. Zudem würde ich dir eine leere Platine mit allen benötigten Teilen senden, damit du die Schaltung auch einmal nachlöten kannst, um auzuschließen das ich vielleicht schlecht gelötet habe und dadurch kalte Lötstellen oder ähnliches aufgetreten sind. Zusätzlich könnte ich dir noch die kompletten Teile für die Schaltung als reserve senden, falls ein Teil kaputt sein sollte.

Würdest du das machen? Ich bin mittlerweile echt verzweifelt wie viel Geld ich schon in den Sand gesetzt habe und will ungern noch 10 weitere Platinen in den Müll schmeißen auch weil ich überhaupt keine Ahnung habe woran es liegt.

Gruß David
30  International / Deutsch / Re: Sharp Sensor Probleme mit Transistor an Platine on: December 20, 2012, 05:33:28 pm
Leider habe ich das Problem immer noch nicht finden können zudem habe ich im Internet jemanden gefunden mit dem exakt selben Problem!

Woran könnte es liegen das die Schaltung auf einem Steckbrett funktioniert und auf einer Platine nicht? Hat jemand noch eine gute idee?

Mittlerweile habe ich schon ca 20. Platinen die den selben Fehler aufweisen immer wird der Transistor warm. Auch wenn ich einen anderen Transistor benutze wird er warm und wie immer nur auf der Platine  auf dem Steckbrett funktioniert alles einwandfrei.

Hier mal der Link von einem mitleidenden:
http://www.roboternetz.de/community/threads/19741-IS471F-funktioniert-auf-Steckbrett-aber-nicht-auf-Platine
Pages: 1 [2] 3 4 ... 6