Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
NielsTn schreef op zondag 20 maart 2011 @ 13:33:
[...]


hier staat de code: http://www.renewable-ener...duino-zonneboiler-logger/

met het example wat bij de library onewire zit, heb ik de adressen van de sensoren gevonden.
Ik heb dit reeds werkend, je hebt voor de ethernetshield een library die gewoon een http GET kan afhandelen, als ik dan in een browser het ip van de arduino opgeef krijg ik netjes de waarde van de sensor.

Zal even code erbij zoeken...

Hierbij de code: http://dl.dropbox.com/u/91978/tweakers/serverHome.pde
Deze leest bij een http GET request de sensor uit en geeft de waarde kaal terug naar de client als een html file. Dit zou je dus met een phpscript oid eens per x minuten kunnen opvragen.

[ Voor 19% gewijzigd door steffex op 22-03-2011 11:30 . Reden: script toegevoegd ]


Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 11-09 15:21
Inmiddels heb ik de zonneboiler met Arduino en (momenteel) 4 DS18S20 sensoren aan internet gekoppeld!
http://www.renewable-energy-now.org/qsolar-online/

de code heb ik bij elkaar gezocht en gecombineerd tot het werkt voor mijn doel :)
uiteraard heb ik de code als zip-bestand in het bouw-artikel bijgevoegd, zodat meer mensen (met minder/geen programmeerskills, zoals ik) toch de solarboiler kunnen meten :)
http://www.renewable-ener...11/03/atag-qsolar-online/ is het artikel erover :)

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 01:17

F.West98

Alweer 16 jaar hier

Topicstarter
Vraagje over aanschaf:

Mijn (ik kom niet meer op de naam, zo'n ding dat kabeltjes doorverbind aan zo'n 2 x 16 lcd. (pin header?)) is slecht. Pinnetjes verbogen, inmiddels helemaal geen beeld meer. Ik vraag me dus af waar ik een zooi van die dingen kan kopen voor weinig geld. (graag daar ook ledjes, weerstandjes, snoertjes ed.)

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 21:55
dickbest.nl heeft dat.

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 01:17

F.West98

Alweer 16 jaar hier

Topicstarter
http://www.dickbest.nl/we...t=viewProd&productId=1976
dus?
ik zie niet helemaal wat het plaatje nu inhoud, maar is het iets als:
http://www.pololu.com/picture/0J896.200.jpg?1276078184
?

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0 Henk 'm!

  • DVR123
  • Registratie: Maart 2010
  • Laatst online: 14-06 01:20

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat heet inderdaad pin header, male of female. Heb je in verschillende uitvoeringen, 1 rij, 2 rijen. Niet verwarren met kabelheaders waar je flatcable tussen moet klemmen.

Female
http://www.dickbest.nl/we...t=viewProd&productId=2110
Male
http://www.dickbest.nl/we...t=viewProd&productId=2016

Maar kijk hier eens, want dick is dick niet meer, prijzen worden helaas stuk duurder na de overnamen. Dan heb je 50x of 40x 40pins headers voor 2 euro(of 1.90 euro), ipv 80cent per stuk. Heb je gelijk een voorraad voor de toekomst. ;)

Male
http://www.samenkopen.net/action_product/25701/645317
Female
http://www.samenkopen.net/action_product/25701/665879

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
Ik probeer met de Arduino een Attiny45 te programmeren.
http://hlt.media.mit.edu/...?n=Main.ArduinoATtiny4585

Helaas lukt het niet en krijg ik deze melding:
avrdude: stk500_getsync(): not in sync: resp=0x15

Ik heb een Duemilanove (dus met de Atmel 328)

Iemand een idee?
(trucs met condensators weerstanden met reset heb ik al geprobeerd)

edit:
Via AVR studio kan ik wel bij de IC komen, dus daar ligt het niet aan.

edit2:
Met disable auto reset met 120ohm weerstand krijg ik:
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

[ Voor 34% gewijzigd door B_FORCE op 13-04-2011 04:02 ]

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Met reset laag is de avr gewoon uit, en niet bereikbaar en signatuur is dan 000000. Let op dat je nooit, reset disable fuse bit zet, want dan heb je een HVISP nodig om die bit weer terug te zetten.

Post een foto van je bedrading en sketch(bovenste stukje waar je de pinnen definieert).

Edit/
Met AVR studio kan je wel de attiny45 flashen? Dan kan je gewoon de hex file pakken die je na compileren van arduino software in je temp map van Windows komt te staan, die kan e dan zo uploaden.

[ Voor 26% gewijzigd door mad_max234 op 13-04-2011 13:15 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
Aansluitingen/code zijn gewoon precies zoals in die link.

Via HEX is idd wel een optie, maar een beetje omslachtig.
Snap niet zo goed waarom het niet werkt.
Ik doe precies wat er in die handleiding staat.

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik denk dat ik door heb wat je aan het doen bent, en waarschijnlijk moet je de preferences.txt nog aanpassen. Neem aan dat je dat nog niet heb gedaan en arduino software nog steeds via bootloader wilt uplaoden. :)

In preferences.txt moet je de volgende regel aanpassen.

upload.using=bootloader

En veranderen in

upload.using=stk500

Edit/

Let op dat je weer de regel terug zet als je de arduino software weer met de bootloader wilt gebruiken.

Kan zijn dat stk500 met hoofdletter geschreven word, moet je even uitzoeken/proberen. Als het goed is is het hoofdletter gevoelig.

edit/2
Voordat je in de arduino map gaat zoeken. Bij vista/win7 staat die in de Roaming map van de desbetreffende gebruiker.

C:\Users\"jou gebruikers naam hier"\AppData\Roaming\Arduino

edit/3 :D

Gebruik deze uitleg maar, die is tenminste compleet. Voor de duidelijkheid, met ArduinoISP sketch heb je je arduino in een stk500 compatibel programmer veranderd. Je gebruikt dus een external programmer om de attiny45 te flashen met een sketch.

http://www.arduino.cc/en/Hacking/Programmer

[ Voor 55% gewijzigd door mad_max234 op 13-04-2011 16:20 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 01:17

F.West98

Alweer 16 jaar hier

Topicstarter
mad_max234 schreef op dinsdag 12 april 2011 @ 23:10:
Dat heet inderdaad pin header, male of female. Heb je in verschillende uitvoeringen, 1 rij, 2 rijen. Niet verwarren met kabelheaders waar je flatcable tussen moet klemmen.

Female
http://www.dickbest.nl/we...t=viewProd&productId=2110
Male
http://www.dickbest.nl/we...t=viewProd&productId=2016

Maar kijk hier eens, want dick is dick niet meer, prijzen worden helaas stuk duurder na de overnamen. Dan heb je 50x of 40x 40pins headers voor 2 euro(of 1.90 euro), ipv 80cent per stuk. Heb je gelijk een voorraad voor de toekomst. ;)

Male
http://www.samenkopen.net/action_product/25701/645317
Female
http://www.samenkopen.net/action_product/25701/665879
ik zoek 2x7 female header (die wordt meegeleverd bij het lcd'tje van een paar pages terug (december))
die van mij is een onduidelijk plaatje

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
@B_FORCE
Gebruik deze files om andere avr's pin compatibel te maken met arduino, heb het met succes gebruikt met verschillende AVR's. Je kan ook de arduino files zelf aanpassen als de avr er niet tussen staat. Is niet zo lastig, op arduino forum zijn er aantal pagina's te vinden met wat uitleg van mods.
http://code.google.com/p/arduino-tiny/

@F.West98
Dan heb je denk ik zo eentje die pinnen aan de zijkant heeft, en niet zoals de meeste 1x16 aan de bovenkant? Maar dan kan gewoon 2 x 7 pinnen breken/zagen van rij van 40 pinnen en naast elkaar plaatsen, doe ik geregeld, zowel met male als female. Verder heeft conrad alle soorten en maten headers. ;)

Component -> Connectors -> Printplaat-connectoren -> Stiftlijsten, buslijsten

Zoek je zoiets? Box stiftlijst recht RM 2,54 14-polig (plaatje wijkt af)
http://www2.conrad.nl/goto.php?artikel=739830

Edit/
Dick heeft ze ook.
http://www.dickbest.nl/we...t=viewProd&productId=2263

[ Voor 5% gewijzigd door mad_max234 op 13-04-2011 16:53 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 01:17

F.West98

Alweer 16 jaar hier

Topicstarter
http://shop.conrad.nl/com...en-buslijsten/741102.html
dus dit is wat er op het plaatje staat, maar dan met 7 gaten? (dat heb ik nodig)

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ja inderdaad. Maar je heb dan 2x die nodig om 14 te maken

Maar die zijn hetzelfde als die van samenkopen alleen die van samenkopen zijn 40polig per reepje die je zelf even op maat moet maken. En dan heb je er 40 x 40polig, totaal dus van 1600 pinnen voor 2 euro. Heel en heel veel goedkoper dus. Koop connectors al tijdje niet meer in nederland, china is het vaak 10x goedkoper. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
mad_max234 schreef op woensdag 13 april 2011 @ 15:54:
Ik denk dat ik door heb wat je aan het doen bent, en waarschijnlijk moet je de preferences.txt nog aanpassen. Neem aan dat je dat nog niet heb gedaan en arduino software nog steeds via bootloader wilt uplaoden. :)

In preferences.txt moet je de volgende regel aanpassen.

........
Gebruik deze uitleg maar, die is tenminste compleet. Voor de duidelijkheid, met ArduinoISP sketch heb je je arduino in een stk500 compatibel programmer veranderd. Je gebruikt dus een external programmer om de attiny45 te flashen met een sketch.

http://www.arduino.cc/en/Hacking/Programmer
Ik zal eens kijken, maar ik vind het heel vreemd omdat dit allemaal niet in die handleiding staat.
Ook deze persoon kan gewoon precies op die manier succesvol programmeren:
YouTube: How to Program an ATtiny using the Arduino

Als ik de HEX code van Arduino software probeer te gebruiken in AVR studio, krijg ik een foutmelding:
WARNING: FLASH byte address 0x0000 is 0xFF (should be 0x1A).. FAILED!

