Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Ik kreeg vanmiddag mijn 2x China El Cheapo Arduino boardjes binnen, en ja hoor. Fake FTDI. En dus niet werken op mijn Mac. Gelukkig is dit inmiddels een bekend probleem, en na het downloaden van een dubieuze driver werkt het gelukkig weer. Volgende keer koop ik gewoon officiele Arduino's!

Alhier de fix op het Arduino forum.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Promy schreef op zaterdag 07 februari 2015 @ 16:10:
@mad_max234: tnx voor de reply. Ik had het relais inderdaad al apart gevoed zoals jij beschrijft. Ik had de arduino gevoed door de usb aan te sluiten EN op de 5V pin (en gnd) een usb voeding aan te sluiten( van een telefoon). Zo was het niet stabiel.
Nog eens wat verder wachten of de huidige setup stabiel is (ging mis na een 20tal uur...)
Dus je had de gnd en 5v met elkaar verbonden? Dat is niet de manier, alleen GND aan elkaar en VCC apart houden, zijn wel manieren om voedingen aan elkaar te koppelen maar dat laten we even buiten beschouwing wat dat is niet van toepassing, gewoon relais apart voeden van het signaal (optocouplers) circuit.

Dit het het schema van dat bordje, normaal zit er jumper tussen VCC en JD-VCC, zodat relais via 5v pin doorverbonden zijn en ze dus gevoed worden voor de 5v pin van de 10p header. Als je de jumper eraf haalt dan kan je via JD-VCC het circuit voeden.
Afbeeldingslocatie: http://tweakers.net/ext/f/54nESKz2m0kNFYQ4QlaQ7JrA/medium.jpg

In tegenstelling wat ik dus eerst zei dat je externe voeding op VCC moest aansluiten dat is fout, moet dus op JD-VCC! Komt omdat ik het schema er niet bij heb gepakt, dan ga je fouten maken. :P

Edit/
Zie 2mA sink staan in plaatje, heeft 1K weerstand dat moet wel in die range zijn. Dat is dus wat de arduino per poort te verduren krijg, dat kan nooit probleem geven. Moet het denk ik dus zoeken in aansluiten of capaciteit van je voeding.

Maar afgaan op je laatste post denk ik dat je de verkeerd pin heb gekozen om externe voeding op aan te sluiten. Want als het de capaciteit zou zijn van de externe voeding bij inschakelen van de relais zou de arduino nooit problemen mee moeten krijgen, al zou de externe voeding helemaal inzakken door het inschakelen van de relais, dan nog zal de voeding van de arduino nergens last van hebben en zal de arduino gewoon doordraaien.

Had tijd terug dat plaatje voor iemand anders al van wat uitleg voorzien, stond nog in mijn dropbox, schoot me ineens te binnen. :)
Afbeeldingslocatie: https://dl.dropboxusercontent.com/u/69089896/foto/relais.jpg
5v aqua comp is in jou geval 5v arduino.
Gele is stroomkring van de arduino, mag je met usb voeden geen probleem, die loopt van 5v arduino naar input pin van de arduino, dan naar gnd en terug naar de usb, kring gesloten.
Blauw gaat stromen als arduino input laag gaat, dan zal led gaan branden in de optocoupler die transistor inschakel in de optocoupler, die vervolgens Q1 inschakelt, en loopt dan naar gnd en terug naar externe voeding.
Rood gaat dan stromen die dus de inschakel stroom moet leveren, die loopt door de spoel van de relais heen vervolgens word de relais ingeschakeld en gaat dan door Q1 weer terug naar externe voeding via GND.

GND van externe voeding als arduino moeten aan elkaar uiteraard.

