Show Posts
Pages: [1] 2
1  International / Nederlands / Re: Hoge spanning en stroom meten on: March 04, 2014, 01:37:06 pm
Indien je een (oude) multi meter zou gebruiken?

Dan kan je daaruit schakelingen gebruiken?

Ik denk maar luidop....
2  International / Nederlands / Re: Arduino gebruiken in auto. on: March 01, 2014, 05:02:08 am
Even off topic, ik gebruik ook veel "delay(100000).
en vind dit niet correct.
Hoe kan je dit programma even op "wacht" zetten, en toch geen invloed te laten hebben?

Een for-next lus?
3  International / Nederlands / Re: Hoge spanning en stroom meten on: February 27, 2014, 11:35:54 am
Voor een stroom meeting kan je dit even bekijken.

Dit zijn de specs ervan
4  International / Nederlands / Re: Hoge spanning en stroom meten on: February 26, 2014, 01:12:58 pm
De stroom die je met kan een vorm zijn van een variërendestroom, dan kunnen enkele draadjes wikkelen over de "hoofddraad" hier soelaas brengen.
Dit is ook van toepassing voor de spanning.
Om met dergelijke spoeltjes te werken HOEF je geen wisselspanning te hebben, een variërendeeenheid is voldoende.

Je kan dan via software, een stabilisatie uitwerken wanneer de eenheden stabiel of niet fluctuerend zijn.
5  International / Nederlands / Re: love o meter on: February 23, 2014, 02:45:20 pm
Ik heb geen idee hoe jou project er uit ziet.

Ik bouw een weerstation.
En daarbij kreeg ik ook geen enkele (correcte) waarde binnen.
Het uitzoeken naar enkele slechte contacten, heeft me veel bijgebracht.

Misschien even nakijken?

Of, en dit zal menigeen vragen: Post hier even je sketch.
En een overzicht van je aansluitingen.

Iets dergelijks zoals aansluitingen kan je tekenen met fritzing (klik)

Groe(n)tjes

Ivan
6  International / Nederlands / Re: Wat heb ik allemaal nodig on: February 20, 2014, 05:54:42 am
Hoi,

Dit is alvast een PH meter die werkt met Arduino:
Klikje
En uiteraard een arduino. (Uno?)
Daar kan je alvast veel mee aan en uitschakelen.

Wil je het heel nauwkeurig per tijdstip in/uitschakelen, kan je een DCF77 (atoomklok) schakelen
klikje

Uiteraard relaitjes die geschakeld worden...
Klikje

En alles tonen op een gepast schermpje.
Klikje

En dan programeren ...
7  International / Nederlands / Re: Inlezen gegevens - "Woord" on: February 18, 2014, 07:50:45 am
Hoi Jantje,
Een beetje laat excuus.

Het resultaat:
Quote

curval: 1
Windsnelheid: 1
snelheid : 1
curval: 0
Windsnelheid: 10
snelheid : 2
curval: 1
Windsnelheid: 101
snelheid : 5
curval: 1
Windsnelheid: 1011
snelheid : 11
curval: 1
Windsnelheid: 10111
snelheid : 23
curval: 1
Windsnelheid: 101111
snelheid : 47
curval: 1
Windsnelheid: 1011111
snelheid : 95
curval: 1
Windsnelheid: 10111111
snelheid : 191
curval: 1
Windsnelheid: 101111111
snelheid : 383
 

En dit is de volledige sketch.
Denk eraan, alles moet nog op een LCD schermpje komen...
En geïntegreerd worden in de Klok samen met atmosferische eenheden.


Code:

int dataPin = 31;
int bitlenght = -1;
String myWindRichting ;
String myWindsnelheid ;
char data[41];
int snelheid;

     
 
void setup() {
  Serial.begin(9600);
  pinMode(dataPin, INPUT);
             }

void loop() {
  collectdata3();
  delay(1000);   
            }

int collectdata3(void) {
       if (bitlenght <0){
               bitlenght = 1220;//getbitlenght2();
                         }
 
        pinMode(dataPin, OUTPUT);

        digitalWrite(dataPin, HIGH);
        delay(100);
        digitalWrite(dataPin, LOW );
        delay(500);
        pinMode(dataPin, INPUT);


        while(digitalRead(dataPin) == LOW){
                                           } 
         //wait slave start signal
        while(digitalRead(dataPin) == HIGH){
                                            }
        while(digitalRead(dataPin) == LOW){
                                           }
 

        for (int i=0 ; i<42 ; i++){
                  data[i] = (digitalRead(dataPin) == LOW)? 48 : 49 ;
                  delayMicroseconds(bitlenght);   
                                  }

         showdatasimple();
         return 0;
         }