[ Voor 20% gewijzigd door B_FORCE op 13-04-2011 22:35 ]

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Kan het mis hebben hoor, ik gebruik meestal usbtinyisp die ik heb gemaakt met arduinoisp. :)
Heb je wat aangepast aan de arduino software?

Volgens mijn probeer jou arduino software de atmega328 te flashen omdat die contact legt met atmega328 bootloader(staat immers in preferences zo ingesteld) en niet met de attiny45. Je preferences.txt staat namelijk ingesteld op bootloader van de atmega328, en dat probeert die dan ook.

Kan je alleen zeggen dat ik succes heb gehad met verschillende attiny's en atmega,s met de manier die ik eerder posten gemakkelijk aan de praat kreeg.

Kijk hier programmeer ik een attiny2313 met arduino software, is dan met de usbtinyisp, maar je kan die gewoon vervangen voor arduinoisp en doet die het ook gewoon, moet alleen even in preferences.txt opgeven dat ik ipv usbtinyisp de arduinoisp gebruik.
YouTube: Upload arduino sketch usb attiny2313

Maar ook de attiny 25/45/85, attiny24/44/84. atmega48/88 heb ik geprobeerd en deden het prima icm met arduino software.

PS
Niet alle handleidingen zijn even goed, en soms zijn ze ook niet meer compatibel met nieuwere versies van de arduino software, zeker als er aanpassingen gedaan worden aan de arduino software kunnen er problemen optreden.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
mmz, ik heb van alles geprobeerd met die preferences.txt, maar hij lijkt daar niks mee te doen :(
(überhaupt niks wat ik daar verander)

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
schrijf eens een heel simpel c stukje in avrstudio en upload die eens naar de attiny. Neem aan dat je attiny op 1Mhz draait? Anders even F_CPU aanpassen, maar dat zou het uploaden niet in de weg moeten zitten.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h>

int main(void) {
    
    DDRB |= ( 1 << 4 );
    while (1) {
        PORTB &= ~(1 << 4 );
        _delay_ms(1000);
        PORTB |= ( 1 << 4 );
        _delay_ms(1000);
    }
    return 0;
}


Om even te kijken of je uberhaupt wel contact kan krijgen met je avr

Edit/
Om nieuwe instelling in preferences.txt te laten werken moet je arduino software opnieuw opstarten, alle arduino vensters dus afsluiten, save al je werk eerst wel even. ;)

Al eens de map waar de preferences.txt in zit verwijderd, kan beste verwijderen als arduino software uit is, als je dan opnieuw opstart zal die nieuwe preferences.txt aanmaken. Of verse download geprobeerd in een nieuwe map?

[ Voor 25% gewijzigd door mad_max234 op 14-04-2011 02:30 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
Nou het werkt eindelijk.

Ik ben van software versie 0022 terug gegaan naar 0020.
Nu werkt het probleemloos.
Heel erg typisch.

Leuke is dat ik nu met maar twee kabeljes een LCD op een Attiny45 heb :D
Nu de rest nog goed krijgen :)

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat kan op elk AVR en elke hd44780. Alleen heb je bij parallelle lcd nog een shift register nodig om via SPI data versturen nar lcd. Bij serial lcd is dat uiteraard niet nodig. :)

Nadeel van arduino taal op een attiny met relatief weinig geheugen is dat code van arduino taal beetje lomp is, en je al gauw twee of meer keer zoveel geheugen nodig om zelfde te bereiken tegenover C.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
mad_max234 schreef op donderdag 14 april 2011 @ 19:22:
Dat kan op elk AVR en elke hd44780. Alleen heb je bij parallelle lcd nog een shift register nodig om via SPI data versturen nar lcd. Bij serial lcd is dat uiteraard niet nodig. :)

Nadeel van arduino taal op een attiny met relatief weinig geheugen is dat code van arduino taal beetje lomp is, en je al gauw twee of meer keer zoveel geheugen nodig om zelfde te bereiken tegenover C.
Is idd via een shift register :P

Ik zie vanzelf hoe ver ik kom.heb sowieso 4KB tot mijn beschikking.
Mocht dat te weinig zijn wordt het de Attiny85

Volgens mij werken die hd44780 altijd parallel.
Bij de seriële is er gewoon zelf een shift-register toegevoegd.

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat zou inderdaad goede kunnen dat hd44780 intern altijd parallel zijn, maar doelde op de externe aansluiting. hd44780 is al vrij oud en vroeger sloot ik ze rechtstreeks aan op de parallelpoort, maar die tijd is vervlogen. :D

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Technicality
  • Registratie: Juni 2004
  • Laatst online: 11-09 23:47

Technicality

Vliegt rechtsom...

Ik heb onlangs mijn Uno een opdonder gegeven (kortgesloten 'ergens', weet niet wat precies), waarna de rx/tx ledjes en de startup-single-blink het niet meer deden, en ook de sketch die erop stond kapot is. Met USBtinyISP icm avrdude krijg ik:
Afbeeldingslocatie: http://i.imgur.com/zYhxw.png

En lijkt verder niets te werken. Wat is er kapot? De chip zelf? Het kristal?

Ik denk dat er verder niets anders op zit dan een nieuwe 'duino te kopen, of zou ik met de USBtinyISP net zo goed gewoon losse AVR's kunnen kopen. Uiteindelijk ga ik toch niets doen met shields, ik ben van mening dat je dan net zo goed de losse componenten kan kopen.

Acties:
  • 0 Henk 'm!

  • Rmg
  • Registratie: November 2003
  • Laatst online: 19:47

Rmg

Technicality schreef op maandag 18 april 2011 @ 14:50:
Ik heb onlangs mijn Uno een opdonder gegeven (kortgesloten 'ergens', weet niet wat precies), waarna de rx/tx ledjes en de startup-single-blink het niet meer deden, en ook de sketch die erop stond kapot is. Met USBtinyISP icm avrdude krijg ik:
[afbeelding]

En lijkt verder niets te werken. Wat is er kapot? De chip zelf? Het kristal?

Ik denk dat er verder niets anders op zit dan een nieuwe 'duino te kopen, of zou ik met de USBtinyISP net zo goed gewoon losse AVR's kunnen kopen. Uiteindelijk ga ik toch niets doen met shields, ik ben van mening dat je dan net zo goed de losse componenten kan kopen.
Met een beetje geluk heb je alleen de voltage regulator opgeblazen. Als je een usbtiny hebt kan je ook prima losse avr's kopen en daar de arduino bootloader inschieten. Je kan dan zelfs op de interne 8 mhz kristal gaan werken

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Test het bordje eens, denk dat er helemaal niks kapot is behalve de avr.

Je kan tx en rx met elkaar verbinden en dan via serial monitor wat getallen verzend als je die getallen dan weer terug krijgt in het venster weet je dat de ftdi chip nog gewoon heel is. Als je TX en RX aan elkaar verbind dan gana de getallen via TX naar de RX en terug naar de ftdi en naar de pc. :)

Je moet wel even de atmega eruit halen of reset met grond verbinden zodat de atmega zeker uit staat.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

Een Uno heeft geen FTDI maar twee avr's.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Klopt, maar blijft hetzelfde verhaal, doet verder niet toe waar de TX en RX vandaan komt. Is dus niet relevant voor de test. ;)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien dat iemand mij hier kan helpen, Ik wil mijn Arduino inzetten als een ISP Programmer om Attiny45 van programma te voorzien. Nu gebruik ik het volgende schema: http://hlt.media.mit.edu/...?n=Main.ArduinoATtiny4585

Maar krijg het niet voor elkaar.
Krijg deze foutmelding: avrdude: stk500_getsync(): not in sync: resp=0x15

Ik heb al geprobeerd om een 270Ohm weerstand tussen de Arduino Reset pin en 5V te zetten.

Geen idee wat ik fout doe.

[ Voor 11% gewijzigd door Verwijderd op 19-04-2011 16:21 ]


Acties:
  • 0 Henk 'm!

  • Rmg
  • Registratie: November 2003
  • Laatst online: 19:47

Rmg

Verwijderd schreef op dinsdag 19 april 2011 @ 16:13:
Misschien dat iemand mij hier kan helpen, Ik wil mijn Arduino inzetten als een ISP Programmer om Attiny45 van programma te voorzien. Nu gebruik ik het volgende schema: http://hlt.media.mit.edu/...?n=Main.ArduinoATtiny4585

Maar krijg het niet voor elkaar.
Krijg deze foutmelding: avrdude: stk500_getsync(): not in sync: resp=0x15

Ik heb al geprobeerd om een 270Ohm weerstand tussen de Arduino Reset pin en 5V te zetten.

Geen idee wat ik fout doe.
Heb je de arduino isp sketch in de arduino geladen?

Acties:
  • 0 Henk 'm!

Verwijderd

Rmg schreef op dinsdag 19 april 2011 @ 16:47:
[...]

Heb je de arduino isp sketch in de arduino geladen?
Ja is geladen, heb nu tussen reset en 5v een 150 ohm weerstand.
Krijg nu het volgende:

Binary sketch size: 658 bytes (of a 4096 byte maximum)
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.


Inmiddels gelukt.
Geen idee wat er nu fout ging, misschien dat het weerstandje niet helemaal lekker in het breadbordje zat

[ Voor 10% gewijzigd door Verwijderd op 19-04-2011 17:26 ]


Acties:
  • 0 Henk 'm!

  • Peedy
  • Registratie: Februari 2002
  • Laatst online: 06-11-2024
*O* Vandaag een Arduino UNO Starterskit gekregen voor m'n verjaardag van m'n collega's :) Heb al even lopen knutselen met de tutorials (Fade, ToneMelody en servo motor dingetje)..erg grappig. Ik wil alleen zelf wat meer dingen ontdekken..bijvoorbeeld hoe ik moet weten welke resistor ik waarvoor moet gebruiken en hoe ik dingen kan schakelen. Is daar ergens een handig overzicht voor of is het gewoon veel trial&error? En aangaande trial&error; is het mogelijk om dingen per ongeluk op te blazen of is die 5v daar domweg niet sterk genoeg voor?

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Alle specificaties van de componenten is altijd terug te vinden in de datasheet. Vaak staan er nog meer in, design tips, testen, etc. Verder moet je als eerst leren wat de ohm law is en je moet het snappen, dan word het ook duidelijk waarom er bepaalde weerstand word gekozen bij bepaalde toepassingen.