[ Voor 37% gewijzigd door mad_max234 op 07-02-2015 20:02 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
RobV schreef op zaterdag 07 februari 2015 @ 18:48:
Ik kreeg vanmiddag mijn 2x China El Cheapo Arduino boardjes binnen, en ja hoor. Fake FTDI. En dus niet werken op mijn Mac. Gelukkig is dit inmiddels een bekend probleem, en na het downloaden van een dubieuze driver werkt het gelukkig weer. Volgende keer koop ik gewoon officiele Arduino's!

Alhier de fix op het Arduino forum.
Of je koopt Leonardo/pro micro kloons, heb je dat probleem ook niet :+

Als je iets van eBay haalt en er staat op dat er een ftdi in zit, kun je er donder op zeggen dat het een counterfeit is. Gelukkig zijn er ook zat aanbieders die overgestapt zijn naar genuine cheapass Chinese chipjes.

[ Voor 16% gewijzigd door mcDavid op 07-02-2015 21:12 ]


Acties:
  • 0 Henk 'm!

  • verbraakje
  • Registratie: Februari 2006
  • Laatst online: 17-09 18:53

verbraakje

🚦

Ik heb ongeveer 20 arduino boardjes liggen met CH340I chip die werken prima!
Volgende keer even opletten met bestellen dus

Veiligheid staat voor op http://www.juniorverkeerslichten.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Zeker als die maar 6 euro kost. :P

Wellicht is het beter om arduino nano met CH340 erop te kopen, die zijn van zichzelf al goedkoop en worden niet nagemaakt. CH340 heeft volgens mijn geen problemen, heb wel eens usb->serial printje gehad met ch340 erop. PL2303 zijn wel wat problemen mee, die zou ik wel beetje mijden, op sommige pc geven ze problemen bij andere niet.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Het is geen issue, meestal maak ik mijn arduino's zelf op basis van een kale 328 die ik dan met een ISP/UsbAsp flash, maar ik kreeg er voor de $6 ook nog 2 usb kabels bij en een arduino heb je nooit teveel.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:31
Hackaday: Unbricking A Counterfeit FTDI Chip

[ Voor 4% gewijzigd door ThinkPad op 08-02-2015 11:01 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
De ch340 zijn goedkoper en heb je geen gezeur, voor mensen die er eentje willen halen is het denk ik beter dat ze voor ch340 gaan(of echte natuurlijk), dan betaal je minder dan de fake ftdi's, 3 a 4 euro voor arduino nano met ch340 en weet je zeker wat je krijgt, nou ja bijna zeker. :D

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 21:40
@mad_max234: zo had ik hem inderdaad aangesloten. Even de test gedaan met die aparte seriele poort (pl2303hx op usb) en ik merk nu dat het de poort is die disconnect na een tijdje (ik was opeens ttyUSB2 ipv ttyUSB3... dus nog eens wat verder zoeken...
en blijkbaar zijn alle usb apparaten dan gerest... (en gestart met die pl2303hx) :|

[ Voor 14% gewijzigd door Promy op 08-02-2015 16:26 ]


Acties:
  • 0 Henk 'm!

  • Djesse8999
  • Registratie: April 2013
  • Laatst online: 16-09 19:17

Djesse8999

Houd van (T)weekend!

Maar eens kijken of dit iets is

Heb de 9axis 9DOF sensor al besteld, net ook de Arduino pro mini erbij besteld.
Lijkt lekkerder te werken dan de TrackIR van 170 euro :o

kon het niet laten voor €10 :9

Acties:
  • 0 Henk 'm!

  • haarbal
  • Registratie: Januari 2010
  • Laatst online: 21:08
Beetje a la de edtracker.
http://edtracker.org.uk/

Ik wou ook kijken of ik met dat GY 85 bordje iets kon maken, maar na het solderen van de header zijn de 3.3V en de G_int nu verbonden met de ground :S, vraag me af of ie nog werkt als ik hem op 5V zet en polling gebruik. Ik heb nog een GY 85, die maar wat voorzichtiger solderen I guess.

Mechwarrior Online: Flapdrol


Acties:
  • 0 Henk 'm!

  • Whiskeyjack
  • Registratie: Maart 2004
  • Laatst online: 18-09 09:24
hallo. ik heb een arduino leonardo bordje gekocht en wil een beetje spelen met stappen motors.

de arduino kan opzichzelf rechtstreeks een stappenmotor aansturen met 4 touwtjes. de "stepper" functie it standaard in de library.

weet iemand het voordeel van een appart stepper/servo shield?

Acties:
  • 0 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 17-09 21:08
Een arduino kan op zichzelf geen stepper aansturen, het kan de benodigde stromen niet leveren. De library zorgt enkel voor de correcte pulsen om een stepperdriver aan te sturen.

Acties:
  • 0 Henk 'm!

  • Whiskeyjack
  • Registratie: Maart 2004
  • Laatst online: 18-09 09:24
ok dat dacht ik eerst ook maar vond deze linke
https://www.pjrc.com/teensy/td_libs_Stepper.html
wel geen arduino maar teensy, zie ook geen losse driver of zit die daar geintegreerd op de motor?

Acties:
  • 0 Henk 'm!

  • AlexanderB
  • Registratie: Maart 2007
  • Laatst online: 09-05 19:05

AlexanderB

7800 rpm

met een fatsoenlijke stepper driver hoef je trouwens nog maar 2 touwtjes te sturen, 1 voor richting, en de ander is 1 step per puls (of half/kwart/etc.. microstepping)

Acties:
  • 0 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 17-09 21:08
Whiskeyjack schreef op zondag 15 februari 2015 @ 23:48:
ok dat dacht ik eerst ook maar vond deze linke
https://www.pjrc.com/teensy/td_libs_Stepper.html
wel geen arduino maar teensy, zie ook geen losse driver of zit die daar geintegreerd op de motor?
Op de foto zie ik al onmiddellijk enkele transistors staan, de motor wordt dus niet gevoed rechtstreeks uit de teensy maar via die transistoren :) Al worden die op hun beurt uiteraard geschakeld door de teensy. De persoon in kwestie heeft zijn eigen driver gemaakt met transistoren:
Afbeeldingslocatie: http://sub.allaboutcircuits.com/images/quiz/02423x01.png

Een erg krachtige sturing zal dit niet zijn aangezien die transistoren niet veel stroom kunnen schakelen. De beste resultaten behaal je trouwens met choppering aangezien de hogere stuurspanning zorgt voor meer koppel. Nadeel is een complexere sturing maar daarvoor zijn er tegenwoordig genoeg intelligente drivers te vinden.

Maar voor eenvoudige toepassing of om wat te experimenteren is de schakeling met transistoren niet slecht. En goedkoop! :+ Ideaal ook om meer te leren over transistoren en stepper motors! En je zal afhankelijk van de toepassing snel leren wat de beperkingen zijn :) Want van zo'n kant en klare driver, leer je uiteraard niet veel :P Wat wil je precies doen?

[ Voor 68% gewijzigd door D-Three op 16-02-2015 08:06 ]


Acties:
  • 0 Henk 'm!

  • Gruwel84
  • Registratie: Februari 2014
  • Laatst online: 20-08 16:46
Hallo Allen,

Ik ben nu een tijdje met een arduino in de weer omdat ik voor mijn hobby (simracing) een button box wil maken, een soort controlepaneel om allerlei functies aan toe te kennen om tijdens het rijden te bedienen.

Eerder heb ik met een arduino uno en 6 TM1638 units (8-digit 7 segment) een shift light indicator gemaakt, met allerlei informatie tijdens het rijden en dat smaakte naar meer om aan mijn hobby toe te voegen.

Zie YouTube: Iracing arduino display 6 units.

Goed, terug naar een button box.....
Ik wil met begulp van unojoy (https://code.google.com/p/unojoy/) een arduino uno dmv atmel flip flashen, maar loop tegen een aantal problemen aan.
De code van unojoy lukt gewoon prima, en krijg ook interactie met de aangesloten knoppen of rotary encoders. hiervoor zit een tooltje erbij om te zien wat je aangesloten hebt en hoe dit met PC of PS3 communiceert.

Het probleem zit bij mij bij het flashen met atmel flip, dit werkt om te beginnen niet op WIN8.1 (compatibiliteitsproblemen)
Om dit te omzeilen heb ik een virtuele omgeving met WINXP (WIN7 ga ik evt ook nog proberen) opgezet, en dit werkt.
Echter; om de chip te flashen moet ik de arduino in DFU modus zetten.
Ook dit lukt, maar hij wordt dan niet meer herkend door de virtuele machine alszijnde arduino in DFU modus.
Dit flashen is nodig om de arduino herkend te laten worden alszijnde een HID (universele) joystick

Hoe kan ik ervoor zorgen dat de virtuele machine de arduino herkend als deze in DFU modus is?
Overigens is het een DX arduino, die het verder wel 100% doet.

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 11-09 20:13
Zie je hem wel in device manager? Zo niet moet je even in je virtuele machine omgeving doorgeven dat hij dat apparaat ook aan je VM moet linken. Bij virtualbox kun je dat via het menu of de icoontjes in de statusbalk doen.

In DFU krijgt hij waarschijnlijk een ander pid en vid en je virtuele omgeving is niet ingesteld die door te verbinden.

Acties:
  • 0 Henk 'm!

  • Gruwel84
  • Registratie: Februari 2014
  • Laatst online: 20-08 16:46
In device manager zie ik hem in arduino mode in de virtuele omgeving, zodra ik schakel naar DFU staat er 'unknown device' (als ik inderdaad ook unknown device in de statusbalk van virtualbox selecteer). Ik denk dat je gelijk hebt mbt het doorverbinden in de virtuele omgeving. Het echte probleem is eigenlijk dat atmel flip niet werkt op win8.1 (krijg een error 2 code). Iemand hier suggesties voor? Dan heb ik die hele virtuele omgeving niet nodig.
Ik moet wel toegeven dat mijn kennis van arduino niet verder reikt dan deze 2 projecten. Maar mijn probleem ligt niet bij het boardje

[ Voor 12% gewijzigd door Gruwel84 op 17-02-2015 08:43 ]

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 11-09 20:13
Geen ervaring, maar misschien kun je dit eens proberen: https://dfu-programmer.github.io/

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Flip werkt onder win8 bij mij prima, heb dat uitgebreid getest, gebruik flip bij aantal projecten, heb verder ook geen klachten gehad dat niet werkte onder win8.1 Misschien java er niet opstaan of verkeerde versie van flip gepakt.

Je wilt dus de ATmega16U2 (of ATmega8U2) flashen? Want DFU werkt alleen met atmega met ingebouwde USB, atmega328p heeft dat niet.

Wat je moet doen om in DFU bootloader te starten is pin(verschilt per serie) laag trekken vervolgens de chip te resetten, dan zal de chip in bootloader mode gaan. Uno zou daar al een aansluitingen voor moeten hebben waar je header op kan solderen. plaatje
Dan behoord de pc de usb te herkennen, zal iets van "atmel DFU" komen te staan in device manager.
Daarna moet je naar flip map om handmatig de drivers te installeren, kies de juiste juiste OS, 32bit of 64bit.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Whiskeyjack
  • Registratie: Maart 2004
  • Laatst online: 18-09 09:24
bedankt d-three, toch maar even een controller aanschaffen denk ik dan.

Acties:
  • 0 Henk 'm!

  • Gruwel84
  • Registratie: Februari 2014
  • Laatst online: 20-08 16:46
mad_max234 schreef op dinsdag 17 februari 2015 @ 19:48:
Flip werkt onder win8 bij mij prima, heb dat uitgebreid getest, gebruik flip bij aantal projecten, heb verder ook geen klachten gehad dat niet werkte onder win8.1 Misschien java er niet opstaan of verkeerde versie van flip gepakt.
In DFU mode zetten lukt wel, maar het herkennen is het probleem in de virtuele omgeving.
Overigens Flip 3.4.7 voor windows (incl WIN8) nogmaals geinstalleerd op win8.1 met de nieuwste 64bit versie van JRE.
Dit gebeurt er dan:

https://www.dropbox.com/s...02-17%2020.57.50.png?dl=0

Enig idee wat er fout gaat?
In de virtuele omgeving werkt het allemaal meteen.

Ik ga ook nog wel eens testen in een WIN7 virtuele omgeving.

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
je kan ook cmd line gebruiken om flip aan te sturen, dat gebruik ik om via eigen update software flip te bedienen. FLIP de applicatie is alleen maar GUI voor flip het protocol, altijd handig dubbele namen. :D

Batchisp werkt wellicht wel gewoon, dat is onderdeel van flip. Of wat Springuin voorsloeg, dat is volgens mijn andere GUI voor flip api.

Ik zou niet weten wat error2 is, weet niet eens zeker van wie die foutmelding afkomt, van cmd, java, windows, etc?

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Gruwel84
  • Registratie: Februari 2014
  • Laatst online: 20-08 16:46
Ik denk van windows.

MSDN: System Error Codes (0-499) (Windows)

ERROR_FILE_NOT_FOUND
2 (0x2)
The system cannot find the file specified.

Voor wat betreft alternatieve software, er zit bij unojoy een .bat bestand dat een script of iets dergelijks uitvoert in FLIP. Normaliter zou je op het .bat bestand klikken en wordt de actie voor je uitgevoerd (arduino naar HID)
Ik ben dus denk ik afhankelijk van flip, omdat ik er zelf nou ook weer niet zo heel veel van weet.

Ik ben iig wel wat wijzer geworden van de door jullie geboden oplossingen. dank hiervoor!

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • BJR98
  • Registratie: Mei 2013
  • Laatst online: 08-09 21:48
Ik wil zo goedkoop mogelijk een arduino(hoeft niet offcieel te zijn), Welke zouden jullie mij aanraden, want er zijn er zo veel op Ebay, wil het UNO of Mega model.
Ik ben een echte beginner op dit gebied en wil hier eens graag mee leren werken.

Acties:
  • 0 Henk 'm!

  • Djesse8999
  • Registratie: April 2013
  • Laatst online: 16-09 19:17

Djesse8999

Houd van (T)weekend!

Heb zelf deze gekocht, werkt prima.
Heb ook een echte Arduino (uno R3 SMD edition) alle programma's werken gewoon prima op beide Arduino's :)

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Grappig, ze rusten de Uno kloons tegenwoordig dus ook met CH340's uit. Daarmee lijkt het eigenlijk meer op een duemillanove kloon. Als je een "echte" uno-kloon wilt moet je er eentje zoeken met Atmega16u4. Die zijn alleen wel wat duurder.

Als je echt de goedkoopste zoekt moet je een pro mini nemen, die zijn vanaf een dollar of 2 te koop. Of als je wel USB wilt (wel zo handig natuurlijk), een nano. Die zijn voor onder de 3 dollar te krijgen op eBay.
Ik weet niet of de formfactor van belang is voor je, als je shields wilt gebruiken is een fullsize arduino makkelijker, zo niet is zo'n kleintje juist veel makkelijker voor op een breadboard.

Maar persoonlijk zou ik zeggen ga voor een Leonardo-kloon (of een pro micro). Die zijn net ff wat krachtiger. En of je nou 4 of 7 dollar uitgeeft zal je toch (hopelijk) ook niet heel lang wakker van hoeven liggen.

Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
Ik ben bezig met een systeempje waarbij je op een knopje drukt en er dan iets aan gaat.
Niet heel erg rocket science maar ik loop toch vast.
Want zoals ik het nu doe, met delay(10000) (iets moet 10 seconden aan blijven), kan ik de andere dingen niet aankrijgen doordat hij 10 seconden gaat zitten wachten.

Wat zou ik in plaats van delay kunnen gebruiken?
Kan zo 1 2 3 niets vinden er over, en al helemaal niet in begruipelijke taal.

Acties:
  • 0 Henk 'm!

  • Djesse8999
  • Registratie: April 2013
  • Laatst online: 16-09 19:17

Djesse8999

Houd van (T)weekend!

ProAce schreef op zondag 22 februari 2015 @ 22:09:
Ik ben bezig met een systeempje waarbij je op een knopje drukt en er dan iets aan gaat.
Niet heel erg rocket science maar ik loop toch vast.
Want zoals ik het nu doe, met delay(10000) (iets moet 10 seconden aan blijven), kan ik de andere dingen niet aankrijgen doordat hij 10 seconden gaat zitten wachten.

Wat zou ik in plaats van delay kunnen gebruiken?
Kan zo 1 2 3 niets vinden er over, en al helemaal niet in begruipelijke taal.
http://playground.arduino.cc/Code/AvoidDelay heb je hier wat aan?

Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
Zag die inderdaad ook toen ik eht net gepost had, nu alleen nog snappen hoe de code werkt.
Thanx, kan ik in ieder geval verder.

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:31
ProAce schreef op zondag 22 februari 2015 @ 22:09:
Ik ben bezig met een systeempje waarbij je op een knopje drukt en er dan iets aan gaat.
Niet heel erg rocket science maar ik loop toch vast.
Want zoals ik het nu doe, met delay(10000) (iets moet 10 seconden aan blijven), kan ik de andere dingen niet aankrijgen doordat hij 10 seconden gaat zitten wachten.

Wat zou ik in plaats van delay kunnen gebruiken?
Kan zo 1 2 3 niets vinden er over, en al helemaal niet in begruipelijke taal.
http://arduino.cc/en/Tutorial/BlinkWithoutDelay

Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
Dan kom ik op het volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const int button1 = 2;
const int led1 =  8;

unsigned long Timer1;    

void setup() {
  pinMode(led1, OUTPUT);   
  pinMode(button1, INPUT);    
}

void loop(){

  if digitalRead(button1)== HIGH {
    Timer1= millis() , digitalWrite(led1, HIGH);
  }
  if millis()-Timer1 >= 10000UL{
    digitalWrite(led1,LOW);
  }
}


maar krijg de volgende foutmeldingen:
code:
1
2
3
Blink.ino: In function 'void loop()':
Blink:15: error: expected `(' before 'digitalRead'
Blink:17: error: expected `(' before 'millis'

Daar horen toch helemaal geen '(' voor? :?

Acties:
  • 0 Henk 'm!

  • Kaalus
  • Registratie: Januari 2010
  • Niet online
Jawel, een if statement moet tussen ( ) ;)
Dus, if(voorwaarde == 1) { doe_actie(); }

Acties:
  • 0 Henk 'm!

  • walletje-w
  • Registratie: November 2007
  • Laatst online: 20:57
ProAce schreef op zondag 22 februari 2015 @ 22:28:

code:
1
2
3
4
5
6
7
  if digitalRead(button1)== HIGH {
    Timer1= millis() , digitalWrite(led1, HIGH);
  }
  if millis()-Timer1 >= 10000UL{
    digitalWrite(led1,LOW);
  }
}
Plaats digitalRead(button1)== HIGH en millis()-Timer1 >= 10000UL tussen haakjes en het zou moeten werken.