void showdatasimple(){

  Serial.println(" ");
 

  //WIND SPEED
          myWindsnelheid = "";
          for (int i =29 ; i< 38 ; i++){
            myWindsnelheid = myWindsnelheid + ((data[i] == 48)? 0 : 1);
            }


//WIND DIR  NEGATEIVE
          myWindRichting = "";
          for (int i =25 ; i< 29 ; i++){
            myWindRichting = myWindRichting + ((data[i] == 48)? 0 : 1);
            }
           
                     
myWindsnelheid = "";
snelheid=0;
          for (int i =29 ; i< 38 ; i++){
            int curval=(data[i] == 48)? 0 : 1;

            myWindsnelheid = myWindsnelheid + curval;
            snelheid = (snelheid<<1)+curval;
            Serial.print("curval: ");
            Serial.println(curval );
            Serial.print("Windsnelheid: ");
            Serial.println(myWindsnelheid );
            Serial.print("snelheid : ");
            Serial.println(snelheid  );
            }
 /*       
// Serial.print (myWindsnelheid);
  Serial.print("  Snelheid => "); 
  if ( myWindsnelheid == "111111111") Serial.println("     0,0 m/s"); 
  if ( myWindsnelheid == "011111111") Serial.println("     0,1 m/s");
  if ( myWindsnelheid == "101111111") Serial.println("     0,2 m/s");
  if ( myWindsnelheid == "110111111") Serial.println("     0,4 m/s");
  if ( myWindsnelheid == "111011111") Serial.println("     0,8 m/s");
  if ( myWindsnelheid == "111101111") Serial.println("     1,6 m/s");
  if ( myWindsnelheid == "111110111") Serial.println("     3,2 m/s");
  if ( myWindsnelheid == "111111011") Serial.println("     6,4 m/s");
  if ( myWindsnelheid == "111111101") Serial.println("     12,8 m/s");
  if ( myWindsnelheid == "111111110") Serial.println("     25,6 m/s");
  if ( myWindsnelheid == "001111111") Serial.println("     0,3 m/s");
  if ( myWindsnelheid == "110011111") Serial.println("     1,2 m/s");
  if ( myWindsnelheid == "110000011") Serial.println("     12,4 m/s");
  if ( myWindsnelheid == "111110011") Serial.println("     9,6 m/s");
  if ( myWindsnelheid == "111111100") Serial.println("     38,4 m/s");
  if ( myWindsnelheid == "000000000") Serial.println("     51,1 m/s");



  Serial.print("  Richting => ");
   Serial.print (myWindRichting);
  if ( myWindRichting == "1111") Serial.println("     Noord");       
  if ( myWindRichting == "1110") Serial.println("     Zuid");     
  if ( myWindRichting == "1101") Serial.println("     Oost");     
  if ( myWindRichting == "1100") Serial.println("     West");     
  if ( myWindRichting == "1011") Serial.println("     Noord/Oost");
  if ( myWindRichting == "1010") Serial.println("     Zuid/West");
  if ( myWindRichting == "1001") Serial.println("     Zuid/Oost");
  if ( myWindRichting == "0111") Serial.println("     Noord/Noord/Oost");
  if ( myWindRichting == "1000") Serial.println("     Noord/West");
  if ( myWindRichting == "0110") Serial.println("     Zuid/Zuid/West");
  if ( myWindRichting == "0101") Serial.println("     Oost/Zuid/Oost");
  if ( myWindRichting == "0100") Serial.println("     ZW");
  if ( myWindRichting == "0011") Serial.println("     Oost/oost/Noord");
  if ( myWindRichting == "0010") Serial.println("     WNW");
  if ( myWindRichting == "0001") Serial.println("     Zuid/Zuid/Oost");
  if ( myWindRichting == "0000") Serial.println("     Noord/Noord/West");
*/
}

8  International / Nederlands / Re: Arduino gebruiken in auto. on: February 18, 2014, 06:28:55 am
Hallo,

Ik steun volledig de idee van klein starten.

Nadien kan je denken aan het inbouwen van de sensoren in je wagen.
Het inbouwen in de wagen van sensoren: water en hitte bestendige leidingen.
Maar dit de pret niet derven.
Het is dus mogelijk.

Ik ben, op een heel ander vlak bezig met een weerstation. (En ja er bestaan er duizend.)