Trial and error doen we alleen als we de datasheet niet kunnen vinden en we dus moeten raden. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Peedy
  • Registratie: Februari 2002
  • Laatst online: 06-11-2024
Eerste testje gedaan met een LDR en wat ledjes... filmpje; http://www.twitvid.com/ZDTNC en de gebruikte code; http://pastebin.com/rCqWibjU

Leuk speelgoed, nu nog een toepassing bedenken ;)

Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
mad_max234 schreef op woensdag 27 april 2011 @ 02:47:
Trial and error doen we alleen als we de datasheet niet kunnen vinden en we dus moeten raden. :)
Trial en error doe ik alleen als mijn simulatie programma het niet meer weet en het met berekeningen ook niet meer op te lossen is ;)

Overigens heet het in het Nederlands gewoon wet van Ohm hoor, samen met wetten van Kirchoff, Norton/Thevenin bronnen en eventueel maasmethode kom je een heel eind :)

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
simulatie gebruik ik niet zoveel, of ik reken het uit of bouw het op en meet het na. En meestal als je geen datasheet kan vinden van het component , hoef je al helemaal niet te gaan kijken in simulatie.

Met ohm;s law zul je veel meer vinden dan onder wet van ohm, ga maar gewoon over op Engels termen , bijna alles is in het Engels wat met elektronica te maken heeft. Dat zal ten goede komen van je leer proces.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
Nou als je iets wil hebben dat pas echt leerzaam is, dan is dat wel regeltechniek, maar dat is voor Peedy wel in een keer hoog gegrepen denk ik ;)

Tevens zeg "Ohms law" nog steeds niets over mazen en knopen in een circuit en hoe je dat uiteindelijk kunt vervangen door iets equivalents (DC en AC).


offtopic:
Overigens ben ik dat stukje leerproces allang jaren geleden gepasseerd ;)

[ Voor 47% gewijzigd door B_FORCE op 01-05-2011 04:28 ]

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
B_FORCE schreef op zondag 01 mei 2011 @ 04:24:
Nou als je iets wil hebben dat pas echt leerzaam is, dan is dat wel regeltechniek, maar dat is voor Peedy wel in een keer hoog gegrepen denk ik ;)

Tevens zeg "Ohms law" nog steeds niets over mazen en knopen in een circuit en hoe je dat uiteindelijk kunt vervangen door iets equivalents (DC en AC).


offtopic:
Overigens ben ik dat stukje leerproces allang jaren geleden gepasseerd ;)
?
Waarom zou die regeltechniek moeten gaan doen, hij wil starten met arduino en elektronica, en eerste stap is wat mijn betreft begrip krijgen van wat voltage, stroom, weerstand en vermogen is, en dat die allemaal en altijd met elkaar verbinding staat. Daar heb je wat aan als je net begint. Dan rustig aan alle basis componenten leren kennen, en schema leren lezen en eerst kleine circuit maken. Steeds stapje verder, en bij het begin beginnen.

Mazen en knopen in het circuit, AC DC? Zal wel aan mij liggen of het tijdstip maar kan je totaal niet volgen. :P

Ik bedoelde dat je met Engels termen gewoon veel meer uitleg krijgt dan die nederlandse pagina's. En alles is in het Engels, alle datasheets zijn altijd in het Engels, grote support/community sites zijn in het Engels, etc. Dus als je iets wilt weten kan je beter Engels termen gebruiken. Doelde nog geen eens zo zeer op Ohm law, maar dat je Engelse termen moet gebruiken.

En je kan nooit uitgeleerd zijn met elektronica, knap dat jij dat wel kan. :D :P :+

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
Als je weet wat de kracht van overdrachtsberekeningen zijn, dan snap je wel wat ik bedoel :)
Zelfs met een Arduino kun je dat nodig hebben

Je was niet helemaal duidelijk in dat je bedoelde dat men met Engels meer kunt vinden.
Dat is inderdaad waar.
Je kunt ook gewoon een goed studieboek kopen :)
(liever nog)

Nee, uitgeleerd ben je inderdaad nooit, dat ben ik helemaal met je eens.
Al is het alleen maar om af en toe te herhalen.
Zo geef ik jou een tip om eens in die mazen, knopen ac-dc equivalenten etc te duiken. 8)

[ Voor 4% gewijzigd door B_FORCE op 01-05-2011 04:57 ]

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Je bedoeld toch niet mechanische overdrachtsberekeningen? geef anders een een voorbeeld.
En welke boek zou hij dan moeten kopen, is wellicht ook wel handig om dat even erbij te vermelden.

En dan nog blijft 99,9% van alle goede boeken en PDF's, etc zijn in het Engels. En de design notes van de fabrikanten die zijn ook erg handig, maar (bijna) allemaal in het Engels. :)

Edit/
Wat bedoel je dan met knopen en mazen? Kijk daar heb je het al, dat is een te algemeen Nederlandse term waar je dus veel mee vind maar weinig tot niks van elektronica. :P

Weet wel wat knopen zijn en mazen, maar kan het zo even niet rijmen met elektronica.

[ Voor 26% gewijzigd door mad_max234 op 01-05-2011 13:16 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Peedy
  • Registratie: Februari 2002
  • Laatst online: 06-11-2024
Ik heb er nu zelfs een aan/uit switchje aan kunnen knopen en een piezo speakertje die hogere pitches geeft naarmate er meer ledjes aan gaan. Nog steeds trés nutteloos, maar wel cool :*)

Edit; heb nog even verder lopen knutselen. Heb er nu ook een IR receiver aangehangen, de IRRemote library van Ken Shirriff gebruikt en de codes van mijn afstandsbediening afgevangen. Het werkt op zich wel, maar zodra hij in de if(irrecv.decode(&results)) loop terecht komt, komt hij daar niet meer uit. Dat houdt in dat de Arduino de rest van mijn code (die over de LEDs en de piezo gaat) niet uitvoert. Dus het is een of-of verhaal geworden. Iemand hier ervaring mee hoe ik dit omzeil?

Huidige code is;
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include "pitches.h"
#include "remote.h"
#include <Servo.h> 
#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

Servo myservo;
int servopos = 0;

const int analogPin = A0; // locatie van pin waar lichtsensor (LDR) op zit aangesloten
const int potpin = A1;
const int buttonPin = 6;

int lightIntensity = 0;
int NoLeds = 0;
int piezo = 0;

int potval;

int ir_pin = 2;             //Sensor pin 1 wired through a 220 ohm resistor
int led_pin = 13;               //"Ready to Recieve" flag, not needed but nice
int debug = 0;               //Serial connection must be started to debug
int start_bit = 2000;           //Start bit threshold (Microseconds)
int bin_1 = 1000;               //Binary 1 threshold (Microseconds)
int bin_0 = 400;                 //Binary 0 threshold (Microseconds)

bool lightsOn = true;

int state = HIGH;      // the current state of the output pin
int reading;           // the current reading from the input pin
int previous = LOW;    // the previous reading from the input pin

long time = 0;         // the last time the output pin was toggled
long debounce = 200;   // the debounce time, increase if the output flickers

int ledPins[] = { 2, 3, 4, 5 };   // op welke pins zitten de leds aangesloten

// int notes[] = {NOTE_D3, NOTE_E3,NOTE_F3,NOTE_G3 };
int notes[] = {NOTE_D5, NOTE_E5,NOTE_F5,NOTE_G5 };
  
void setup() {
  irrecv.enableIRIn(); // Start the receiver
  pinMode(ir_pin, INPUT);
  digitalWrite(led_pin, LOW);     
  for (int thisLed = 0; thisLed < sizeof(ledPins); thisLed++) {
    pinMode(ledPins[thisLed], OUTPUT); // mark ledjes als output
  }
  pinMode(buttonPin, INPUT); 
  pinMode(analogPin,INPUT); // mark lichtsensor als input
  myservo.attach(9);
  myservo.write(servopos);
  Serial.begin(9600); // maak serial connectie voor feedback
}

void loop() {
  
  // IR receiver
  if (irrecv.decode(&results)) {
    if(results.value==LEFT) {
       if(servopos==180) {
        // do nothing
       } else {
         for(servopos=0; servopos < 180; servopos++) {
            myservo.write(servopos);
            delay(5); 
         }
       }
    } else if(results.value==RIGHT) {
       if(servopos==0) {
        // do nothing
       } else {
           for(servopos=180; servopos >= 1; servopos--) {
              myservo.write(servopos);
              delay(5); 
           }
       }
    }
    irrecv.resume(); // Receive the next value
  }
  
  // Button switch part
  reading = digitalRead(buttonPin);
  if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    if (state == HIGH)
      state = LOW;
    else
      state = HIGH;

    time = millis();    
  }
  previous = reading;
  
  // Light sensor
  if(state==HIGH) {
    lightIntensity = analogRead(analogPin); // lees lichtintensiteit uit

    // define number of LEDs that should   
    if(lightIntensity>40) {
      NoLeds = 0;
    } else if(lightIntensity>30) {
      NoLeds = 1;
    } else if(lightIntensity>25) {
      NoLeds = 2;
    } else if(lightIntensity>20) {
      NoLeds = 3;
    } else if(lightIntensity<20) {
      NoLeds = 4;
    }

    if(NoLeds!=0) {
      tone(7,notes[NoLeds-1],10);
    }
    
    // turn first X leds on
    for(int i=0; i<NoLeds;i++) {
      digitalWrite(ledPins[i],HIGH);
    }
    // turn other leds off
    for(int i=NoLeds;i<4;i++) {
      digitalWrite(ledPins[i],LOW);
    }
  } else {
    for(int i=0;i<4;i++) {
      digitalWrite(ledPins[i],LOW);
    }
  }
}