[ Voor 35% gewijzigd door walletje-w op 22-02-2015 22:33 . Reden: Edit Spuit11 ]


Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
Okee bedankt, toch maar weer opnieuw bij de basics beginnen, toch te lang geleden :+

[edit] Het werkt nu, alleen gaan beide leds aan :( , morgen weer een dag.

[ Voor 31% gewijzigd door ProAce op 22-02-2015 22:39 ]


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
ProAce schreef op zondag 22 februari 2015 @ 22:33:
Okee bedankt, toch maar weer opnieuw bij de basics beginnen, toch te lang geleden :+

[edit] Het werkt nu, alleen gaan beide leds aan :( , morgen weer een dag.
Hoe heb je ze aangesloten? En wat is je volledige code nu?

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
Ik kom er niet uit, om de een of andere reden gaan met de volgende code beide leds branden :?

code:
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
const int button1 = 2;
const int button2 = 4;
const int ledRed =  8;
const int ledGreen =  10;

unsigned long Timer1;    
unsigned long Timer2; 



void setup() {
  pinMode(ledRed, OUTPUT); 
  pinMode(ledGreen, OUTPUT);  
  pinMode(button1, INPUT); 
  pinMode(button2, INPUT);   
}

void loop(){

  if (digitalRead(button1)== HIGH) {
    Timer1= millis(); 
    digitalWrite(ledRed, HIGH);
  }
  if (digitalRead(button2)==HIGH) {
    Timer2= millis();
    digitalWrite(ledGreen,HIGH);
  }
  if (millis()-Timer1 >= 2000UL){
    digitalWrite(ledRed,LOW);
  }
  if (millis()-Timer2 >= 2000UL){
    digitalWrite(ledGreen,LOW);
  }

}


Schema komt eraan.

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Ik zou in je init routine ook even beide outputs op LOW zetten, dan weet je zeker wat daar de status van is.

Dus even dit toevoegen:

digitalWrite(ledRed,LOW);
digitalWrite(ledGreen,LOW);


Je kan dat ook even veranderen in

digitalWrite(ledRed,HIGH);
digitalWrite(ledGreen,LOW);

Als dan nog beide leds aangaan zonder een knop in te drukken dan weet je dat er wat fout gaat in je schema

[ Voor 35% gewijzigd door SnowDude op 23-02-2015 10:49 ]

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
Afbeeldingslocatie: http://puu.sh/g97xr/b5d0e747ec.png
Dit is het schema.

Snap niet helemaal wat je met init routine bedoeld.
Als je bedoelt in "setup ()" dan maakt dit geen verschil.

En het probleem is juist dat als ik op 1 van de 2 knoppen druk beide leds aangaan, niet dat ze constant aanstaan.

[ Voor 23% gewijzigd door ProAce op 23-02-2015 10:56 ]


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
ProAce schreef op maandag 23 februari 2015 @ 10:55:
[afbeelding]
Dit is het schema.

Snap niet helemaal wat je met init routine bedoeld.
Als je bedoelt in "setup ()" dan maakt dit geen verschil.

En het probleem is juist dat als ik op 1 van de 2 knoppen druk beide leds aangaan, niet dat ze constant aanstaan.
Dat kan kloppen, je hebt ook allebei de knoppen aan elkaar verbonden.

Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
mcDavid schreef op maandag 23 februari 2015 @ 10:59:
[...]

Dat kan kloppen, je hebt ook allebei de knoppen aan elkaar verbonden.
d'oh, nu zie ik het ook :X 8)7

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Precies, beide inputs zitten gewoon aan elkaar geschakeld

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
Sorry van het verdoen van jullie tijd, werkt nu perfect :)

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Als je toch bezig bent, voeg gelijk even twee voorschakelweerstanden toe aan je LED's voordat je de boel frituurt.

Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
mcDavid schreef op maandag 23 februari 2015 @ 11:05:
Als je toch bezig bent, voeg gelijk even twee voorschakelweerstanden toe aan je LED's voordat je de boel frituurt.
Daar komen straks transistoren te zitten, was alleen even een test opstelling die nu niet meer nodig is.

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Dan zou ik nog voorschakelweerstanden voor je torretjes zetten

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • BJR98
  • Registratie: Mei 2013
  • Laatst online: 08-09 21:48
Djesse8999 schreef op zondag 22 februari 2015 @ 16:20:
Heb zelf deze gekocht, werkt prima.
Heb ook een echte Arduino (uno R3 SMD edition) alle programma's werken gewoon prima op beide Arduino's :)
Maar die pinnen op het plaatje, moet je die er zelf nog in solderen, of wat is dat precies
Nogmaals ben echt een beginner en zou me nog niet durven wagen aan het solderen ervan, aangezien mijn soldeerbout ruk is

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Zo te zien heeft dat model extra headers die je er (optioneel) zelf op kunt solderen. Zul je waarschijnlijk niet nodig hebben. En zo wel: het solderen van datsoort headers stelt echt geen drol voor. Vroeg of laat zul je toch wel wat moeten solderen dus als je dat niet durft kun je er beter helemaal niet aan beginnen.