Alle onderdelen apart en aansluiten als een soort van testopstelling.
Waarna alles wordt ingebouwd.

Ik wens je veel succes, en blijven posten...
9  International / Nederlands / Re: Inlezen gegevens - "Woord" on: February 13, 2014, 01:41:42 pm
Uit het programma heb ik dit gewijzigd:

Code:
  //WIND SPEED
          myWindsnelheid = "";
          for (int i =29 ; i< 38 ; i++){
            myWindsnelheid = myWindsnelheid + ((data[i] == 48)? 0 : 1);
            snelheid = ((((((myWindsnelheid[0]=='1'<<1)+myWindsnelheid[2]=='1')<<1))+myWindsnelheid[3]=='1')<<1);
            }

Dit geeft mijn Serial Monitor weer

Quote
Snelheid 01001

De windvaan staat gemonteerd binnenskamers (snelheid = 0 aangeduid met binaire code 1111111)
Dus het komt niet zo direct overeen....

Ik neem, voor de testfase enkel drie inkomende bits.
10  International / Nederlands / Re: Inlezen gegevens - "Woord" on: February 13, 2014, 01:24:02 pm
Of zoals ze in Vlaanderen zeggen "aja"

ik heb terug iets om over na te denken, laten rijpen zeg maar ....

I'll Keep U informed

Bedankt
 Ivan
11  International / Nederlands / Re: Inlezen gegevens - "Woord" on: February 13, 2014, 01:18:19 pm
[grapje]Ik weet het soms weet ik zelf niet wat ik bedoel, en moet ik het  mezelf opnieuw vragen ....  smiley-roll [/grapje]

De eerste bit wordt ingelezen.          woord = "eerste bit"
De tweede bit wordt erachter gezet.     woord = "eerste bit + tweede bit"
De derde bit wordt ingelezen            woord = "eerste bit + tweede bit + derde Bit"
Enzovoort ...

Is dit wat je bedoelt?

MVG
Ivan


12  International / Nederlands / Re: Inlezen gegevens - "Woord" on: February 13, 2014, 10:59:23 am
Dag Jantje, ik ben er terug.
De opzet lijkt goed.

Echter wanneer ik de bitshift left (<<), bitshift right (>>) erbij neem dan zie ik dat hij met deze commando's een verschuiving uitvoert en geen merge.

Of zit ik totaal naast de kwestie?
13  International / Nederlands / Re: Inlezen gegevens - "Woord" on: February 13, 2014, 10:25:41 am
In eerste geval, Jantje, ik bedank je voor je snelle reactie.

Als tweede punt, hoe eigenaardig ook, het zijn er NEGEN 9. Ik heb deze al regelmatig geteld....
En neen ik begrijp het ook niet waarom.

De TX23 is een windvaantje die gebruik wordt in verschillende weer instrumenten.
La Cross TX23 om precies te zijn.

Voor de rest, ik ga nu je code even bekijken...
I 'll keep in touch.

Bedankt Ivan
14  International / Nederlands / Re: Inlezen gegevens - "Woord" on: February 13, 2014, 09:24:21 am
Ook hier heb ik een oplossing voor gevonden.

Dit is mijn werkend script:
Code:
int dataPin = 31;
int bitlenght = -1;
String myWindRichting ;
String myWindsnelheid ;
char data[41];


     
 
void setup() {
  Serial.begin(9600);
  pinMode(dataPin, INPUT);
             }

void loop() {
  collectdata3();
  delay(1000);   
            }

int collectdata3(void) {
       if (bitlenght <0){
               bitlenght = 1220;//getbitlenght2();
                         }
 
        pinMode(dataPin, OUTPUT);

        digitalWrite(dataPin, HIGH);
        delay(100);
        digitalWrite(dataPin, LOW );
        delay(500);
        pinMode(dataPin, INPUT);


        while(digitalRead(dataPin) == LOW){
                                           } 
         //wait slave start signal
        while(digitalRead(dataPin) == HIGH){
                                            }
        while(digitalRead(dataPin) == LOW){
                                           }
 

        for (int i=0 ; i<42 ; i++){
                  data[i] = (digitalRead(dataPin) == LOW)? 48 : 49 ;
                  delayMicroseconds(bitlenght);   
                                  }

         showdatasimple();
         return 0;
         }