Het zal vast her en der slimmer/beter/sneller kunnen, dit zijn mijn eerste pogingen met C (ik ben met PHP begonnen, en dit is toch echt wel andere koek dan het loose-typed PHP).

[ Voor 131% gewijzigd door Peedy op 01-05-2011 18:46 ]


Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
mad_max234 schreef op zondag 01 mei 2011 @ 13:13:
Je bedoeld toch niet mechanische overdrachtsberekeningen? geef anders een een voorbeeld.
En welke boek zou hij dan moeten kopen, is wellicht ook wel handig om dat even erbij te vermelden.

En dan nog blijft 99,9% van alle goede boeken en PDF's, etc zijn in het Engels. En de design notes van de fabrikanten die zijn ook erg handig, maar (bijna) allemaal in het Engels. :)

Edit/
Wat bedoel je dan met knopen en mazen? Kijk daar heb je het al, dat is een te algemeen Nederlandse term waar je dus veel mee vind maar weinig tot niks van elektronica. :P

Weet wel wat knopen zijn en mazen, maar kan het zo even niet rijmen met elektronica.
Zoek maar gewoon op regeltechniek. ;)
(Dat heeft niks met mechanische dingen te maken)

Knopen en mazen worden in het Engels ook gebruikt, dus dat is een kwestie van vertalen.

Er zijn genoeg goeie boeken zowel in het Nederlands als in het Engels.

MAar anyway, dit gaat een beetje offtopic worden zo

[ Voor 5% gewijzigd door B_FORCE op 01-05-2011 19:03 ]

One World Concepts


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Boeken zijn niet zo belangrijk, datasheet wel. Je kan zonder boeken heel goed alles aanleren, maar je kan vaak circuit niet maken als je geen datasheet leest. En je vind gewoon soms ook gewoon bijna niks als je op nederlandse termen zoekt. Ga je op de Engels term zoeken gaat er hele andere wereld open en vind je ineens tientallen nuttig links. Beter is nog om zowel op nederlandse als Engelse term te zoeken. :)

Maar je hebt gelijk we gaan wat offtopic. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Millgate
  • Registratie: December 2002
  • Niet online
Bij DealExtreme: leuk breadboard shieldje (linkje)

Acties:
  • 0 Henk 'm!

  • B_FORCE
  • Registratie: December 2001
  • Niet online
Millgate schreef op vrijdag 06 mei 2011 @ 09:41:
Bij DealExtreme: leuk breadboard shieldje (linkje)
Wat debiel, als je "Arduino' in de zoekfunctie invult, kom je daar niet op |:(

One World Concepts


Acties:
  • 0 Henk 'm!

  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 11-09 20:13
Dat shield is een overtreding van de licentie waaronder het is vrij gegeven. Het is namelijk gemaakt op basis van de data van Adafruit, maar ze hebben de naam weggepoetst. Dat mag niet, want de licentie is een Creative Commons Share-Alike/Attribute licentie. Je moet de naam dus laten staan.
Zie ook: http://www.adafruit.com/blog/2011/05/02/dealextreme-selling-uncredited-open-source-hardware/

[ Voor 11% gewijzigd door Springuin op 06-05-2011 19:02 ]


Acties:
  • 0 Henk 'm!

  • Sourcey
  • Registratie: Januari 2005
  • Laatst online: 10-09 15:31
Ik heb voor een projectje een ArduinoBT module aan een LED Matrix gekoppeld, en software geschreven om scrolling tekst weer te geven. Ik heb gebruik gemaakt van MAXIM LED Driver chips.

Ik heb de hardware echter niet meer nodig, dus als iemand de ArduinoBT, met of zonder LED Matrix wil overkopen, laat het me weten :) Verzending of ophalen in Eindhoven. Adapter heb ik er ook bij.
Afbeeldingslocatie: http://dl.dropbox.com/u/18731470/2011-05-12%2010.47.59.jpg

[ Voor 3% gewijzigd door Sourcey op 12-05-2011 17:01 ]


Acties:
  • 0 Henk 'm!

  • mrc4nl
  • Registratie: September 2010
  • Laatst online: 21:43

mrc4nl

Procrastinatie expert

wat zijn dat voor chips die daar op zitten? ken je me meer vertellen daarover?

ora et labora


Acties:
  • 0 Henk 'm!

  • Stekeltje
  • Registratie: November 2005
  • Laatst online: 15:48

Stekeltje

Nothing to see here move along

mrc4nl schreef op donderdag 12 mei 2011 @ 18:05:
wat zijn dat voor chips die daar op zitten? ken je me meer vertellen daarover?
Lezen... is ook een vak soms heh...
Sourcey schreef op donderdag 12 mei 2011 @ 16:52:
Ik heb voor een projectje een ArduinoBT module aan een LED Matrix gekoppeld, en software geschreven om scrolling tekst weer te geven. Ik heb gebruik gemaakt van MAXIM LED Driver chips.

Ik heb de hardware echter niet meer nodig, dus als iemand de ArduinoBT, met of zonder LED Matrix wil overkopen, laat het me weten :) Verzending of ophalen in Eindhoven. Adapter heb ik er ook bij.
[afbeelding]

Acties:
  • 0 Henk 'm!

  • Sourcey
  • Registratie: Januari 2005
  • Laatst online: 10-09 15:31
Dat zijn MAX6953 chips, aan te sturen via I2C

Acties:
  • 0 Henk 'm!

  • mrc4nl
  • Registratie: September 2010
  • Laatst online: 21:43

mrc4nl

Procrastinatie expert

Sourcey schreef op donderdag 12 mei 2011 @ 20:44:
Dat zijn MAX6953 chips, aan te sturen via I2C
ah interresant . danke,
kan er namelijk denk ik wel eentje gerbuiken...
ik stuur je wel een dm waneer ik m van je wil kopen.....

ora et labora


Acties:
  • 0 Henk 'm!

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09:32
Weet iemand hoe ik door middel van digitalRead() een puls kan waarnemen, waarbij de puls dmv een NPN aan de - wordt geschakeld als deze op 12 volt werkt?

Hier even mijn situatie.

Om weer eens mijn electronica kennis te upgraden, en het goed leren programmeren met de Arduino wil ik wat leuke projectjes gaan doen.

Mijn volgende project is om een digitale spaarpot te maken.

Ik heb hier een gulden/euro muntproever uit een oude PhotoPlay kast van moneycontrols, SR3 type 2 en een LCD, welke ik wil gebruiken om mijn spaartegoed op weer te geven, hoeveel muntjes van elk soort er in de spaartpot zitten, etc.

Hoe ik het display moet aansturen is geen probleem, het werkend krijgen van de muntproever, is geen probleem. Nu dus echter alleen de verbinding tussen de SR3 en de Arduino, welke parallel wordt aangestuurd.

Ik heb 6 poorten, welke allen refereren naar een bepaalde munt, echter deze krijgt voor 100ms een puls naar de min dmv een NPN, en dit weet ik dus niet aan te sluiten. Hier heb ik een datasheet van de muntproever, waarbij op pagina 16 de interne schakeling wordt weergegeven: http://gmmpro.com/pub/SR3_Technical_Manual.pdf

Ik heb het nu op een breadbord zo aangesloten:

+12v
|
weerstand
|
LED
|
output muntproever

Als ik nu dus een munt erin gooi, krijg ik netjes een pulsje op de LED te zien, maar die puls wil ik dus via de Arduino uitlezen, maar ik ben bang dat als ik deze 1-op-1 aansluit op de Arduino ik misschien de interne poort opblaas?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 11-09 15:21
ik ben zoekende naar oplossingen voor zomer/wintertijd.
via NTP haalt Arduino de UTC tijd op. perfect....
met een variabele ' timezone' tel ik er nu +2 uur bij zodat we in zomertijd =nederlandse tijd houden.
maar met de winter (klok uur naar achter) moet ik weer de Arduino herprogrammeren met +1 uur.

Iemand een bruikbare code voorhanden die dit automatisch tackled rond eind maart en eind oktober?

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

NTP werkt alleen met UTC. Aan de hand van de UTC timestamp weet je twee dingen:
• Hoe laat het is
• welke datum het is.

Aan de hand van de datum weet je of je in de zomer of wintertijd zit. Dat moet je wel even uitrekenen natuurlijk.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • franssie
  • Registratie: Februari 2000
  • Laatst online: 19:55

franssie

Save the albatross

en wat is er uiteindelijk mis met UTC/GMT - het is de enige tijd waarbij je weet hoe laat het was, achteraf kan je altijd nog omrekenen.

franssie.bsky.social | 🎸 Niets is zo permanent als een tijdelijke oplossing | Een goed probleem komt nooit alleen | Gibson guitar Fender Guitar God Damn Guitar


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

franssie schreef op dinsdag 17 mei 2011 @ 00:34:
en wat is er uiteindelijk mis met UTC/GMT - het is de enige tijd waarbij je weet hoe laat het was, achteraf kan je altijd nog omrekenen.
Plus, omrekenen van een timestamp naar de huidige datum is niet simpel en erg foutgevoelig. Ik zou 't eigenlijk ook gewoon op UTC laten.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • wheez50
  • Registratie: Oktober 2003
  • Laatst online: 18:33
Polderdijk schreef op maandag 16 mei 2011 @ 22:13:

Ik heb het nu op een breadbord zo aangesloten:

+12v
|
weerstand
|
LED
|
output muntproever

Als ik nu dus een munt erin gooi, krijg ik netjes een pulsje op de LED te zien, maar die puls wil ik dus via de Arduino uitlezen, maar ik ben bang dat als ik deze 1-op-1 aansluit op de Arduino ik misschien de interne poort opblaas?
Kant en klare oplossingen doen we hier niet aan, maar iemand die een vergelijkbaar probleem heeft:
http://forum.jeelabs.net/node/174

Basically, zorg ervoor dat je een flinke weerstand ertussen houdt en zorg dat de pull-up actief is op de arduino ingang. En je zou kunnen denken aan het gebruik van de +5v van de arduino ipv de +12v. Koppeling naar aarde is koppeling naar aarde.