Acties:
  • 0 Henk 'm!

  • BJR98
  • Registratie: Mei 2013
  • Laatst online: 08-09 21:48
Het is niet dat ik niet durft te solderen, maar dat mijn huidige gewoon te slecht is om precies te werk te gaan.
Iemand nog een tip voor een goede en goedkope soldeerbout?

[ Voor 55% gewijzigd door BJR98 op 23-02-2015 16:51 ]


Acties:
  • 0 Henk 'm!

  • BJR98
  • Registratie: Mei 2013
  • Laatst online: 08-09 21:48
Ik wil een arduino mega kopen, maar zit er eigenlijk nog een verschil tussen deze 3 of is het enige verschil de kleur van het pcb. Of raden jullie mij een imitatie arduino af.

http://www.ebay.com/itm/S...ain_0&hash=item3f2403d1b0

http://www.ebay.com/itm/N...ain_0&hash=item233a63ea6c

http://www.ebay.com/itm/G...ain_0&hash=item2c976ca1f9

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Niks mis met ebay Arduino clones:

net gemaakt: samen $7
[YouTube: http://youtu.be/8KYzuAgTHrE]
sorry voor de out-of-focus

bij sparkfun of adafruit was ik $40 kwijt geweest.

[ Voor 13% gewijzigd door RobV op 23-02-2015 17:19 ]

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
BJR98 schreef op maandag 23 februari 2015 @ 16:15:
Het is niet dat ik niet durft te solderen, maar dat mijn huidige gewoon te slecht is om precies te werk te gaan.
Iemand nog een tip voor een goede en goedkope soldeerbout?
Ik heb deze Velleman bout laatst voor nog geen 20 tientjes gekocht bij riton in heemstede.

http://www.velleman.eu/products/view/?id=385738

Afbeeldingslocatie: http://tweakers.net/ext/f/FcrMi8D9tBcud4fgIB1oH5dl/medium.jpg

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
BJR98 schreef op maandag 23 februari 2015 @ 17:05:
Ik wil een arduino mega kopen, maar zit er eigenlijk nog een verschil tussen deze 3 of is het enige verschil de kleur van het pcb. Of raden jullie mij een imitatie arduino af.

http://www.ebay.com/itm/S...ain_0&hash=item3f2403d1b0

http://www.ebay.com/itm/N...ain_0&hash=item233a63ea6c

http://www.ebay.com/itm/G...ain_0&hash=item2c976ca1f9
Die middelste gebruikt ook weer de (niet standaard) CH340g als USB/serial converter. Voor de rest zal het weinig uitmaken idd. Sommige kloons voegen soms wat extra functionaliteit toe of zo, maar dat lijkt me hier niet het geval.

Acties:
  • 0 Henk 'm!

  • C.44
  • Registratie: Juni 2001
  • Laatst online: 05-08-2020

C.44

TurboCharged Supra Driver

RobV schreef op maandag 23 februari 2015 @ 17:18:
Niks mis met ebay Arduino clones:

net gemaakt: samen $7
[video]
sorry voor de out-of-focus

bij sparkfun of adafruit was ik $40 kwijt geweest.
Nice! Bi-directionele level converter? Ik kan me nog herinneren dat ik dagen aan 't zoeken was waarom dat schermpje het bij mij niet deed op 5v. Backlight vond 12v ook niet zo grappig :x

Wat ben je er mee van plan?

Toyota Supra 3.0i Turbo Targa in Panther Black Mica - 300D || 30D || 10-20 || 50mm 1.8 mk1 || 18-55 || 17-85 || 75-300 || Giottos || Manfrotto || Cullmann || Kenko || Hoya


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
C.44 schreef op dinsdag 24 februari 2015 @ 01:21:
[...]


Nice! Bi-directionele level converter? Ik kan me nog herinneren dat ik dagen aan 't zoeken was waarom dat schermpje het bij mij niet deed op 5v. Backlight vond 12v ook niet zo grappig :x

Wat ben je er mee van plan?
Geen idee... Ik zit wel te denken aan een bewatering voor mijn kruidentuintje maar dan is zon display ietwat overkill.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • A1AD
  • Registratie: Juli 2013
  • Laatst online: 18-09 11:46
BJR98 schreef op maandag 23 februari 2015 @ 17:05:
Ik wil een arduino mega kopen, maar zit er eigenlijk nog een verschil tussen deze 3 of is het enige verschil de kleur van het pcb. Of raden jullie mij een imitatie arduino af.
Ik koop mijn spullen meestal hier.

- Deze advertentie is geblokkeerd door Pi-Hole -


Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
Ik heb goede ervaring met de volgende shop, gewoon in NL dus snel in huis: http://www.tinytronics.nl/shop/index.php?route=common/home

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
ProAce schreef op dinsdag 24 februari 2015 @ 15:20:
Ik heb goede ervaring met de volgende shop, gewoon in NL dus snel in huis: http://www.tinytronics.nl/shop/index.php?route=common/home
Goed om te weten als ik snel iets nodig heb. Dank je.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 17-09 18:23
RobV schreef op maandag 23 februari 2015 @ 15:11:
Dan zou ik nog voorschakelweerstanden voor je torretjes zetten
Wat voor voorschakel weerstand zou jij dan plaatsen?
Ik gebruik TIP31C's.
Kan hier namelijk niks over vinden (google skillz zijn niet zo heel hoog).

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
Arduino IDE 1.6 is released!
After almost two years “in the making” we’re thrilled to announce the availability of the Arduino IDE 1.6.0. The latest version of the development environment used by millions of people across the globe brings about a lot of improvements.

Since the day we started developing the first 1.5 version we have received a lot of feedback, suggestions and contributions from our vibrant community and we would like to thank you all for your passion and good will: thank you everyone, you rock! :-)