void showdatasimple(){

  Serial.println(" ");
 

  //WIND SPEED
          myWindsnelheid = "";
          for (int i =29 ; i< 38 ; i++){
            myWindsnelheid = myWindsnelheid + ((data[i] == 48)? 0 : 1);
            }


//WIND DIR  NEGATEIVE
          myWindRichting = "";
          for (int i =25 ; i< 29 ; i++){
            myWindRichting = myWindRichting + ((data[i] == 48)? 0 : 1);
            }
       
// Serial.print (myWindsnelheid);
  Serial.print("  Snelheid => "); 
  if ( myWindsnelheid == "111111111") Serial.println("     0,0 m/s"); 
  if ( myWindsnelheid == "011111111") Serial.println("     0,1 m/s");
  if ( myWindsnelheid == "101111111") Serial.println("     0,2 m/s");
  if ( myWindsnelheid == "110111111") Serial.println("     0,4 m/s");
  if ( myWindsnelheid == "111011111") Serial.println("     0,8 m/s");
  if ( myWindsnelheid == "111101111") Serial.println("     1,6 m/s");
  if ( myWindsnelheid == "111110111") Serial.println("     3,2 m/s");
  if ( myWindsnelheid == "111111011") Serial.println("     6,4 m/s");
  if ( myWindsnelheid == "111111101") Serial.println("     12,8 m/s");
  if ( myWindsnelheid == "111111110") Serial.println("     25,6 m/s");
  if ( myWindsnelheid == "001111111") Serial.println("     0,3 m/s");
  if ( myWindsnelheid == "110011111") Serial.println("     1,2 m/s");
  if ( myWindsnelheid == "110000011") Serial.println("     12,4 m/s");
  if ( myWindsnelheid == "111110011") Serial.println("     9,6 m/s");
  if ( myWindsnelheid == "111111100") Serial.println("     38,4 m/s");
  if ( myWindsnelheid == "000000000") Serial.println("     51,1 m/s");


// Serial.print (myWindRichting);
  Serial.print("  Richting => ");
  if ( myWindRichting == "1111") Serial.println("     N");       
  if ( myWindRichting == "1110") Serial.println("     NNO");     
  if ( myWindRichting == "1101") Serial.println("     NO");     
  if ( myWindRichting == "1100") Serial.println("     ONO");     
  if ( myWindRichting == "1011") Serial.println("     O");
  if ( myWindRichting == "1010") Serial.println("     OZO");
  if ( myWindRichting == "1001") Serial.println("     ZO");
  if ( myWindRichting == "0111") Serial.println("     Z");
  if ( myWindRichting == "1000") Serial.println("     WZW");
  if ( myWindRichting == "0110") Serial.println("     ZZW");
  if ( myWindRichting == "0101") Serial.println("     ZW");
  if ( myWindRichting == "0100") Serial.println("     ZW");
  if ( myWindRichting == "0011") Serial.println("     W");
  if ( myWindRichting == "0010") Serial.println("     WNW");
  if ( myWindRichting == "0001") Serial.println("     NW");
  if ( myWindRichting == "0000") Serial.println("     NNW");

}

MAAR  ik vind het maar niks met al die "IF"-'s...
Ik weet dat het beter kan met iets anders? een select Case of een ander trucje.

In eerste instantie heb ik de data die ik binnen krijg omgezet in een String, dat leek me een betere manier om mijn probleem op te lossen, ik stak deze in een if lus.
Maar dit lijkt me niet zo programmeer logisch... De Binaire dat moet toch direct kunnen verwerkt worden?

Wie zet me op de goede weg?

Alvast bedankt
15  International / Nederlands / Re: Foutmelding in DFC77 on: February 11, 2014, 02:21:11 pm
OK, alles is opgelost!!!!
En tot groot genoegen van mijzelf, al zeg ik het zelf....

Ik had alles verbonden met draadjes, en aansluitingen.
De draadjes kwamen uit een UTP kabel, En net die UTP kabel had een gebroken aansluiting.
En dat dit nu net daar was.... Ik kreeg dus op enkele tijdstippen geen signaal, of geen spanning.

Dit nu even anders verbonden, en ja na 3uur (DRIE UUR) heb ik eindelijk een synchronisatie van mijn klok.
Oef.

Ik heb net alles in 1 sketch gegoten
1. Druk (Bar);
2. Temperatuur;
3. Vochtigheid;
4. hoogte;
5. Tijd; ( = DCF77, Joehoe)


Ik post dan alles nog een keer, indien alles is gebouwd...
Nu nog mijn windsterkte en-richting.
En dit zit in dit draadje


Pages: [1] 2