Mijn stelregel is dat alles wat een ledje rustig laat branden ook ongeveer wel op een arduino poort mag, maar dat ben ik O-)

[ Voor 6% gewijzigd door wheez50 op 17-05-2011 00:57 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Wat nu als de led op 12v is aangesloten?

Geeft geen zekerheid dat de bron die de led laat branden ook geschikt is voor de atmega ingang. Meten is weten, gissen is missen. ;)

In datasheet van de atmega328 staan de cijfers van wat de chip toelaat, per pin en hoeveel in totaal.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 11-09 15:21
franssie schreef op dinsdag 17 mei 2011 @ 00:34:
en wat is er uiteindelijk mis met UTC/GMT - het is de enige tijd waarbij je weet hoe laat het was, achteraf kan je altijd nog omrekenen.
Omdat ik het tijdstip van maximaal vermogen (zonnepanelen) in een dagrapportje wil vermelden.
Daarom stel ik het op prijs dat de klok synchroon loopt, rekening houdend met zomer/wintertijd :)

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • harold65
  • Registratie: Mei 2009
  • Laatst online: 25-12-2022

harold65

Slimme meter:

NielsTn schreef op dinsdag 17 mei 2011 @ 06:26:
[...]


Omdat ik het tijdstip van maximaal vermogen (zonnepanelen) in een dagrapportje wil vermelden.
Daarom stel ik het op prijs dat de klok synchroon loopt, rekening houdend met zomer/wintertijd :)
Op het arduino forum kwam ik deze oplossing tegen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int adjustDstEurope()
{
 // last sunday of march
 int beginDSTDate=  (31 - (5* year() /4 + 4) % 7);
 Serial.println(beginDSTDate);
 int beginDSTMonth=3;
 //last sunday of october
 int endDSTDate= (31 - (5 * year() /4 + 1) % 7);
 Serial.println(endDSTDate);
 int endDSTMonth=10;
 // DST is valid as:
 if (((month() > beginDSTMonth) && (month() < endDSTMonth))
     || ((month() == beginDSTMonth) && (day() >= beginDSTDate))
     || ((month() == endDSTMonth) && (day() <= endDSTDate)))
 return 7200;  // DST europe = utc +2 hour
 else return 3600; // nonDST europe = utc +1 hour
}

Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away


Acties:
  • 0 Henk 'm!

  • harold65
  • Registratie: Mei 2009
  • Laatst online: 25-12-2022

harold65

Slimme meter:

Polderdijk schreef op maandag 16 mei 2011 @ 22:13:
Als ik nu dus een munt erin gooi, krijg ik netjes een pulsje op de LED te zien, maar die puls wil ik dus via de Arduino uitlezen, maar ik ben bang dat als ik deze 1-op-1 aansluit op de Arduino ik misschien de interne poort opblaas?
Je hebt geluk. De output van je apparaat is open-collector. Dit betekent dat de uitgang naar gnd schakelt als deze 'aan' is en een hoge impedantie heeft als deze 'uit' is.
Door de uitgang via een weerstand met de 5V van de arduino te verbinden zorg je er voor dat bij 'uit' de spanning op de arduino input hoog wordt. De interne pull-up weerstand op de arduino is hiervoor speciaal bedoeld.
Je schakelt de pullup aan door 'high' naar de input te schrijven.
Enige nadeel van deze configuratie is dat de signalen geïnverteerd binnenkomen.

Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away


Acties:
  • 0 Henk 'm!

  • Malandro
  • Registratie: September 2007
  • Laatst online: 09:22
Hallo allemaal, even een vraagje.

Een Arduino lijkt mij geschikt voor het volgende, maar ben er niet 100% zeker van;
Ik heb een apparaat dat met RS232 signalen werkt en de bedoeling is dat na een bepaald signaal een RS232 signaal terug aan het apparaat gegeven wordt. Nu had ik een RS232 PLC op de kop getikt, maar die werkt met vooraf bepaalde signalen en deze kunnen niet gewijzigd worden.

Een Arduino kan je toch geheel programmeren zoals je zelf wilt en daardoor met ieder willekeurig RS232 signaal laten werken?

Bedankt.

Acties:
  • 0 Henk 'm!

  • Bloodhoundje
  • Registratie: September 2003
  • Laatst online: 21:19
Dat klopt helemaal, als jij weet met welke settings het andere apparaat communiceert, kan je met behulp van een arduino heel simpel een commando terugsturen. Houd er wel rekening mee dat we het hier op TTL niveau sturen. Als jouw apparaat dit niet doet moet er een converter tussen ( Een MAX232). :)

Acties:
  • 0 Henk 'm!

  • Malandro
  • Registratie: September 2007
  • Laatst online: 09:22
Technokiddy schreef op dinsdag 17 mei 2011 @ 09:47:
Dat klopt helemaal, als jij weet met welke settings het andere apparaat communiceert, kan je met behulp van een arduino heel simpel een commando terugsturen. Houd er wel rekening mee dat we het hier op TTL niveau sturen. Als jouw apparaat dit niet doet moet er een converter tussen ( Een MAX232). :)
Hmm dat is een goede, moet ik even uitzoeken. Bedankt voor de reactie.

Acties:
  • 0 Henk 'm!

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09:32
wheez50 schreef op dinsdag 17 mei 2011 @ 00:56:
[...]


Kant en klare oplossingen doen we hier niet aan, maar iemand die een vergelijkbaar probleem heeft:
http://forum.jeelabs.net/node/174

Basically, zorg ervoor dat je een flinke weerstand ertussen houdt en zorg dat de pull-up actief is op de arduino ingang. En je zou kunnen denken aan het gebruik van de +5v van de arduino ipv de +12v. Koppeling naar aarde is koppeling naar aarde.

Mijn stelregel is dat alles wat een ledje rustig laat branden ook ongeveer wel op een arduino poort mag, maar dat ben ik O-)
Nou ik hoef ook geen kant-en-klare oplossing, het probleem is gewoon dat ik er even helemaal niet bij komt met mijn gedachte hoe dit nu precies werkt.

Ik weet dat de Arduino zo'n 50mA max kan 'geven', dat de Arduino een interne voorschakelweerstand heeft, en een HIGH geeft als ik 5V op een poort aansluit.

Echter werkt het apparaat wat ik moet uitlezen op 12V, en meet ik tussen de massa en de 6 poorten 12V bij inactiviteit, en 0V bij een puls. M.a.w. als ik een LED en weerstand via de +12V aansluit, gaat deze alleen branden op het moment dat de interne transistor naar massa gaat schakelen.

Volgens mij kan Arduino max 5V uitlezen, dus 12V erop hangen, lijkt me een slecht plan. Nu ben ik zeer bekent met de wet van Ohm, dus ik moet er voor zorgen dat ik 7V over een weerstand krijg, zodat er 5V over blijft om aan de ingang van de Arduino te hangen.

Maar aangezien de wet van Ohm een waarde I nodig heeft, maar mij onbekend is, kan ik dus geen weerstand uitrekenen. Ik weet immers alleen de maximale belasting, dus de muntproever kan niet meer dan 50mA leveren, en de Arduino kan niet meer dan 50mA leveren. Echter weet ik niet hoeveel stroom er zal vloeien op het moment van het aan elkaar knopen van deze poorten. En het testen met de multimeter er tussen lijkt me niet handig, omdat ik dan bang ben meteen de poorten op te blazen.

Maar hoe reken ik dan uit welke weerstand ik nodig heb, om er tussen te schakelen, immers is er geen waarde I om middels wet van Ohm te rekenen.
Door de uitgang via een weerstand met de 5V van de arduino te verbinden zorg je er voor dat bij 'uit' de spanning op de arduino input hoog wordt. De interne pull-up weerstand op de arduino is hiervoor speciaal bedoeld.
Je schakelt de pullup aan door 'high' naar de input te schrijven.
Enige nadeel van deze configuratie is dat de signalen geïnverteerd binnenkomen.
Het nadeel dat HIGH eigenlijk LOW is, maakt mij niet zoveel uit. Maar dan nog weet ik niet hoe ik moet berekenen welke weerstand ik nodig hebt?

M.a.w., ik krijg het nou nog niet in mijn gedachte hoe nou precies de 'flow' van de stroom is, omdat je feitelijk met 2 voedingsbronnen werkt (massa zit aan elkaar), maar dat je een signaal geeft op het moment van schakelen naar massa??

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Acties:
  • 0 Henk 'm!

  • franssie
  • Registratie: Februari 2000
  • Laatst online: 19:55

franssie

Save the albatross

NielsTn schreef op dinsdag 17 mei 2011 @ 06:26:
[...]
Omdat ik het tijdstip van maximaal vermogen (zonnepanelen) in een dagrapportje wil vermelden.
Daarom stel ik het op prijs dat de klok synchroon loopt, rekening houdend met zomer/wintertijd :)
Wil je dan juist niet UTC+1 ; de zonnetijd?
Anders krijg je bij het verspringen van de winter/zomertijd steeds een sprongetje van 1 uur in je data.

franssie.bsky.social | 🎸 Niets is zo permanent als een tijdelijke oplossing | Een goed probleem komt nooit alleen | Gibson guitar Fender Guitar God Damn Guitar


Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 11-09 15:21
@Franssie: 's nachts leveren mijn zonnestroompanelen weinig, dus een sprongetje van 0Watt naar 0Watt valt niet zo erg op ;)

@Harold: ik zag die code ook, moet em nog eens testen

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
@Polder, het is ook wel met weerstandsdelertje op te lossen (als je maar grote weerstanden gebruikt om niet te belasten), of een willekeurig buffertje gemaakt met willekeurig IC, maar de vraag blijft een beetje waarom niet gewoon de LED aan de 5V hangen, nieuwe benodigde weerstand opnieuw uitrekenen, en dat direct op je arduino aansluiten. Dat de rest op 12V werkt maakt niet uit, gezien dat het een open collector output is, je kan je LED gewoon op 5V hangen.