We are glad to say that 1.6.0 includes a lot of new features. Here is a not so brief list of them:

- Support for multiple platforms
- Boards are detected and listed on “ports list” menu together with the serial port
- Drivers and IDE are now signed for Windows and MacOSX
- Improved speed of build process
- Autosave when compiling/uploading sketch
- A lot of improvements of the serial monitor (faster, backed by modern JSSC serial library instead of old RXTX)
- Find/replace over multiple tabs
- Improved lots of Arduino API libraries (String, Serial, Print, etc.)
- Tools & toolchains upgrades (avr-gcc, arm-gcc, avrdude, bossac)
- Command line interface
- IDE reports both sketch size and static RAM usage
- Editor shows line numbers
- Scrollable menus when many entries are listed
- Upload via network (Yún)
- HardwareSerial has been improved
- USB has got some stability and performance improvements
- SPI library now supports “transactions” for better interoperability when using multiple SPI devices at the same time
- Better support to 3rd party hardware vendors with configuration files (platform.txt and boards.txt)
- Submenus with board configuration can now be defined
- Fix for upload problems on Leonardo, Micro and Yún.
- Libraries bundled with Arduino have been improved and bugfixed, in particular: Bridge, TFT, Ethernet, Robot_Control, SoftwareSerial, GSM
- A lot of minor bugs of the user interface have been fixed

There is still lots of room for improvement, of course. Don’t forget to report any issue you find, either on Github or on the Arduino forum: your help is very much appreciated. It doesn’t matter if you are not a tech specialist: every feedback adds value.

We are already working on release 1.6.1, with some very cool features we will announce in the coming weeks.

The IDE is available from the newly redesigned Download page.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Kuch, wat heb ik de afgelopen 2 weken gedraaid dan? (of was dat de beta)

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
Geen idee, ik las vandaag pas dat ie er was :P

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Raven schreef op dinsdag 24 februari 2015 @ 19:00:
Geen idee, ik las vandaag pas dat ie er was :P
Geeft niet.. Dat gebeurt mij ook zo vaak. Ik moet zeggen, nadat ik mijn libraries en mijn boards.txt opnieuw heb ingericht ben ik er erg over te spreken.

In other news: zojuist 2 uur van mijn tijd verspilt aan een onbetrouwbaar breadboard. Die is dus gelijk op de stapel 'recycling' geplaatst, want ik heb dus geen zin om daar nog eens tegenaan te lopen. Tja, niet alles uit China is betrouwbaar blijkt maar weer (hoewel ik er erg fan van ben, want dan blijft het voor mij betaalbaar).

Ik had mijn CD4050 ic's binnengekregen en wilde de bi-directional level converter vervangen. Ik kreeg de handel niet lekker draaiend, dus was het een goed moment om de Rigol DS1054Z eens aan te sluiten om te kijken wat er eigenlijk aan de hand was. Ik denk dat ik het apparaat nu een beetje begin te begrijpen!

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • jbhc
  • Registratie: Juli 2007
  • Laatst online: 14-09 18:54
Ik ben een behoorlijke noob in de arduino wereld en ben er gisteravond mee aan het stoeien geweest.

Ik probeer een timerfunktie te maken voor een projectje maar loop tegen het volgende aan:

Als ik een berekening uitvoer met een "unsigned long"en een "int" en er is een negatieve uitkomst dan wordt deze positief. Weet iemand hoe ik dit oplos?

Klein stukje voorbeeldcode:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unsigned long currentTime;
int timeMinus = 500;

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

void loop() {
  
currentTime = millis();

Serial.println(currentTime - timeMinus);

}



De oplossing die ik zelf heb gevonden is om de berekening eerst met een int uit te voeren maar dit lijkt mij nogal een smerige oplossing.

Acties:
  • 0 Henk 'm!

  • bjonnie
  • Registratie: Maart 2009
  • Laatst online: 22:13
jbhc schreef op woensdag 25 februari 2015 @ 20:34:
Ik ben een behoorlijke noob in de arduino wereld en ben er gisteravond mee aan het stoeien geweest.

Ik probeer een timerfunktie te maken voor een projectje maar loop tegen het volgende aan:

Als ik een berekening uitvoer met een "unsigned long"en een "int" en er is een negatieve uitkomst dan wordt deze positief. Weet iemand hoe ik dit oplos?

Klein stukje voorbeeldcode:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unsigned long currentTime;
int timeMinus = 500;

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

void loop() {
  
currentTime = millis();

Serial.println(currentTime - timeMinus);

}



De oplossing die ik zelf heb gevonden is om de berekening eerst met een int uit te voeren maar dit lijkt mij nogal een smerige oplossing.
Ik ga er vanuit (correct me if I'm wrong) dat de uitkomst van je berekening
code:
1
currentTime - timeMinus
een unsigned long oplevert, gezien de types die je invoert.
Een unsigned long (letterlijk: lang getal zonder teken) kan alleen een waarde groter dan nul hebben, omdat hij dus geen minus-teken kent. Dit type wordt vaak gebruikt om millis() in op te slaan, omdat je zo effectief dubbel zo lang door kan tellen, en millis() nooit een negatieve waarde geeft. Daar waar een long waardes van -2.147.483.647 tot 2.147.483.647 kan opslaan, kun je in een unsigned long waardes van 0 tot 4.294.967.295 kwijt.

Om je berekening goed te laten gaan, zou ik van currentTime een 'normale' long te maken. Dus voor je setup()-functie:
code:
1
long currentTime;


Hierdoor wordt de uitkomst van je berekening niet gelijk van een unsigned type.
Ik hoop dat dit je helpt!

Acties:
  • 0 Henk 'm!

  • jbhc
  • Registratie: Juli 2007
  • Laatst online: 14-09 18:54
Het probleem zit hem er in dat als de arduino opstart en de millis() relatief laag is de berekening negatief uitkomt en omslaat in een heel hoog positief getal.

Mijn hele code zit vol met if statements en vrij lange wachttijden maar omdat de millis() waarde fictief altijd bizar hoog is (door de lange wachttijen) zijn al mijn if statements direct waar :x

Ik heb nu gevonden dat als ik de berekening als volt uit laat voeren:

code:
1
Serial.println((int)currentTime - timeMinus);


De waarde gewoon negatief uitvalt. Misschien is long wel beter omdat ik nu misschien tegen de beperking van een int aan ga lopen qua waarde. Ik ga eens even kijken of dat werkt. :)

/edit:

code:
1
Serial.println((long)currentTime - timeMinus);

Deze code werkt ook en geeft mij een wat beter gevoel :)

/edit2:

code:
1
long currentTime;


Geef inderdaad het zelfde effect. Die oplossing ga ik dan ook kiezen want dat scheelt me een hoop code aanpassen. Verder gaat het ook geen problemen opleveren want het wordt de besturing van een badkamerventilator en die zal nooit langer dan een paar uur aan staan.

Even een kleine sidenite; Ik vind Arduino een geweldig platform _/-\o_

[ Voor 28% gewijzigd door jbhc op 25-02-2015 21:35 ]


Acties:
  • 0 Henk 'm!

  • bjonnie
  • Registratie: Maart 2009
  • Laatst online: 22:13
jbhc schreef op woensdag 25 februari 2015 @ 21:21:
Het probleem zit hem er in dat als de arduino opstart en de millis() relatief laag is de berekening negatief uitkomt en omslaat in een heel hoog positief getal.

Mijn hele code zit vol met if statements en vrij lange wachttijden maar omdat de millis() waarde fictief altijd bizar hoog is (door de lange wachttijen) zijn al mijn if statements direct waar :x

Ik heb nu gevonden dat als ik de berekening als volt uit laat voeren:

code:
1
Serial.println((int)currentTime - timeMinus);


De waarde gewoon negatief uitvalt. Misschien is long wel beter omdat ik nu misschien tegen de beperking van een int aan ga lopen qua waarde. Ik ga eens even kijken of dat werkt. :)

/edit:

code:
1
Serial.println((long)currentTime - timeMinus);

Deze code werkt ook en geeft mij een wat beter gevoel :)

/edit2:

code:
1
long currentTime;


Geef inderdaad het zelfde effect. Die oplossing ga ik dan ook kiezen want dat scheelt me een hoop code aanpassen. Verder gaat het ook geen problemen opleveren want het wordt de besturing van een badkamerventilator en die zal nooit langer dan een paar uur aan staan.

Even een kleine sidenite; Ik vind Arduino een geweldig platform _/-\o_
/edit:
Inderdaad, scheelt je zo een hoop gedoe. Dit casten kon daarnaast fout gaan als jouw unsigned long currentTime een grotere absolute waarde bevat dan een normale long kan bevatten :)

[ Voor 20% gewijzigd door bjonnie op 25-02-2015 21:39 ]


Acties:
  • 0 Henk 'm!

  • jbhc
  • Registratie: Juli 2007
  • Laatst online: 14-09 18:54
Ik had mijn post al aangepast. Maar wat gebeurt er als millis() een grotere waarde bevat dan een long op kan slaan en je deze in een long probeert te stoppen dat gaat dan toch ook niet goed?

Acties:
  • 0 Henk 'm!

  • bjonnie
  • Registratie: Maart 2009
  • Laatst online: 22:13
jbhc schreef op woensdag 25 februari 2015 @ 21:39:
Ik had mijn post al aangepast. Maar wat gebeurt er als millis() een grotere waarde bevat dan een long op kan slaan en je deze in een long probeert te stoppen dat gaat dan toch ook niet goed?
/edit: snap nu je vraag pas goed :p Ik durf het je zo niet te zeggen, is afhankelijk van hoe de cast-functie is geïmplementeerd. Soms worden high order bits genegeerd, andere implementaties geven een exceptie. zie ook: http://stackoverflow.com/...sign-long-int-to-int-in-c

[ Voor 47% gewijzigd door bjonnie op 25-02-2015 21:54 ]


Acties:
  • 0 Henk 'm!

  • jbhc
  • Registratie: Juli 2007
  • Laatst online: 14-09 18:54
Even de proef op de som genomen; Als je dit in een long stopt: 2.147.483.648 dan wordt deze negatief. Maar daar doet de arduino 24 dagen over dus ik voorzie daar, voor mijn huidige project, geen problemen :)

[ Voor 34% gewijzigd door jbhc op 25-02-2015 22:02 ]


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Misschien een domme vraag, maar kan je niet gewoon dit doen:

if ((currentTime - timeMinus) >= 0) { code }

All electric components run on smoke. If you let the smoke out, they won't work anymore.


  • jbhc
  • Registratie: Juli 2007
  • Laatst online: 14-09 18:54
Het stukje code wat ik hier neer heb gezet diende puur als voorbeeld van mijn probleem.

Jouw oplossing zou wel gaan als ik maar 1 tijdsfunctie zou gebruiken maar mijn eerste wachttijd duurt 2 minuten en die daarna 5. Dan is het in mijn ogen niet zo handig om om de negatieve getallen heen te gaan programmeren want dat maak de leesbaarheid er niet echt beter op. :)

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Volgens mij is dit gewoon een bekend probleem en is de oplossing niet zo moeilijk:

http://playground.arduino.cc/Code/TimingRollover

Zelf heb ik een class 'timedEvent' gemaakt, ik doe
code:
1
If( event.hasElapsed(500)) { ... }

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • A1AD
  • Registratie: Juli 2013
  • Laatst online: 18-09 11:46
RobV schreef op donderdag 26 februari 2015 @ 06:55:
Volgens mij is dit gewoon een bekend probleem en is de oplossing niet zo moeilijk:

http://playground.arduino.cc/Code/TimingRollover

Zelf heb ik een class 'timedEvent' gemaakt, ik doe
code:
1
If( event.hasElapsed(500)) { ... }
Ik gebruik de Metro lib hier voor: https://github.com/thomasfredericks/Metro-Arduino-Wiring

- Deze advertentie is geblokkeerd door Pi-Hole -


  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
jbhc schreef op donderdag 26 februari 2015 @ 00:31:
Het stukje code wat ik hier neer heb gezet diende puur als voorbeeld van mijn probleem.