Acties:
  • 0 Henk 'm!

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09:32
Nou ik geloof dat ik nu een beetje door krijg hoe alles werkt. Ik kwam per toeval tegen, dat als ik Google op 'Open Collector' ik ineens veel meer resultaten krijg :) Zou leren we nog wat.

Ook kwam ik het fenomeen tegen hoe je in de Arduino je de arduino intern de pull-up resistor inschakelt.

Ik heb nu de volgende code + setup, mijn vraag is nu eigenlijk, is dit correct?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
in de setup:

pinMode(Euromunt, INPUT);
digitalWrite(Euromunt, HIGH); <-- schakel pull-up resistor in

En ik heb het zo aangesloten:

+5V
|
10k weerstand
|
|<--- NPN output muntproever
|
Inputpin Arduino

In mijn code heb ik dus in de loop een check die kijkt of de waarde anders wordt, en laat dan LED 13 branden. En dat gaat ook netjes, ik krijg dus een pulsje te zien als ik een 1 euro munt in de proever gooi.

Maar werkende betekent natuurlijk niet altijd dat het helemaal correct is? Dus bestaat er toch nog een kans dat ik m'n ingang op de lange termijn kapot maakt, ondanks dat het nu wel werkt?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Ah vooral ook als je geen LED daar direct op wil aansluiten, dan mag je die 10k weglaten, je interne pull up van je arduino doet dat al (danwel mag je die interne pull up weglaten, dan kan je als je nog meer veiligheid wilt hebben een weerstand tussen de output van je teller en je arduino doen, zolang je weerstand van 100 ohm ofzo doet kan je dat ook doen als je interne pull up gebruikt).


Enige manier waarop dit kapot hoort te kunnen gaan is wanneer je je pin als hoge output zet, zolang je hem als input definieert hoort het goed te gaan.

Acties:
  • 0 Henk 'm!

  • wheez50
  • Registratie: Oktober 2003
  • Laatst online: 18:33
@polderdijk: Ik heb 'm door - je laatste schema zet ofwel +5v/gnd op de uitgang, ofwel +12v :)

Juist tussen de arduino en de 12v stroombron wil je dus een signaal. En dat hoeft in principe heeel weinig aan milliamperes te zijn. Maar de arduino wil veel minder voltjes. Namelijk rond de drie tot vijf.

Lees nog eens http://forum.jeelabs.net/node/174 In principe is dit namelijk hetzelfde probleem, alleen geinverteerd. Oftewel je krijgt het signaal geinverteerd binnen. Signaal is hoog als lampje uit is.

Ook de laatste opmerking: het is nooit ongezond om een weerstand tussen schema en ingang te plakken.
Dan krijg je dus (copy/paste):
code:
1
2
3
4
5
+ 4-20 o------x--------|27K resistor|--> a/d INPUT
               | 
             150 OHM 
               |
     - o------x---------> ground

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
@wheez, ik begrijp niet echt wat het doel is van dat schema precies, maar hij kan onmogelijk 12V op die uitgang hebben staan, het is een open collector output die op een weerstand waar 5V voeding op staat is aangesloten (intern dan wel externe pull up). Daar kan je gewoon geen 12V krijgen.

Acties:
  • 0 Henk 'm!

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09:32
furby-killer schreef op woensdag 18 mei 2011 @ 07:57:
@wheez, ik begrijp niet echt wat het doel is van dat schema precies, maar hij kan onmogelijk 12V op die uitgang hebben staan, het is een open collector output die op een weerstand waar 5V voeding op staat is aangesloten (intern dan wel externe pull up). Daar kan je gewoon geen 12V krijgen.
Klopt idd zoals jij aangeeft. Het apparaat heeft nu de hele nacht aangestaan, en alle Arduino poortjes doen het nog prima, en gebruik nu alleen de interne pull-up van de Arduino.

Ik kwam alleen in verwarring doordat ik met de multimeter aan de slag ging, en ik dus 12V mat tussen de massa en de 'PIN' als er geen munt wordt gedetecteerd, en heel even naar 0V terug valt indien er een puls kwam (logisch, omdat beide dan massa zijn).

Hierdoor dacht ik dus dat er ook echt 12V op de Arduino kwam te staan als ik deze 1-op-1 zou aansluiten, als er geen puls was, maar dat is dus gewoon bedrog van m'n multimeter, althans, denk ik :?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Dat was neem ik aan toen je hem (via LED) op 12V had aangesloten? Maar nu heb je hem op een interne pull up naar 5V aangesloten, als je nu meet moet je 5V meten, en 0V als je een muntje erin gooit.

Acties:
  • 0 Henk 'm!

  • wheez50
  • Registratie: Oktober 2003
  • Laatst online: 18:33
my fault: meten is weten, dus ik dacht 12v = 12v. Maar verkeerd meten is natuurlijk ook mogelijk :)
Maar blij dat het werkt.

Zelf heb ik ook wel eens gedacht dat ergens gewoon geen 12v mogelijk kon zijn (autotechniek). Maar uiteindelijk was ik maar wat blij dat ik niet gewoon mijn logica volgde, maar ook gewoon de multimeter liet praten.

(edit: verkeerd meten: blame it on the multimeter...)

[ Voor 7% gewijzigd door wheez50 op 18-05-2011 14:38 ]


Acties:
  • 0 Henk 'm!

  • SkyThes
  • Registratie: Januari 2008
  • Laatst online: 10:22
Wellicht interessant voor de student die ook weleens met LabVIEW werkt :)
https://decibel.ni.com/co...iew-interface-for-arduino

Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 11-09 15:21
ik heb de DST-code geintegreerd in de applicatie voor de PV_monitor.
rekening houdend met de parameter (3600 of 7200) heb ik die als Unsigned Long gemarkeerd (dus 3600UL of 7200UL).

Als ik dat toevoeg aan de UTC-tijd via simpele rekensom,
dan blijkt de NTP-synchronisatie niet te werken (blijft komen met 'syncing time' ).

ergo: voorlopig maar simpel UTC hanteren, en in de output/email aangeven dat tijdstip UTC betreft.

Jammer genoeg werkt de SMTP-mail-proces nog niet erg betrouwbaar: soms wel soms ook geen email....

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-09 17:46

Atmoz

Techno!!

Graag zou ik met een Arduino de meterstand van mijn Kwh-meter uitlezen.
Het is een meter met zo'n draaischijf (wat was ook alweer de juiste benaming voor dit ding?)
Dus ik zal iets met een infrarood sensor moeten maken.

Ik had thuis nog een OPB708 (Optek) liggen:

Afbeeldingslocatie: http://www.mouser.com/images/optek/images/opb708-709_740-746.jpg

Deze werkt uitstekend. Hij ziet heel goed het verschil tussen zwart en iets wat reflecteert.
MAAR: helaas wel alleen op 3mm afstand. Mijn draaischijf zit +/- 10mm achter het schermpje.

Dus wie weet er een IR sensor die op 10mm afstand werkt?
Ik heb vanmorgen al een hele tijd zitten zoeken, maar kom niet direct iets tegen wat zou werken.
De hele OPB reeks van Optek werkt niet op 10mm afstand... 5mm was het "verst" mogelijke.

Dus als iemand mij hiermee zou kunnen helpen ---> _/-\o_

Acties:
  • 0 Henk 'm!

  • Stekeltje
  • Registratie: November 2005
  • Laatst online: 15:48

Stekeltje

Nothing to see here move along

atmoz schreef op zondag 22 mei 2011 @ 12:48:
Graag zou ik met een Arduino de meterstand van mijn Kwh-meter uitlezen.
Het is een meter met zo'n draaischijf (wat was ook alweer de juiste benaming voor dit ding?)
Dus ik zal iets met een infrarood sensor moeten maken.

Ik had thuis nog een OPB708 (Optek) liggen:

[afbeelding]

Deze werkt uitstekend. Hij ziet heel goed het verschil tussen zwart en iets wat reflecteert.
MAAR: helaas wel alleen op 3mm afstand. Mijn draaischijf zit +/- 10mm achter het schermpje.

Dus wie weet er een IR sensor die op 10mm afstand werkt?
Ik heb vanmorgen al een hele tijd zitten zoeken, maar kom niet direct iets tegen wat zou werken.
De hele OPB reeks van Optek werkt niet op 10mm afstand... 5mm was het "verst" mogelijke.

Dus als iemand mij hiermee zou kunnen helpen ---> _/-\o_
Misschien is dit een alternatief. Met deze stroommeter kan je door middel van continue monitoren (waarschijnlijk een aparte thread op je arduino als dat kan!) meten hoeveel stroom er liep. Door die gemete hoeveelheid *230 volt te doen heb je het verbruikte vermogen!

[ Voor 6% gewijzigd door Stekeltje op 22-05-2011 13:51 ]


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-09 17:46

Atmoz

Techno!!

Stekeltje schreef op zondag 22 mei 2011 @ 13:49:
[...]

Misschien is dit een alternatief. Met deze stroommeter kan je door middel van continue monitoren (waarschijnlijk een aparte thread op je arduino als dat kan!) meten hoeveel stroom er liep. Door die gemete hoeveelheid *230 volt te doen heb je het verbruikte vermogen!
Dat zou inderdaad kunnen, maar daar moet volgens mij een kabel doorheen he?
Dus dan moet ik de stroom loskoppelen... (en dat is op geen enkele manier mogelijk in dit project!!)

Graag zou ik dus een oplossing vinden om deze analoge/draaischijf Kwh-meter uit te lezen zonder veranderingen te doen aan de huidige installatie.

Ze hebben trouwens wel veel andere leuke dingen op die website, dus daarvoor ook nog bedankt!!
---> bookmarked 8)

Acties:
  • 0 Henk 'm!

  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 11-09 20:13
atmoz: cny70 misschien een idee?

Acties:
  • 0 Henk 'm!

  • CrashOverDrive
  • Registratie: Augustus 2005
  • Laatst online: 20:07
Springuin schreef op zondag 22 mei 2011 @ 16:55:
atmoz: cny70 misschien een idee?
Die werkt ook slecht door glas heen.
Ik heb er vorig jaar ook meegespeelt in combinatie met plexi :P
sensor - 5mm lucht - plexi wil nog wel werken, maar als het plexi dichterbij de sensor komt niet meer. Als je het plexi direct op de sensor legt, krijg je eigenlijk altijd een signaal dat er iets opligt.
Voor glas + erachter 10mm lucht is het dus niet bruikbaar :-(

Acties:
  • 0 Henk 'm!

  • Stekeltje
  • Registratie: November 2005
  • Laatst online: 15:48

Stekeltje

Nothing to see here move along

atmoz schreef op zondag 22 mei 2011 @ 16:08:
[...]


Dat zou inderdaad kunnen, maar daar moet volgens mij een kabel doorheen he?
Dus dan moet ik de stroom loskoppelen... (en dat is op geen enkele manier mogelijk in dit project!!)

Graag zou ik dus een oplossing vinden om deze analoge/draaischijf Kwh-meter uit te lezen zonder veranderingen te doen aan de huidige installatie.

Ze hebben trouwens wel veel andere leuke dingen op die website, dus daarvoor ook nog bedankt!!
---> bookmarked 8)
Deze kan gewoon over de te meten kabel heen geklikt worden hierdoor zal het project niet stil komen te liggen en kan je wel je meting uitvoeren. Ik neem aan dat je wel weet hoe je een stroomtang/sensor gebruikt?

De oplossing die jij heb bedacht klinkt heel moeilijk namelijk wat met zo'n sensor heel gemakkelijk op te lossen is. (Hoe krijg je bijvoorbeeld de infrasensor GOED gepositioneerd?)

[ Voor 10% gewijzigd door Stekeltje op 22-05-2011 20:28 ]


Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 11-09 15:21
sensor van enymate.nl misbruiken? ik weet echter niets van specs, maar die kan wel door glas/perspex heen kijken...

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • harold65
  • Registratie: Mei 2009
  • Laatst online: 25-12-2022

harold65

Slimme meter:

atmoz schreef op zondag 22 mei 2011 @ 12:48:
Graag zou ik met een Arduino de meterstand van mijn Kwh-meter uitlezen.
Het is een meter met zo'n draaischijf (wat was ook alweer de juiste benaming voor dit ding?)
Dus ik zal iets met een infrarood sensor moeten maken.

Ik had thuis nog een OPB708 (Optek) liggen:

[afbeelding]

Deze werkt uitstekend. Hij ziet heel goed het verschil tussen zwart en iets wat reflecteert.
MAAR: helaas wel alleen op 3mm afstand. Mijn draaischijf zit +/- 10mm achter het schermpje.

Dus wie weet er een IR sensor die op 10mm afstand werkt?
Ik heb vanmorgen al een hele tijd zitten zoeken, maar kom niet direct iets tegen wat zou werken.
De hele OPB reeks van Optek werkt niet op 10mm afstand... 5mm was het "verst" mogelijke.

Dus als iemand mij hiermee zou kunnen helpen ---> _/-\o_
Het volgen van de draaischijf op je ferrarismeter is niet echt simpel. Toch is het wel te doen.
Ik heb een standaard blauwe LED en een fototransistor van Conrad gebruikt:
Afbeeldingslocatie: https://lh4.googleusercontent.com/_xdiQpxplPXw/Tduomi0mKaI/AAAAAAAAXVA/yroSNmDPvn8/f_sensor1.jpg
De blauwe leds zorgen er voor dat de rode streep op mijn draaischijf een goed contrast heeft met de rest. Als je meter een zwarte streep heeft maakt de kleur niet zo veel uit.
Afbeeldingslocatie: https://lh6.googleusercontent.com/_xdiQpxplPXw/TduonA2mVHI/AAAAAAAAXVE/Ahytq2IPm24/f3_rood.jpg
De sensor is dubbel uitgevoerd omdat mijn meter regelmatig achteruit draait als de zon schijnt :)
Afbeeldingslocatie: https://lh4.googleusercontent.com/_xdiQpxplPXw/TduonfvfeGI/AAAAAAAAXVI/bAuJ_758D4k/f_sensor2.jpg
Hier het geheel:
Afbeeldingslocatie: https://lh3.googleusercontent.com/_xdiQpxplPXw/TduonlJ144I/AAAAAAAAXVM/0_0NoUwZOok/f4_opmeter.jpg
De twee fototransistoren zijn aangesloten op analoge ingangen zodat ik in de software kan spelen met de gevoeligheid. In dit geval levert de schijf een waarde van 150-200 en het rode streepje een waarde van 50-100.
Helaas verloopt de gevoeligheid een beetje waardoor er in de software een aantal trucs moeten worden toegepast
Code is beschikbaar voor de liefhebbers.
Data wordt elke minuut naar een account op Pachube.com gestuurd.

Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away


Acties:
  • 0 Henk 'm!

  • QuasaR
  • Registratie: December 2000
  • Laatst online: 19:47

QuasaR

One ring to rule them all

Ik heb wel interesse in het geheel.
Heb je ook de layout / schema's van de PCB ?

Daddy of 3 :)


Acties:
  • 0 Henk 'm!

  • Bloodhoundje
  • Registratie: September 2003
  • Laatst online: 21:19
Oke hier ook een leuk probleem wat ik probeer te tekkelen:

Ik heb een tijdje terug een set 433mhz zenders/ontvangers gekocht. Ik had hier het idee mee om draadloos een rgb strip te besturen via pwm (3 kanalen nodig dus).

Ik maak voor de 433mhz modules gebruik van Virtualwire.c, Dit is een library ontwikkeld voor betrouwbare overdracht van data met deze modules.

Nu komt het probleem, op het moment dat de Virtualwire library wordt gebruikt, werkt de pwm functie niet meer van de arduino. de enige modus zijn dan nog 0 (uit) of 255 (aan).
Ik heb verder zitten zoeken hoe dit komt en heb begrepen dat de Virtualwire library gebruikt maakt van dezelfde hardwaretimer als de hardware pwm van de arduino, dit is ook het geval als ik een andere pin gebruik voor de communicatie.

Ik heb al gepoogd dit probleem op te lossen doormiddel van softwarepwm met de SoftPWM library, deze zou op timer2 moeten werken. Hiermee kan ik wel een andere waarde weergeven en de intensiteit veranderd ook, alleen bevriest de gehele arduino op het moment dat dit wordt uitgevoerd (Ik denk dat dit komt omdat het ontzettend intensief is om toe te passen).

In beide gevallen hangt de arduino en moet ik hem hardware resetten, alleen met softPWM kan ik 1 malig de intensiteit instellen en dan bevriest het.

Heeft iemand misschien een suggestie hoe ik dit probleem kan teckelen?

http://code.google.com/p/...ftPWMLibraryDocumentation
Linkje softPWM Library info

http://www.open.com.au/mikem/arduino/VirtualWire.pdf
Linkje VirtualWire Docu

http://www.open.com.au/mikem/arduino/
VirtualWire Download

Alvast bedankt voor het meedenken :)

Acties:
  • 0 Henk 'm!

  • sander817
  • Registratie: Januari 2001
  • Laatst online: 16:20

sander817

5260 Wp + 13,2GJ Zonneboiler

harold65 schreef op dinsdag 24 mei 2011 @ 15:03:
[...]

Het volgen van de draaischijf op je ferrarismeter is niet echt simpel. Toch is het wel te doen.
Ik heb een standaard blauwe LED en een fototransistor van Conrad gebruikt:
knip
let wel dat deze code niet op alle arduino's icm ethernetschields, althans, ik krijg het bij mij niet aan de gang de code van harold

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
@Techno, wat nu als je softwarematig er nog bij zet dat zijn PWM waarde steeds iets moet veranderen? (Bijvoorbeeld iets maken dat hij fade). Gezien dat hij wel die waarde vasthoudt crashed niet je complete uC, anders had je PWM ook niet meer gewerkt.

Ik ga er dan vanuit dat het probleem zal zijn dat je softPWM teveel resources gebruikt waardoor VirtualWire niet genoeg tijd heeft om uit te lezen en bit errors krijgt, waarnaar hij maar besluit om de hele handel te negeren vanwege teveel fouten. Of is het ook zo dat je helemaal niet meer met arduino kan praten (ik weet niet precies hoe dat werkt, nooit arduino gebruikt, wel atmels).
Sowieso zou ik verwachten dat VirtualWire geen resources gebruikt als er niks wordt verstuurd/ontvangen.


Als het probleem puur is dat je PWM teveel resources gebruikt kan je zelf een PWM routine schrijven (redelijk makkelijk en vaak efficienter dan libraries, gezien dat die de neiging hebben bloated te zijn om met elke mogelijke situatie om te kunnen gaan, iig dat is mijn ervaring met avr gcc libraries, not impressed met de meeste daarvan).

Acties:
  • 0 Henk 'm!

  • harold65
  • Registratie: Mei 2009
  • Laatst online: 25-12-2022

harold65

Slimme meter:

sander817 schreef op dinsdag 24 mei 2011 @ 16:52:
[...]
let wel dat deze code niet op alle arduino's icm ethernetschields, althans, ik krijg het bij mij niet aan de gang de code van harold
Volgens mij werkt bij jou alleen de upload naar Pachube niet goed, in combinatie met de opslag op SD.
Het uitlezen van de sensoren zelf gaat prima.

Een indicatie van de code: Let op! dit is niet zonder meer te compileren. Het gaat om het idee.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// check and update all counters every 5ms.
void Every5ms()
{
    CheckESensor();
}

void loop()
{   
    // reset counters at midnight (01:00 in the summer)
    if(day()!=lastDay)
    {
        lastDay=day();
        eToday=0;
    }
    // send mail at 21:00 (22:00 in the summer)
    if(hour()!=lastHour)
    {
        lastHour=hour();
        // see if it is time to send a new mail
        if(lastHour==21)
        {
            SendMail();
        }
    }
    // update every minute
    if(minute()!=lastMinute)
    {
        lastMinute=minute();
        CalculateActualE();
        SetupEThresholds();
        SendToPachube();
    }
    delay(1000);
}