Jouw oplossing zou wel gaan als ik maar 1 tijdsfunctie zou gebruiken maar mijn eerste wachttijd duurt 2 minuten en die daarna 5. Dan is het in mijn ogen niet zo handig om om de negatieve getallen heen te gaan programmeren want dat maak de leesbaarheid er niet echt beter op. :)
In mijn ogen moet je als je millis() gebruikt altijd controleren of er een rollover is. En of je dit quick&dirty doet met een simpele if, of zoals hierboven heel netjes met een class zal dit je altijd een paar klok tikken kosten, maar voor een arduino op 16MHz is dat heel vaak totaal geen probleem.

Alleen in hele tijdkritische processen waar je die paar kloktikken echt niet kan missen dan zou je het kunnen laten.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
De TimedEvent class die ik noemde zit in de 'RobV' library :D (Overigens is de Metro lib niet zo spannend als het lijkt, kijk maar eens in de code)

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
#include "Arduino.h"

/*
 * timedEvent class
 * - default timeout is 1 second. Specify timeout with constructor or override with hasElapsed(x)
 *
 * - reset(): reset this time
 * - reset(ULONG): reset trigger and duration
 * - hasElapsed(): returns true when the event should trigger
 * - hasElapsed(ULONG): override the timeout
 * - hasElapsed(ULONG, BOOL): override timeout and specify if the event should reset when triggered
 */

#ifndef TIMEDEVENT
#define TIMEDEVENT

struct timedEvent
{
    unsigned long duration;
    unsigned long lastEvent;
    
    bool hasElapsed()
    {
       return hasElapsed(duration, true);
    }
    
    timedEvent()
    {
       lastEvent = millis(); 
       duration = 1000;
    }
    
    bool hasElapsed(unsigned long t)
    {
      return hasElapsed(t, true);
    }
    
    bool hasElapsed(unsigned long t, bool autoReset)
    {
      bool elapsed = (millis() - lastEvent) > t; 
      if(elapsed && autoReset)
      {
          reset(t);
      }
      return elapsed;
    }
    
    void reset()
    {
       lastEvent = millis(); 
    } 
    
    void reset(unsigned long d)
    {
       duration = d;
       reset(); 
    }
};

#endif

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • A1AD
  • Registratie: Juli 2013
  • Laatst online: 18-09 11:46
RobV schreef op donderdag 26 februari 2015 @ 10:02:
[...]
Overigens is de Metro lib niet zo spannend
Spannend niet, handig wel >:)

- Deze advertentie is geblokkeerd door Pi-Hole -


  • ronaldlokers
  • Registratie: Augustus 2003
  • Laatst online: 07-07 22:44
Ik wil gaan beginnen met een scope om meer van de werking te leren van alle spulletjes die ik voor mijn Arduino heb. Is een DSO Nano (http://www.seeedstudio.com/depot/DSO-Nano-v3-p-1358.html) iets om mee te beginnen?

Ik lees op internet veel over dat je beter gelijk voor bijvoorbeeld een Rigol DS1054Z kan gaan, maar ik vind 360 euro toch nog wel een hoge prijs om mee te beginnen.

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
A1AD schreef op donderdag 26 februari 2015 @ 11:26:
[...]

Spannend niet, handig wel >:)
Concept is goed, lijkt erg veel op wat ik ervan gemaakt heb. Neen ik dacht dat de Metro lib meer dan alleen deze functie had, vandaar.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • Sissors
  • Registratie: Mei 2005
  • Niet online
ronaldlokers schreef op donderdag 26 februari 2015 @ 11:50:
Ik wil gaan beginnen met een scope om meer van de werking te leren van alle spulletjes die ik voor mijn Arduino heb. Is een DSO Nano (http://www.seeedstudio.com/depot/DSO-Nano-v3-p-1358.html) iets om mee te beginnen?

Ik lees op internet veel over dat je beter gelijk voor bijvoorbeeld een Rigol DS1054Z kan gaan, maar ik vind 360 euro toch nog wel een hoge prijs om mee te beginnen.
Wat voor een dingen ben je er van plan mee te meten?

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Im mijn optiek is een scope heel handig voor analoge signalen, ik gebuik de mijne heel veel als ik met versterkers bezig ben. Voor digitale signalen zou ik eerder een logic analyzer kopen, zoiets als dit:

http://www.adafruit.com/product/378

All electric components run on smoke. If you let the smoke out, they won't work anymore.


  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Logic analyser absoluut handiger. Veel dingen kun je met een multimeter checken maar soms heb je toch echt een scope nodig, bijvoorbeeld uitzoeken waarom je levelshifter niet werkt! (Gisteren nog)

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • Icekiller2k6
  • Registratie: Februari 2005
  • Laatst online: 17-09 20:02

MT Venus E 5KW (V151) P1 HomeWizard | Hackerspace Brixel te Hasselt (BE) - http://www.brixel.be | 9800X3D, 96GB DDR5 6000MHZ, NVIDIA GEFORCE 4090, ASRock X670E Steel Legend, Seasonic GX1000


  • Sissors
  • Registratie: Mei 2005
  • Niet online
Maar dat is geen scope maar een logic analyzer. Leuk, maar waarschijnlijk niet wat hij zoekt (vandaar mijn vraag wat hij ermee wil meten).

Als je wel een logic analyzer wil, zou ik gewoon voor een Salea kloon gaan.

  • ronaldlokers
  • Registratie: Augustus 2003
  • Laatst online: 07-07 22:44
Het zal voornamelijk wel digitaal zijn (I2C en SPI) en daarvoor is al een Saleae kloon onderweg uit China. Ik had echter het idee dat je dan juist een scope erbij nodig hebt om bijv. PWM signalen goed uit te lezen, of kan dit ook met een logic analyzer?

Wat dat betreft ben ik nog een complete noob op dat vlak en is het vooral "aankloten", ik heb nog niet echt een specifiek doel voor ogen. Het is meer de interesse voor micro elektronica en hoe het in elkaar steekt :)

Ben de laatste week vooral bezig geweest met het kijken naar videos van EEVblog en daar word altijd een scope gebruikt om signalen van een microcontroller uit te lezen. Maar ik wil straks ook teardowns kunnen doen van oude apparaten en dan uitvogelen hoe het in zijn werk gaat, zodat ik daar weer wijzer van word.

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Voor simpele signalen heb je al een scope in je PC zitten: de analoge input. Dit is met wat software en een stekker een simpele 2 kanaals 16bit, 44 kHz scope.

Een scope is inderdaad handig voor specifieke zaken, en dan voornamelijk repeterende analoge signalen, zoals het meten van de vervorming van een (sinus)golf. Het meten van een PWM signaal is inderdaad prima te doen met een scope, maar ook zeker met een 24MHz analyzer. De standaard PWM frequentie van de arduino is 490 Hz dat betekend dat je met de 24MHz frequentie uit komt op bijna 50000 samples per golf.

Voor digitale signalen is de logic analyzer veel geschikter, doordat je gewoon een log kan maken van een signaal kan je heel makkelijk een digitaal protocol analyzeren.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


  • Sissors
  • Registratie: Mei 2005
  • Niet online
Voor PWM idd gewoon logic analyzer gebruiken.

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Tenzij je ren logic analyser in je scope kunt activeren ;)

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
RobV schreef op donderdag 26 februari 2015 @ 15:32:
Tenzij je ren logic analyser in je scope kunt activeren ;)
Dat klopt maar in mijn ogen heb je niet veel aan een 2 kanaals analyzer, ik gebruik er meestal minimaal toch echt een stuk of 4. Vaak zet ik 1 of 2 inputs op een vrije pin van mijn arduino zodat ik een debug puls kan geven. Daarmee kan ik makkelijker alles terug vinden.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Mijn DS1054 heeft 4 kanalen ;)

(Sorry)