De ferraris functies:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// variables and functions to measure the ferraris wheel rotation
// using 2 sensors to detect direction
int  eThreshold1 = 1095;
int  eThreshold2 = 830;
long eSamples = 0;
// keep track of the analog value range
int  eLow1, eLow2;
int  eHigh1, eHigh2;
// the state determine the action
int  state = 1;    // 1=on/on 2=off/on 2=off/off 4=on/off
// Use a ring buffer to calculate the average power of the last 5 samples
const int bufSize = 5;
long eBuffer[bufSize];
int  bufPos = 0;
long eValue1 = 0;
long eValue2 = 0;
long eReadCounter = 0;

void SetupEBuffer()
{
    for(int i=0; i<bufSize; i++) eBuffer[i] = 0;   
}
    
void CheckESensor()
{
    // measure the analog inputs 3 times to eliminate noise
    eValue1 += analogRead(EINPUT1);
    eValue2 += analogRead(EINPUT2);
    eReadCounter++;
    if(eReadCounter==3)
    {
        // determine the digital state
        bool eInput1 = eValue1 > eThreshold1;
        bool eInput2 = eValue2 > eThreshold2;
        // keep track of the range
        if(eLow1 > eValue1) eLow1 = eValue1;
        if(eLow2 > eValue2) eLow2 = eValue2;
        if(eHigh1 < eValue1) eHigh1 = eValue1;
        if(eHigh2 < eValue2) eHigh2 = eValue2;
        eSamples++;
        // depending on the level of the inputs go to the next state
        switch(state)
        {
        case 1:
            if(!eInput1 && eInput2)
            {
                // update counters
                eCounter += 4; // one edge is 4 Wh
                eToday += 4;
                // goto next state
                state = 2;
            }
            if(eInput1 && !eInput2)
            {
                state = 4;
            }
            break;
        case 2:
            if(!eInput1 && !eInput2)
            {
                state = 3;
            }
            if(eInput1 && eInput2)
            {
                eCounter -= 4; // one edge is 4 Wh
                eToday -= 4;
                state = 1;
            }
            break;                 
        case 3: // intermediate state just to make the sequence complete
            if(eInput1 && !eInput2)
            {
                state = 4;
            }
            if(!eInput1 && eInput2)
            {
                state = 2;
            }
            break;
        case 4: // intermediate state just to make the sequence complete
            if(eInput1 && eInput2)
            {
                state = 1;
            }
            if(!eInput1 && !eInput2)
            {
                state = 3;
            }
            break;     
        }   
        // ready for the next sample
        eValue1 = 0;
        eValue2 = 0;
        eReadCounter = 0;
    }
}

void CalculateActualE()
{
    // does the buffer contain a valid value?
    if(eBuffer[bufPos]==0)
    {
        eActual=0;
    }
    else
    {
        eActual = 12 * (eCounter - eBuffer[bufPos]); // assuming a buffer of 5 and calculation every minute
    }
    // store last counter in ring buffer 
    eBuffer[bufPos] = eCounter;
    bufPos++;
    if(bufPos==bufSize) bufPos=0;
}

void SetupEThresholds()
{
    if(eSamples > 10000)
    {
        // if the detected range is large enough we have seen bright and dark pulses
        // then setup the threshold on 25% of the range
        if(eHigh1-eLow1 > 100) eThreshold1 = eLow1 + (eHigh1-eLow1)/4;
        if(eHigh2-eLow2 > 100) eThreshold2 = eLow2 + (eHigh2-eLow2)/4;
        // start measuring new range
        eLow1 = 5000;
        eLow2 = 5000;
        eHigh1 = 0;
        eHigh2 = 0;
        eSamples = 0;
    }
}

Schema van 1 sensor:
Afbeeldingslocatie: https://lh6.googleusercontent.com/_xdiQpxplPXw/TdvVHMuOwzI/AAAAAAAAXV0/mEwM-ImL39g/Schema.jpg

[ Voor 1% gewijzigd door harold65 op 24-05-2011 18:05 . Reden: schema toegevoegd. ]

Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away


Acties:
  • 0 Henk 'm!

  • mrc4nl
  • Registratie: September 2010
  • Laatst online: 21:43

mrc4nl

Procrastinatie expert

ik had eventjes een vraagje, ik ben bezig met een temp sensor de temperataruur weer te geven op een lcd scherm, de aansluitingen kloppen ,maar de waarde blijft voor de temp. op 0 staan, waarschijnlijk ergens iets fout in de code...

ik gebruik
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void loop() {
int sensorPin = A4;    // select the input pin for the potentiometer
int sensorValue = 0;  // variable to store the value coming from the sensor
long tempp = 0;

  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):

  // print the number of seconds since reset:
    sensorValue = analogRead(sensorPin);
    tempp = sensorValue/1024;
    lcd.setCursor(1, 1);
   lcd.print(tempp);
   lcd.setCursor(6, 1);
   lcd.print(sensorValue);
   
  delay(600);
}


op het lcd scherm is "tempp" 0
en sensorValue= 948

kan iemand vertellen waarom tempp altijd 0 is?
syntaxfoutje ofzo?

ora et labora


Acties:
  • 0 Henk 'm!

  • Rmg
  • Registratie: November 2003
  • Laatst online: 19:47

Rmg

mrc4nl schreef op donderdag 26 mei 2011 @ 19:59:
ik had eventjes een vraagje, ik ben bezig met een temp sensor de temperataruur weer te geven op een lcd scherm, de aansluitingen kloppen ,maar de waarde blijft voor de temp. op 0 staan, waarschijnlijk ergens iets fout in de code...

ik gebruik
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void loop() {
int sensorPin = A4;    // select the input pin for the potentiometer
int sensorValue = 0;  // variable to store the value coming from the sensor
long tempp = 0;

  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):

  // print the number of seconds since reset:
    sensorValue = analogRead(sensorPin);
    tempp = sensorValue/1024;
    lcd.setCursor(1, 1);
   lcd.print(tempp);
   lcd.setCursor(6, 1);
   lcd.print(sensorValue);
   
  delay(600);
}


op het lcd scherm is "tempp" 0
en sensorValue= 948

kan iemand vertellen waarom tempp altijd 0 is?
syntaxfoutje ofzo?
948 / 1024 = 0,92578125

En een long is een heel getal, En longs worden niet afgerond maar achter de comma wordt gewoon weggegooid

wil je getallen <1 dan moet je een float gebruiken.

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Nu online

g0tanks

Moderator CSA
Ik heb een paar 7-segment displays besteld, type 120561K, maar ik krijg ze niet aan de praat op mijn Arduino. Ik heb alles aangesloten volgens deze tutorial , maar er gaat niks aan. Ik vermoed dat ik de verkeerde besteld heb en dat de Arduino niet genoeg spanning kan leveren o.i.d. Zou iemand voor mij even in de datasheet willen kijken of ik iets mis?

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Mr_x007
  • Registratie: Oktober 2001
  • Laatst online: 14:17
Weet je zeker dat het de goede zijn?
Kan je makkelijk testen door pin 3 en 8 even aan de +5v te hangen en een van de ander aan de gnd
Als dat niet werkt het omdraaien dus pin 3 en 8 aan de gnd en een van de ander aan de +5v.
Als geen van de 2 iets laat oplichten heb je een heel ander type, maar je hebt waarschijnlijk de common anode ipv de common cathode te pakken.

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Nu online

g0tanks

Moderator CSA
Hmm, zo werkt het wel ja (+5V op pin 3 en 8). Ik heb dus inderdaad een common anode, waar ik helaas niet zoveel aan heb i.c.m. de Arduino. :(

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Natuurlijk heb je daar wel wat aan, en kan je prima aansturen met arduino. Je kan toch gewoon 1 pin (common anode) aan 5v hangen, en dan de 7 pinnen sinken. Je doet het dus precies andersom, maakt voor de arduino niks uit of je nu de plus of de min schakelt.

Atmega kan zowel sourcen als sinken, beide hebben zelfde limiet.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • H143
  • Registratie: Juli 2006
  • Laatst online: 19:28
weet iemand ook of het mogelijk is om een arduino uno op een linksys wrt160nl router aantesluiten.
op de router wil ik dan een webinterface draaien om mijn nodo aan te sturen. de wrt160nl draait op dd-wrt.

zo kan ik vanaf elke lokatie naar mijn router surfen en mijn verlichting aan en uitschakelen zonder dat er een pc de hele dag staat te brullen.

mvg Alex

Acties:
  • 0 Henk 'm!

  • Bloodhoundje
  • Registratie: September 2003
  • Laatst online: 21:19
Als je beschikking hebt over de interne RS232 aansluiting van je router en er b.v. openwrt op draait kan je berichten sturen naar je com-poort en bijvoorbeeld door middel van een simpele php pagina dat soort dingen regelen, Ook zou je dan met behulp van Cron-Jobs tijdschema's kunnen maken.

Acties:
  • 0 Henk 'm!

  • H143
  • Registratie: Juli 2006
  • Laatst online: 19:28
Technokiddy schreef op zaterdag 04 juni 2011 @ 21:27:
Als je beschikking hebt over de interne RS232 aansluiting van je router en er b.v. openwrt op draait kan je berichten sturen naar je com-poort en bijvoorbeeld door middel van een simpele php pagina dat soort dingen regelen, Ook zou je dan met behulp van Cron-Jobs tijdschema's kunnen maken.
ik weet niet of hij een interne RS232 aansluiting heeft wel beschikt hij over een USB poort.
ik heb ook nog een ASUS wl500g liggen deze beschikt over 2 usb aansluitingen mischien dat deze wel werkt.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Nee dat zal niet zomaar gaan werken. sowieso kan je router niet netwerk delen via die usb zover ik weet, dus die gooit roet in het water. En tweede is dat arduino niet zomaar via de usb verbonden kan worden, zal nooit gaan werken.

Koop een arduino en los ethernet schield en je heb binnen 10min een arduino server online die je aan elke router kan hangen. ;)

-Andere hobby- -

Pagina: 1 ... 8 ... 96 Laatste