Maar toegegeven het is prettiger om op de computer de data te analyseren en de Saleae doet dat prima.

[ Voor 65% gewijzigd door RobV op 26-02-2015 16:03 ]

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
En is 50 keer duurder dan een 24Mhz analyzer ;)

Ik heb zelf nog een oldschool analoge Philips PM3055 scope staan. En zelfs dat is zwaar overkill voor wat ik er mee doe, maar vooruit :D

All electric components run on smoke. If you let the smoke out, they won't work anymore.


  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
SnowDude schreef op donderdag 26 februari 2015 @ 16:40:
En is 50 keer duurder dan een 24Mhz analyzer ;)
Even rekening houdend dat de logic analyser op de Rigol apart unlocked moet worden: €299 + €136 = €435,- en een officiële Saleae Logic 8 : €149 kom ik uit op 2,9x duurder.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Leuk dat Arduino spul, in 10 minuten software geschreven voor een plant-bewatering gadget met display.

Afbeeldingslocatie: http://i.imgur.com/oTMmi1F.png

Wat je ziet:
- Arduino UNO
- DIY shield
- 3x tactile buttons
- Nokia 3310 B/W display
- Onder de display zit een 4050 level shifter om de display data naar 3v3 te klikken.
- Twee spijkers met draadjes. De ene hangt aan GND, de ander aan A0 met een pull-up van 50k.

Ik wacht nog op een 3-6v pompje om de plant te wateren als het niveau te laag komt.

Main loop (ter lering ende vermaeck, het is nog een beetje een rommeltje maar voor een eerste proto kan het er mee door):
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
void loop() 
{
  if(screenSaver.hasElapsed(5000))
  {
    digitalWrite(PIN_LCD_LIGHT, HIGH);  
  }
  
  // put your main code here, to run repeatedly:
  if(readSensorEvent.hasElapsed(100))
  {
    long weight = 200;
    long newValue = analogRead(PIN_MOISTURE_SENSOR);
    
    average = ((newValue * weight) + average * (256-weight))/256;
    
    if(average < minimumMoistureLevel)
    {
      //turn off the pump, we are conducting like crazy here.
      digitalWrite(PIN_PUMP, LOW);
      pumpOn = false;
    } 
    
    if(average > minimumMoistureLevel + moistureBandwidth)
    {
      //turn the pump on, it is getting dry here.
      digitalWrite(PIN_PUMP, HIGH);
      pumpOn = true;
    }
  }
  
  bool up = digitalRead(PIN_BUTTON_UP) == false;
  bool down = digitalRead(PIN_BUTTON_DOWN) == false;
  bool select = digitalRead(PIN_BUTTON_SELECT) == false;
  
  if(keyUpDebounce.debounce(up))
  {
     enableBacklight();
     
     if(minimumMoistureLevel < 1000)
     {
       minimumMoistureLevel += stepsPerAdjustment;
       Serial.println(minimumMoistureLevel);
     }
     else
     {
       minimumMoistureLevel = 1000;
     }
  }
  
  if(keyDownDebounce.debounce(down))
  {
     enableBacklight();
     
     if(minimumMoistureLevel > 100)
     {
       minimumMoistureLevel -= stepsPerAdjustment;
       Serial.println(minimumMoistureLevel);
     }
     else
     {
       minimumMoistureLevel = 100;
     }
  }
  
  if(keySelectDebounce.debounce(select))
  {

      enableBacklight();
  }
  
  display.clearDisplay();
  display.setTextColor(BLACK);
  display.setTextSize(1);
  display.setCursor(0,0);
  display.print("Level: ");
  display.println(average);
  display.print("Min:   ");
  display.println(minimumMoistureLevel);
  if(pumpOn)
  {
    display.println("Watering...");
  }
  
  display.display();
  
  delay(10);
}

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Verwijderd

the Arduino wars :?

- http://hackaday.com/2015/02/25/arduino-v-arduino/
- http://www.heise.de/make/...um-die-Firma-2549653.html
- http://hackaday.com/2015/...rduino-yun-open-hardware/

@ROBV een vocht sensor ?

* update
ik bedoelde eigenlijk deze maar met 2 spijkers kan het ook :P

[ Voor 49% gewijzigd door Verwijderd op 27-02-2015 01:37 ]


  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
@ROBV een vocht sensor ?
Die dingen meten vloeistof niveau (hoe hoog staat het water), voor plantjes wil je de vochtigheidsgraad weten (hoe nat is het).

Let op de $2 verzendkosten voor een $1-ding

[ Voor 6% gewijzigd door RobV op 26-02-2015 22:57 ]

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • alaintje
  • Registratie: April 2009
  • Laatst online: 00:05
Is dit de juiste shield voor een arduino nano V3.0
http://www.ebay.com/itm/I...ain_0&hash=item4853999328

Ik wil namelijk via mijn telefoon een RGB ledstrip aan gaan sturen.
ProAce schreef op dinsdag 24 februari 2015 @ 15:20:
Ik heb goede ervaring met de volgende shop, gewoon in NL dus snel in huis: http://www.tinytronics.nl/shop/index.php?route=common/home
Zo fijne website!

Kan iemand mij even kort uitleggen waarom ik nog een weerstand moet gebruiken als ik een RGB ledstrip schakel met een transistor?

[ Voor 41% gewijzigd door alaintje op 27-02-2015 14:53 ]

Absoluut relatief, relatief absoluut.


Acties:
  • 0 Henk 'm!

  • BM
  • Registratie: September 2001
  • Laatst online: 23:29

BM

Moderator Spielerij
RobV schreef op maandag 23 februari 2015 @ 17:18:
Niks mis met ebay Arduino clones:

net gemaakt: samen $7
[video]
sorry voor de out-of-focus

bij sparkfun of adafruit was ik $40 kwijt geweest.
Welke onderdelen heb je daarvoor gebruikt (scherm enzo)? :)

Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
alaintje schreef op vrijdag 27 februari 2015 @ 14:33:
Is dit de juiste shield voor een arduino nano V3.0
http://www.ebay.com/itm/I...ain_0&hash=item4853999328

Ik wil namelijk via mijn telefoon een RGB ledstrip aan gaan sturen.
Dat is geen shield, dat is gewoon een module. Kun je met iedere microcontroller gebruiken. Bedenk wel dat je er ook een bluetooth module bij moet kopen om er wat mee te kunnen.
[...]


Zo fijne website!

Kan iemand mij even kort uitleggen waarom ik nog een weerstand moet gebruiken als ik een RGB ledstrip schakel met een transistor?
Omdat je anders, net als wanneer je een LED aan zou sturen, je output pin kortsluit naar ground.

Acties:
  • 0 Henk 'm!

  • alaintje
  • Registratie: April 2009
  • Laatst online: 00:05
mcDavid schreef op vrijdag 27 februari 2015 @ 15:18:
[...]
Dat is geen shield, dat is gewoon een module. Kun je met iedere microcontroller gebruiken. Bedenk wel dat je er ook een bluetooth module bij moet kopen om er wat mee te kunnen.
[...]

Omdat je anders, net als wanneer je een LED aan zou sturen, je output pin kortsluit naar ground.
Dit is dus eigenlink wat ik nodig heb:
http://m.ebay.com/sch/i.h...hc-05&sqp=bluetooth+hc-05
Ja ik bedoelde geen shield, maar module juist.

Ok bij een led kan ik begrijpen dat je dan oneindig dtroom gaat vragen maar een ledstrip heeft toch zat weerstanden?
Tens sluit ik de ledstrip toch niet aan op de arduino? Of komt dat doordat je de grkund aansluit?

Absoluut relatief, relatief absoluut.

Pagina: 1 ... 68 ... 96 Laatste