Snel eens mee aan de slag! Genoeg leuke projecten !

Verwijderd
Nu las ik dat die robots een afbakeningsdraad gebruiken. Dit is een draad die onder de grond ligt en de grond afbakend. Nu heb ik echtergeen idee hoe de arduino deze draad zou detecteren. Ik heb al naar de werking gegoogeld maar zonder resultaat.
Kan iemand mij helpen?
Er zit nog ergens een memoryleak, maar de grootste problemen leken te komen door de router/switch/accesspoint. Soms faalde dat ding tijdelijk en de Arduino kwam daar niet meer uit. Nu een andere, en hij werkt al 2 dagen zonder vastlopers.[9:32:33] [911] [THGR268N] ID:6D Channel:1 temperture:33.50 humidity:51 battery:90
[9:32:33] [837] Connecting...
[9:32:33] [810] Connect to hostname failed, trying IP...
[9:32:34] [757] Connection failed, waiting 1 secs for retry
[9:32:35] [785] Connecting...
[9:32:35] [758] Connect to hostname failed, trying IP...
[9:32:36] [705] Connection failed, waiting 2 secs for retry
[9:32:38] [733] Connecting...
[9:32:39] [706] Connect to hostname failed, trying IP...
[9:32:40] [653] Connection failed, waiting 3 secs for retry
[9:32:43] [681] Connecting...
[9:32:43] [654] Connect to hostname failed, trying IP...
[9:32:44] [601] Connection failed, waiting 4 secs for retry
[9:32:48] [629] Connecting...
[9:32:49] [602] Connect to hostname failed, trying IP...
[9:32:50] [549] Connection failed, waiting 5 secs for retry
[9:32:55] [577] Connecting...
[9:32:56] [581] Connected
[9:32:57] [883] Sending GET request
[9:32:57] [886] Disconnecting...
(bovenstaande was een server reboot)
There is no place like 127.0.0.1
Eerst natuurlijk met de ledjes, en vervolgens icm een breadboard een led strip geknutseld. Vandaag de breadboard voor een printplaatje om geruild en wat lopen solderen! Morgen met wat krimkousjes aan de slag en dan heb ik mooi sfeerverlichting achter me bureau

Zodra het klaar is zal ik even de foto's posten!
Bijvoorbeeld, als alle verbruikers op het zelfde punt aangesloten zitten...
1
2
3
| copy row 0 paste into row 1 enz |
Maar hoe kopieer je een row uit het LCD geheugen?
Ik denk dat je in de Arduino een buffer moet maken met alle tekst regels en die dan op de juiste volgorde elke keer naar het display moet sturen
All electric components run on smoke. If you let the smoke out, they won't work anymore.
Ik heb even de datasheet erop nagekeken en als je de chip direct benadert kan je de buffer uitlezen. Maar ik ben lui, dus ik heb het inderdaad met een stringbuffer in de Arduino opgelostSnowDude schreef op woensdag 03 juli 2013 @ 13:31:
Kan je uberhaupt de onboard buffer van het display wel uitlezen?
Ik denk dat je in de Arduino een buffer moet maken met alle tekst regels en die dan op de juiste volgorde elke keer naar het display moet sturen
ik probeer mijn electra, gas en watermeter uit te lezen.
ik gebruik hiervoor een setup gelijk aan
http://www.waldpiek.nl/?p=444
en deze is gewired zoals
http://www.waldpiek.nl/?p=368
grote verschil:
op advies gebruik ik een 0,47UF elco ipv de 4,7. ook gebruik ik de OPB742 ipv de OPB740 omdat de 740 slecht beschikbaar was. het grote verschil wat ik kon ontdekken was echter het raampje aan de voorkant.
ik heb een en ander gewired, en lees de sensoren uit via A0, A1 en A2.
wat is mijn probleem nu?
ik krijg van de sensoren een waarde van 1000 en het lijkt erop dat als ik wat meer afstand neem dat hij dan 50 wordt. dat lijkt dus wel alsof hij afstand leest en niet reflectie.
mijn meters hebben een reflectie stripje voor de water en gas meter, de electra meter heeft een rode strip.
heb ik nu iets fout in die schakeling? of gebruik gewoon de verkeerde sensoren?
60 TB can not be enough
instellen Ubuntu:
1
| stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts |
code in de arduino
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
| int led=13; char serialData[4]; int systemCode; void setup() { pinMode(led, OUTPUT); Serial.begin(9600); } void loop() { if (Serial.available() > 0) { Serial.readBytesUntil('\n', serialData, 1); systemCode = atoi(serialData); switch (serialData[0]) { case 't': digitalWrite(led, HIGH); break; case 'f': digitalWrite(led, LOW); break; } } } |
mijn php code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <html> <body> <form action="index.php" method="post"> <button type="submit" name="lamp" value="t\n">lamp 1 aan</button> <button type="submit" name="lamp" value="f\n">lamp 1 uit</button><br><br> </body> </html> <?php $i = $_POST['lamp']; $fp = fopen("/dev/ttyACM1", "w+"); sleep(2.0); fwrite($fp, $i); echo fread($fp, 10); fclose($fp); ?> |
wat ik heb geprobeerd, is rechten te geven aan www-data door in groep uucp en dialout te zetten.
maar ik krijg telkens geen beeld als ik sudo screen /dev/ttyACM0 9600 doe. dan blijft deze leeg.
Zolang het ledje uitstaat kan ik hem welaanzetten, maar als hij eenmaal aanstaat is de helderheid niet meer te besturen. Maar als ik het ledje even uit de arduino haal, een aantal keer het signaal van de helderheid omhoog stuur en het ledje er weer in stop, is de helderheid wel omhoog gegaan...
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
| #include <IRremote.h> int brightness = 10; const int recPin = 5; const int ledPin = 9; IRrecv irrecv(recPin); decode_results results; void setup(){ pinMode(ledPin, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); } void loop(){ if(irrecv.decode(&results)){ Serial.println(results.value); switch(results.value){ case 3088: if(brightness < 200){ brightness = brightness + 10; } break; case 1040: if(brightness < 200){ brightness = brightness + 10; } break; case 3089: if(brightness >= 10){ brightness = brightness - 10; } break; case 1041: if(brightness >= 10){ brightness = brightness - 10; } break; } irrecv.resume(); analogWrite(ledPin, brightness); } } |
edit: ik snap niet wat het is, maar het signaal wat ie dus soms ontvangt is #FFFFFF ofterwijl 4294967295. Laat dat nou net het grootste getal zijn wat je kan krijgen met een 32bits getal...
[ Voor 6% gewijzigd door Appel105 op 12-07-2013 12:25 ]
Werkt het wel met de serial monitor binnen de arduino omgeving?Rusky schreef op vrijdag 05 juli 2013 @ 21:35:
Ik heb een probleem in Ubuntu. De serial write naar de seriale poort wil niet werken. Terwijl hij wel in windows het deed. Heb hierna wel de poorten ed gewijzigd en Ubuntu ingesteld, zoals gevonden op inet....
Misschien ook goed om te vermelden; ik werk vanuit de shell. Heb Ubuntu Server erop staanPaulusbrand schreef op vrijdag 12 juli 2013 @ 14:51:
[...]
Werkt het wel met de serial monitor binnen de arduino omgeving?
Deze wil ik aansturen met mijn arduino, maar deze trekt op 7,2V nog zo'n 5A!
Nu heb ik al vanalles gezocht, maar de meeste voedingen gaan maar tot 3A.
Heeft iemand een idee hoe ik dit het beste kan maken?
Verwijderd
dat is de stroom die hij trekt als ie beweegt, de 'stall current' ligt op zo'n 5AVerwijderd schreef op woensdag 17 juli 2013 @ 12:46:
Of trekt hij maar 0,4 - 0,5 A? Zie: http://www.hobbyking.com/...vo_0_75sec_50kg_150g.html
Verwijderd
Ik heb een arduino uno, met daarop een ethernet shield. Ik wil de waardes naar xively gaan schrijven en dat gebruiken om ze op een eigen site mooi te kunnen laten zien en de arduino zelf gebruiken om bijvoorbeeld het water te geven te regelen en de ramen te kunnen besturen.
Ik heb ook nog een lcd aan de arduino gehangen. Ook die werkt goed.
De connectie met xively heb ik al getest en dat werkt goed, ook in combinatie met het lcd scherm.
Maar als ik een 2e sensor wil gaan gebruiken kloppen de waardes van de eerste niet meer.
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
| #include <LiquidCrystal.h> int tempsensorPin = 2; int moistsensorPin = 4; LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); void setup() { Serial.begin(9600); lcd.begin(16,2); // columns, rows. use 16,2 for a 16x2 LCD, etc. lcd.clear(); // start with a blank screen } void loop() // run over and over again { //getting the voltage reading from the temperature sensor int tempreading = analogRead(tempsensorPin); delay(500); int moistreading = analogRead(moistsensorPin); delay(500); // converting that reading to voltage, for 3.3v arduino use 3.3 float voltage = tempreading * 5.0; voltage /= 1024.0; int temp = voltage * 100; lcd.clear(); lcd.setCursor(0,0); // set cursor to column 0, row 0 (the first row) lcd.print("Temperatuur:"); // change this text to whatever you like. keep it clean. lcd.setCursor(0,1); lcd.print(temp); lcd.print((char)223); lcd.print("C"); delay(2000); //waiting 2 seconds } |
Bovenstaande code is alleen om de gemeten waarde van temperatuur sensor naar het lcd-scherm te schrijven.
Er wordt een constante temperatuur gelezen die omhoog gaat als ik de sensor opwarm en daalt als ik die afkoel.
Tot ik iets aansluit op poort 4, zelfs met alleen een kabeltje gaan de waardes van de temperatuur sensor al veranderen.
Ik kan nog geen patroon ontdekken in de verandering het lijkt dan random tussen de 30 en 50 te worden.
Iemand een idee waar dit aan kan liggen?
Mijn ervaring is dat je web->serieel het beste kan doen d.m.v. Python script. Ik had met de combinatie php->serieel altijd gedonder.Rusky schreef op vrijdag 05 juli 2013 @ 21:35:
Ik heb een probleem in Ubuntu. De serial write naar de seriale poort wil niet werken. Terwijl hij wel in windows het deed. Heb hierna wel de poorten ed gewijzigd en Ubuntu ingesteld, zoals gevonden op inet.
.....
wat ik heb geprobeerd, is rechten te geven aan www-data door in groep uucp en dialout te zetten.
maar ik krijg telkens geen beeld als ik sudo screen /dev/ttyACM0 9600 doe. dan blijft deze leeg.
Ik heb nu PHP->Python webserver->Serieel.
Daarnaast zorg voor een goede 2-weg communicatie en error afhandeling. Daarnaast is iets als een startbyte ook wel een aanrader. Dus bijvoorbeeld steeds als je iets zend beginnen met "?".
[ Voor 56% gewijzigd door wouter.N op 23-07-2013 14:59 ]
Ik heb de vigor vsd-11aymb servo gekocht en deze getest met een modelbouw servo ontvanger en extrene voeding. Dit ging goed.
Nu probeer ik hetzelfde met de arduino en de servo lib, maar ik krijg er geen beweging in, doet helemaal niks.
Dan sluit ik een klein (zo'n 9g ding) servo aan, en die reageerd wel.
Iemand enig idee waardoor dit kan komen?
http://i.picasion.com/resize76/446eb2c88b2df1a089a17a9b8b734465.gif
Ik ben ook lekker bezig geweest
Speelgoed racewagentje bij Intertoys gehaald en gestripped.
Ik had geen zin om een motorcontroller te maken of te kopen, dus ik heb het originele printje daarvoor gebruikt. Moest alleen even de juiste pinnen voor de signalen doormeten, was lastig.
Gelukkig werkte het printje van de racewagen op 5 Volt en hoefde ik niets te shiften (naar 3.3Volt bijvoorbeeld).
Arduino's rol:
2 Arduino's gebruikt.
Een (UNO rev 3) voor de USB-Host shield library en de PS3 controller bluetooth 'driver'
Een andere (Mega 2560) om de signalen om te zetten naar voor het racewagentje begrijpelijke code.
Na wat tweaken kon ik een packetrate van iets meer minder (1000msec/35msec) dan 29 pakketten per seconden halen. Wagentje reageert daardoor lekker vlot en realtime.
Het bereik is verrassend goed eigenlijk, ruim 15 meter, wat ik voor bluetooth best veel vind.
Geplande updates:
Ik heb nu 2 Xbee's (soort WiFi achtige modules, maar dan andere 'architectuur') in de bestelling staan, zodat de communictatie tussen de arduino's straks draadloos kan.
De PS3 controller zal dan verbinden met een 'basisstation' (Arduino Mega) via bluetooth. Dit basisstation verbind dan via XBee (draadloos, tot 1500meter) met een andere XBee, aangesloten op een Arduino UNO bordje. De laatste geeft de signalen door aan de servo/motor van het racewagentje. Dinsdag komen de spullen pas binnen, dus we gaan het zien :-)
Elektronicaprojecten van mij: http://www.gm7.nl
Motorcontroller met zelfde aantal (of meer, maar dat is onnodig) uitgangen voor de motoren als dat er motoren op je robotkarretje zitten. Als je ook achteruit wilt kunnen rijden, moet je er op letten dat de motorcontroller rond een soort H-Bridge (H brug) is opgebouwd. Motorcontroller stuur je dan aan via SPI pinnen (vast aantal pinnen, onafhankelijk van aantal motoren, vaak 3 of 4) of via PWM pinnen (vaak 1 of 2 per motor nodig) of via een enkele digitale pin (net als een servo, 1 digitale pin). De laatste optie heeft dan wel aansturing nodig vanuit de Arduino zelf d.m.v. een stuk code of library. Hangt er dus allemaal van af wat voor soort/type controller je hebt. Het makkelijkste is een controller die zich laat aansturen via PWM. Alleen als je een flinke robot hebt met veel motoren, kan je veel draad nodig hebben en zelfs als je PWM outputs verbruiken. Let daar goed op bij aanschaf hoe deze wordt aangestuurd. Let ook op dat de motorcontroller de stroom aankan per motor die de motor trekt bij volle belasting bij het voltage waarmee je ze voedt. Vaak is er ook een totale stroom die een motorcontroller aankan, deze mag voor alle motoren samen, vol belast niet hoger uitkomen dan de maximale totale stroom van de controller. Kleine DC motortjes kunnen vaak wel af met een 2 Ampere controller (Redelijk gangbaar en nog goedkoop). Zwaardere modellen zijn vaak duurder en hebben een groter koelblok nodig.Niellz schreef op zaterdag 27 juli 2013 @ 17:01:
Ik wil graag een robotje maken met rupsbanden, ik heb al een arduino uno en een paar kleine dc motors, wat heb ik allemaal nog meer nodig?
Ik denk als je zoekt op "Motor controller Arduino Robot" ofzo dat je al een heel eind komt
[ Voor 15% gewijzigd door alexandersamson op 27-07-2013 21:09 ]
Elektronicaprojecten van mij: http://www.gm7.nl
Verwijderd
Echter, heb ik nu al 2 I2C converters gekocht en beide lijken het niet te doen, zelfs een simpele hello world krijg ik er niet op.
Backlite en contrast werkt wel.
Is het iemand wel gelukt dit wekend te krijge? Zou mij een boel draden schelen....
http://www.hobbytronics.co.uk/i2clcd-backpack-v2 , zowel met 4 (I2C) als met 3 draadjes (serieel) werkt het prima.
[ Voor 27% gewijzigd door Raven op 30-07-2013 20:34 ]
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
Welke heb je gekocht? Ik heb er zelf ook een aantal, misschien heb je dezelfde.darklord007 schreef op dinsdag 30 juli 2013 @ 19:53:
Ik heb een 20x4LCD, die werkt goed als ik m paralell aansluit.
Echter, heb ik nu al 2 I2C converters gekocht en beide lijken het niet te doen, zelfs een simpele hello world krijg ik er niet op.
Backlite en contrast werkt wel.
Is het iemand wel gelukt dit wekend te krijge? Zou mij een boel draden schelen....
In ieder geval werken ze allemaal vrijwel hetzelfde, misschien kunnen we je helpen
ik heb deze: IIC I2C TWI SPI Serial Interface Board Module Port For led1602 LCD Display newfoekie01 schreef op donderdag 01 augustus 2013 @ 18:01:
[...]
Welke heb je gekocht? Ik heb er zelf ook een aantal, misschien heb je dezelfde.
In ieder geval werken ze allemaal vrijwel hetzelfde, misschien kunnen we je helpen
Heb vandaag nog geprobeerd met een andere bekabeling (die andere wat wat erg houtje touwtje).
Maar nog steeds nix.
Heb met een ander lcd (het lcd/button shield) geprobeerd, maar dat werkt ook niet.
Heb alle examples en lib's geprobeerd die ik kon vinden
Het houd wel een beetje op, ben bang dat ik anders gewoon wat meer draadjes moet solderen (gelukkig heeft de arduino mega voldoende I/O)
edit: http://playground.arduino.cc/Main/I2cScanner
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
| // -------------------------------------- // i2c_scanner // // Version 1 // This program (or code that looks like it) // can be found in many places. // For example on the Arduino.cc forum. // The original author is not know. // Version 2, Juni 2012, Using Arduino 1.0.1 // Adapted to be as simple as possible by Arduino.cc user Krodal // Version 3, Feb 26 2013 // V3 by louarnold // Version 4, March 3, 2013, Using Arduino 1.0.3 // by Arduino.cc user Krodal. // Changes by louarnold removed. // Scanning addresses changed from 0...127 to 1...119, // according to the i2c scanner by Nick Gammon // http://www.gammon.com.au/forum/?id=10896 // Version 5, March 28, 2013 // As version 4, but address scans now to 127. // A sensor seems to use address 120. // // // This sketch tests the standard 7-bit addresses // Devices with higher bit address might not be seen properly. // #include <Wire.h> void setup() { Wire.begin(); Serial.begin(9600); Serial.println("\nI2C Scanner"); } void loop() { byte error, address; int nDevices; Serial.println("Scanning..."); nDevices = 0; for(address = 1; address < 127; address++ ) { // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the address. Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.print("I2C device found at address 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); nDevices++; } else if (error==4) { Serial.print("Unknow error at address 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("No I2C devices found\n"); else Serial.println("done\n"); delay(5000); // wait 5 seconds for next scan } |
[ Voor 93% gewijzigd door Raven op 02-08-2013 19:56 ]
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
is daar hier interesse in? want dan post ik de lijst.. anders gooi ik ze op marktplaats.
60 TB can not be enough
[/quote]Raven schreef op vrijdag 02 augustus 2013 @ 19:55:
Je hebt het juiste adres? Er is dacht ik een sketch dat aangesloten I2C apparaten weergeeft, daarmee zou je kunnen kijken of je het juiste adres te pakken hebt.
}
Ik heb vandaag de i2c lcd backpack nog eens geprobeerd met de door jou aangeleverde code.
Hij vind m wel op adres 0x27...
waar kan het mis zitten dan
update:
En hij werkt!
met deze library.
thxs voor de hulp!
[ Voor 13% gewijzigd door darklord007 op 07-08-2013 18:51 ]
9$ Arduino leonardo incl starters kit
12 dollar inclusief verzending (wat op zich nog steeds zeer goedkoop blijft)
Funding gaat nog steeds verder op Indiegogo en er kunnen heel misschien nog wat dingetjes bijkomen.
Wat zit er nu in:
1x Arduino leonardo
1x micro usb kabel
1x klein breadboardje
10x jumper kabeltjes
6x ledjes
1x 9v aansluiting
10x 330ohm
1x buzzer
1x licht sensortje
3x smd push button
10x 1Kohm
2x NPN tor
5x diode
kortom vrij veel voor een lage prijs, in feite de ideale starterskit.
maargoed, nog een 8 tal dagen te gaan, dus ff snel wezen (ik heb er zelf 3 besteld, maar ik denk dat ik misschien later spijt ga krijgen dat ik er niet meer besteld had..)
Ryzen 3600 - GTX1060
De klok en weerstation krijgen beide een eigen arduino nano, omdat ik anders poorten te kort kwam, het voordeel is wel dat ik door wat handig ontwerpen voor beide het zelfde print design kan gebruiken, wat een stuk goedkoper is om te laten maken. Per board komen er 3 595 shift registers en 6 BCD nixie drivers 74141 / K155. Wel komt er een koppeling tussen beide boards zodat de cijfers op beide tegelijk verspringen.
Voor de tijd kan ik nog kiezen tussen een DCF ontvanger of een RTC., maar ik neig naar DCF
Eerste even wat kleine testjes draaien op mijn breadboard, een Nano, twee 595 shift registers in serie, en twee K155 BCD to nixie driver IC's, en rechts boven de voeding, 12V in en 5V en 180V uit:

Ik gebruik twee 595 registers in serie alleen voor test, zoals je kan zien is aan de eerste niets aangesloten, de twee drivers zitten aan de tweede 595.
Hier in mijn kat proof behuizing

En de buitenkant met de twee test buisjes.

Even een test countertje:
Ik heb nu mijn hele schema getest, en ben nu bezig met de laatste bewerkingen aan mijn PCB, die kan aan het eind van de week naar iteadstudio gestuurd worden
All electric components run on smoke. If you let the smoke out, they won't work anymore.
Een shift register is gewoon een simpele multiplexer. Je sluit hem aan met 3 pinnen en dan kan je ze vrijwel onbeperkt in serie zetten. Kwa software is dit heel simpel, gewoon shiftout gebruikenalmightyarjen schreef op zondag 11 augustus 2013 @ 01:39:
Nice! Maar kan je die shift registers niet vervangen door Arduino software en een multiplexer oid?
All electric components run on smoke. If you let the smoke out, they won't work anymore.
kijk eens naar leaflabs.com
Pin compatibel met Arduino maar dan op 72Mhz.
Ook hebben ze een IDE die op Arduino lijkt.
En zover ik kan lezen is een Arduino sketch compatibel met Leaflab.
Uc die hun gebruiken is STM32F103RCBT6: a 32-bit ARM Cortex-M3 microprocessor at 72Mhz
Ik heb er 2 besteld bij Niels (samenkopen.net of ledsee.com). ben benieuwd wat ik hier mee kan uithalen.
To modify or not to modify that's the quest... It's no question! Always modify!!
Een nadeel is wel dat deze ARM bordjes op 3.3V draaien, dus je moet daar bij sommige toepassingen goed op letten.
Die maple mini kloon van ledsee is wel erg goedkoop. De Arduino due is iets van 35-40 dollar.
[ Voor 16% gewijzigd door _l_Arjan_l_ op 12-08-2013 22:13 ]
Dat audio kan me weinig boeien maar onboard Wlan is handig en wil wel eens experimenteren met dat nRF24L01+ spul. Zit ook een SD-kaart lezer op dus kan ik een mooi all-in-one webserver dingetje van bouwen
if (!coffee) {
Work = false; }
http://www.pcduino.com/
Dit bordje is vergelijkbaar met Raspberry Pi (zelfs nog wat sneller!!), maar schijnt overweg te kunnen met Arduino sketches.
Zo zou je ook via de vertrouwde Arduino IDE kunnen blijven programmeren.
Ik moet zeggen dat hij me om een of andere manier meer aanspreekt dan een Raspberry Pi.
Voornamelijk omdat je kunt blijven programmeren zoals een Arduino.
Daarnaast is het idee dat hij (op den duur) compatibel gaat worden met verschillende shields.
Vergelijking: http://www.cooking-hacks....pi-cubieboard-and-pcduino

Dat is wel veel zeg!
Het is vaak een kwestie van slim omgaan met je pinnen.
Voor push buttons kun je bv wel steeds een aparte input nemen, maar het is bv slimmer om je ADC daarvoor te gebruiken.
Als je dat goed doet, kun je makkelijker 10 of meer knoppen op 1 poort kwijt.
(waarbij je zelfs nog meerdere knoppen tegelijk kunt gebruiken)
Zo zijn er nog wel wat trucs
Zo zijn er wel meer. Zo zijn er van http://mbed.org/platforms/ de Seeeduino-Arch en KL25Z die redelijk zelfde pinout als arduinos hebben. (Voordeel van de Arch is dat zijn microcontroller 5V tolerant is). Dat zijn wel cortex-M0 ARMs.Mr-Beamer schreef op maandag 12 augustus 2013 @ 21:00:
Tip voor de mensen die meer POWER en speed willen.
kijk eens naar leaflabs.com
Pin compatibel met Arduino maar dan op 72Mhz.
Ook hebben ze een IDE die op Arduino lijkt.
En zover ik kan lezen is een Arduino sketch compatibel met Leaflab.
Uc die hun gebruiken is STM32F103RCBT6: a 32-bit ARM Cortex-M3 microprocessor at 72Mhz
Ik heb er 2 besteld bij Niels (samenkopen.net of ledsee.com). ben benieuwd wat ik hier mee kan uithalen.
Ik heb bijvoorbeeld al 6 afstandsensoren op mijn robot zitten. Dat zijn twee digitale I/O per sensor. Daarnaast heb ik 10 motoren waarvan de meeste PWM gestuurd zijn, a 3 I/O per motor. En ga zo maar ff doorB_FORCE schreef op woensdag 14 augustus 2013 @ 12:50:
100?!?!![]()
Dat is wel veel zeg!
Het is vaak een kwestie van slim omgaan met je pinnen.
Voor push buttons kun je bv wel steeds een aparte input nemen, maar het is bv slimmer om je ADC daarvoor te gebruiken.
Als je dat goed doet, kun je makkelijker 10 of meer knoppen op 1 poort kwijt.
(waarbij je zelfs nog meerdere knoppen tegelijk kunt gebruiken)
Zo zijn er nog wel wat trucs
Ryzen 3600 - GTX1060
Met zo'n controller kan je bijvoorbeeld een beweegbare en veranderlijk kleuren schema maken als je strip en controller dit ondersteund (o.a. RGB) natuurlijk.
if (!coffee) {
Work = false; }
Ryzen 3600 - GTX1060
if (!coffee) {
Work = false; }
[ Voor 16% gewijzigd door Raven op 14-08-2013 17:45 ]
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
Aansluiting:1. Download the ZIP from Github.
2. Uncompress the ZIP.
3. Rename the resulting folder to 'Adafruit_NeoPixel'. Directly inside this folder should be 'Adafruit_NeoPixel.cpp', 'Adafruit_NeoPixel.h', an 'examples' folder and a couple other files. Depending on your OS, sometimes unzipping creates an extra nested folder...don't want that, move it up out of there.
4. Move the Adafruit_NeoPixel library into the Arduino libraries folder. On Mac this is (home folder)->Documents->Arduino->Libraries. On Windows, I think this is (home folder)->My Documents->Arduino->Libraries, and on Linux it's (home folder)->Sketchbook->libraries
5. Restart the Arduino IDE. You should then be able to access the strandtest sketch by navigating through the menus File->Sketchbook->Libraries->Adafruit_NeoPixel->strandtest. If this is not present, the library still isn't correctly named or located.
Waaruit blijkt:// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_RGB Pixels are wired for RGB bitstream
// NEO_GRB Pixels are wired for GRB bitstream
// NEO_KHZ400 400 KHz bitstream (e.g. FLORA pixels)
// NEO_KHZ800 800 KHz bitstream (e.g. High Density LED strip)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
Op internet gebruiken ze pin 11.// Parameter 2 = pin number (most are valid)
[ Voor 44% gewijzigd door foekie01 op 14-08-2013 17:49 ]
Dat zou ook nog kunnen inderdaad.Raven schreef op woensdag 14 augustus 2013 @ 17:45:
Misschien maakt de 3-pins versie gebruik van een seriële verbinding? Dat vereist maar 1 draadje, naast de voeding. Arduino's hebben daar een aansluiting voor.
@Daanieyel, een datasheet van de strip die je hebt ontvangen zou ook wel handig zijn, kun je zelf even kijken wat er bij de pin layout staat. Als je er niet uitkomt kan je 'm ook hier linken. Kijk wel goed naar het type "het lijkt er wel op" kan in de electronica wereld het verschil tussen werkend en kortsluiting zijn
if (!coffee) {
Work = false; }
Ryzen 3600 - GTX1060
Hoeveel licht geeft een ambilight living colors eigenlijk?
crap.. even lopen rekenen, maar dat is maar 150 lumen? uitgaande van 25' LEDs.
[ Voor 13% gewijzigd door WVL_KsZeN op 14-08-2013 21:01 ]
/me heeft eindelijk ook een icoontje.. woef.. boeien..
Ik heb zelf 125 * 12mm leds @ 1200mcd hier liggen en ja, dat geeft licht!
http://i.picasion.com/resize76/446eb2c88b2df1a089a17a9b8b734465.gif


(^ zijn screenshots van info-filmpje)
[ Voor 36% gewijzigd door Raven op 16-08-2013 18:39 ]
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
Elektronicaprojecten van mij: http://www.gm7.nl
Hoop mijne half september te ontvangenRaven schreef op vrijdag 16 augustus 2013 @ 18:32:
Zet er dan even een plaatje met info bij, om een idee te geven van hoe dat ding in elkaar zit
[afbeelding]
[afbeelding]
(^ zijn screenshots van info-filmpje)
Moet nog opzoek naar zo'm mini Arduino (nano of micro) voor een IR project. Wil vanuit Windows mijn 2e monitor (DTV) in/uit kunnen schakelen en naar DVI kanaal switchen zonder de afstandsbediening hoeven te pakken. En als ik met mijn Humax afstandsbediening op de 'uit-knop' druk dat de TV dan ook gelijk uit gaat. Moet op zich goed te doen zijn met een IR-Led en IR-ontvanger en een USB kabel naar de PC.
if (!coffee) {
Work = false; }
ik wil een 80mm fan kunnen schakelen (dus aan of uit) op 5V.
ik heb een digitale uitgang aangesloten op de basis van de bc547 en de fan achter de emitter naar gnd.
Hij draait wel, maar ik moet m helpen.
als ik m rechtstreekt op 5v aansluit draait ie wel.
heeft iemand hier een oplossing voor? Misschien een fet of ergens een weerstand?
Ik weet ook niet of hij genoeg stroom kan leveren. Maar hoe heb je hem aangesloten? Ik krijg idee van collector naar voeding, emitter naar fan, andere draad van fan naar aarde? Dan heb je inderdaad geen basis-weerstand nodig, maar dan komt er ook maar 4.3V op je fan te staan. Het is beter emitter aan aarde te koppelen, collector aan fan, andere draad van fan aan de voeding
dat was hem idd!
op 5V loopt ie wel, was even die interne diode vergeten
http://www.indiegogo.com/...rm-cortex-a8-dev-platform
specs: 1G ARM cortex-A8 processor, NEON, VFPv3, 256KB L2 cache
Mali400, OpenGL ES GPU
1GB DDR3 @480MHz
HDMI 1080p Output
10/100M Ethernet
2 USB Host, 1 micro SD slot, 1 SATA, 1 USB OTG
70 extend pin including I2C, SPI, RGB/LVDS, CSI/TS, FM-IN, ADC, CVBS, VGA, SPDIF-OUT, R-TP.
Running Android, Ubuntu and other Linux distributions
Dat zijn best wel belovende specs.
Zeker met 70 I/O poorten en een SATA connector
Wat heeft dat met Arduino te maken?B_FORCE schreef op zaterdag 31 augustus 2013 @ 13:43:
Ik kwam van de week nog een andere flinke jongen tegen:
http://www.indiegogo.com/...rm-cortex-a8-dev-platform
Running Android, Ubuntu and other Linux distributions
if (!coffee) {
Work = false; }
Beetje verder lezen heh
Het ding kan namelijk overweg met alle (lees: de meeste/veel) Arduino sketches.
Hij heet niet voor niets Iteaduino Plus
In feite een opgefokte Arduino dus
(Ik begrijp wel dat compatibility met Arduino shields voor veel producten als een pré gezien wordt, maar stiekem zou het wel handig zijn als iedereen overging op een formaat dat logischer was. Op zijn minst dat pin spacing op 0.1 inch grid is tussen de rijen).
Voor de eenvoud programmeer ik hem via remote desktop op de raspberry pi met de versie 1.5.2. Het compilen van de code werkt daar zonder probleem.
Als ik hem nu echter probeer te programmeren (met een kopie van de sketchbook) via m'n andere pc (win7) ook via de 1.5.2 krijg ik foutmeldingen:
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
| Analog\Analog.cpp.o: In function `Analog': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:31: multiple definition of `Analog::Analog()' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:24: first defined here Analog\Analog.cpp.o: In function `Analog': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:31: multiple definition of `Analog::Analog()' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:24: first defined here Analog\Analog.cpp.o: In function `Analog::_startNextCapture()': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:89: multiple definition of `Analog::begin()' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:82: first defined here Analog\Analog.cpp.o: In function `Analog::_startNextCapture()': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:77: multiple definition of `Analog::_startNextCapture()' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:70: first defined here Analog\Analog.cpp.o: In function `Analog::_checkCapture()': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:100: multiple definition of `Analog::_checkCapture()' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:93: first defined here Analog\Analog.cpp.o: In function `Analog::logicalRead(unsigned char)': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:130: multiple definition of `Analog::logicalRead(unsigned char)' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:123: first defined here Analog\Analog.cpp.o: In function `Analog::read(unsigned char)': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:137: multiple definition of `Analog::read(unsigned char)' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:130: first defined here Analog\Analog.cpp.o: In function `Analog::setPoint(unsigned char, int)': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:144: multiple definition of `Analog::setPoint(unsigned char, int)' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:137: first defined here Analog\Analog.cpp.o: In function `Analog::run()': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:148: multiple definition of `Analog::run()' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:141: first defined here Analog\Analog.cpp.o: In function `Analog::_measureVCC()': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:110: multiple definition of `Analog::_measureVCC()' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:103: first defined here Analog\Analog.cpp.o: In function `Analog::_captureForced(unsigned char)': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:60: multiple definition of `Analog::_captureForced(unsigned char)' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:53: first defined here Analog\Analog.cpp.o: In function `Analog::begin(unsigned char)': C:\Users\Promy\Documents\bus\raspberry pi meduino\ARDEX02\Arduino-sketch\sketchbook\libraries\Analog/Analog.cpp:50: multiple definition of `Analog::begin(unsigned char)' Analog.cpp.o:C:\Users\Promy\AppData\Local\Temp\build3507699438489399469.tmp/Analog.cpp:43: first defined here |
Nochthans heb ik niks aangepast aan de code en is de directorystructuur intact?
Als ik beide sensors heb aangesloten lees ik ze mooi uit.
Echter als er maar 1 is aangesloten lees ik op beide adressen hetzelfde.
Weet iemand hoe ik makkelijk kan detecteren welke is aangesloten?
Ik zou kunnen zeggen dat wanneer de 2e sensor hetzelfde is dan de 1e, ik de 2e 0 maak.
Maar dan zou altijd de eerste sensor aangesloten moeten zitten.
iemand een idee?
Ik zat eens goed te kijken en geen van de oplossingen die ik net gaf lijken te maken te hebben met je probleem. Als ik goed kijk naar de code lijkt het er op dat er een bibliotheek 'Analog' bestaat die 2x wordt aangeroepen, 1x vanuit de plek waar hij hoort te staan en een keer vanuit een temp folder... Wat gebeurt er als je die tempfolder eens opzoekt en renamed of delete?Promy schreef op zaterdag 31 augustus 2013 @ 17:05:
Ik heb hier een raar probleem voor: ik ben bezig met een arduino nano te programmeren die als slave aan m'n raspberry pi komt te hangen.
Voor de eenvoud programmeer ik hem via remote desktop op de raspberry pi met de versie 1.5.2. Het compilen van de code werkt daar zonder probleem.
Als ik hem nu echter probeer te programmeren (met een kopie van de sketchbook) via m'n andere pc (win7) ook via de 1.5.2 krijg ik foutmeldingen:
code:
1 2 Analog\Analog.cpp.o: In function `Analog': ---Rest van de code---
Nochthans heb ik niks aangepast aan de code en is de directorystructuur intact?
[ Voor 44% gewijzigd door alexandersamson op 01-09-2013 13:36 ]
Elektronicaprojecten van mij: http://www.gm7.nl
Jaren geleden iets met AVR (atmega168AU) gedaan, toen een eigen dev-boardje laten etsen en gesoldeerd, met ingebouwde voeding en twee 0-10v DAC's (om 2 industrieële stappenmotorcontrollers aan te sturen)
Dat ging toen nog in C zonder al die extra libraries voor Arduino, wat dat betreft is het allemaal wel een stuk makkelijker geworden..
Anyway, ben beniewd.
[edit:] en daarmee heb ik t topic gekilled.. fijn.
[ Voor 6% gewijzigd door AlexanderB op 04-09-2013 19:00 ]
Ik bandwagon ter ondersteuning even met je mee, zojuist een adafruit GPS + logging shield op mijn oude mega (1280 atmega) geplaatst.
Licht moeten knutselen omdat de mega geen hardware SPI heeft op 11, 12 en 13. Ben dus gewisseld naar software SPI. Helaas heeft de Mega ook geen software RX support op pin 8, dus die via 2 wires naar TX / RX 1 verkast. De hardware oplossing zou betekenen dat ik wat leads op het shield zou moeten onderbreken... lang leve de, schijnbaar ietwat tragere, software fix.

Nu nog een spanningsdeler maken voor mijn LiPO, een druksensor en een fm zendertje bijplaatsen en een klein licht accutje vinden om het geheel te voeren... en alles in mijn zweefmodel prutsen.
Toys
Sony A7III | Sony 24 - 105 G | Sigma 100 - 400
wat is in dit opzicht een goede manier om een doorgestuurd I2C bericht in een variabele te krijgen die niet zomaar kan wijzigen?(maw niet wijzigt tot er een nieuw commando via I2C komt)
[ Voor 148% gewijzigd door Promy op 09-09-2013 22:38 ]
http://arduino.cc/en/Reference/Static
afaik: Volatile is buiten de functie bewerkbaar, constants zijn niet bewerkbaar, static is enkel binnen de functie bewerkbaar.
Misschien even een code snippet posten, kan zijn dat ik je punt mis
Sony A7III | Sony 24 - 105 G | Sigma 100 - 400
Kan je voorkomen door hem globaal aan te maken, of met new keyword. Maar goed stukje code is inderdaad wel handig.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| volatile char Bericht3[20]; //dit kan een commando bevatten van 6 10 of 19 hex chars volatile char opdrachttype; void I2CreceiveEvent(int howMany) { int ichr; k=-1; String Bericht; while(Wire.available()>0) //blijven lezen zolang er iets beschikbaar is. { ichr = Wire.read(); if (k<0) { opdrachttype = char(ichr); } else { Bericht = Bericht + char(ichr); } k++; } Bericht = Bericht.substring(1); Bericht.toCharArray((char*)Bericht3,k); readyflag2 = 0; // de data is niet klaar } |
hiernaast kijk ik in de loop na of opdrachttype verschillend is van 'A': via de I2C wordt deze op C R of S gezet in functie van het type bericht dat erachter komt. Indien verschillend van A wordt een functie opgestart die de desbetreffende routine (ifv de letter van opdrachttype) aanroept:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| void opdrachtverwerken() { switch (opdrachttype) { case 'C': //dus de letter C - we sturen een commando voor op de bus te zetten opdrachttype = 'A'; // op A zetten om het aanroepen via de loop te verhinderen I2CResultaat = bus_out(Bericht3); // we versturen commando readyflag2 = 1; // data staat klaar break; case 'R': //dus de letter R - we willen de status weten van een actor opdrachttype = 'A'; // op A zetten om het aanroepen via de loop te verhinderen I2CResultaat = bus_status(Bericht3); readyflag2 = 1; // data staat klaar break; case 'S': //dus de letter S - we willen de status zetten van een actor opdrachttype = 'A'; // op A zetten om het aanroepen via de loop te verhinderen I2CResultaat = bus_setstatus(Bericht3); // we versturen een setstatus readyflag2 = 1; // data staat klaar break; } } |
om terug te koppelen naar de I2C gebruik ik:
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
| /* ------------------------------------------------------------------------------- Respond to a I2C request for data ------------------------------------------------------------------------------- */ void I2CrequestEvent() { // rPi has requested a byte of data if (readyflag2 == 0) {Wire.write('X');} // dat nog niet klaar if (readyflag2 > 1){ // we zijn klaar om te verzenden Wire.write(I2CResultaat[index]); Serial.println(I2CResultaat[index]); //om te testen, uitzetten in definitieve versie ++index ; if (index >= I2CResultaat.length()){ index = 0; readyflag2 = 0; } } if (readyflag2 == 1) { Wire.write('Y'); // data staat klaar - nopdig voor het aanroepende python script readyflag2 = 2; // we verhogen de readyflag zodat we de volgende keer dit niet meer sturen } } |
in de overige routines verander ik nooit Bericht3
Als een variabele static is, dan kan je ze blijkbaar niet buiten de routine benaderen?
De routine om een commando op de bus te zetten gaat goed.
De volgende die ik wil testen is de bus_status maar deze gaat blijkbaar mis... hij leest niks in (op een digitale pin) als hij aangeroepen wordt via bovenstaande I2C code. Als ik heb rechtstreeks aanroep met een vaste code in de setup() werkt hij wel. Aanroepen met een vaste code vanuit bovenstaande opdrachtverwerken() lukt ook niet...
Kan het dat de I2C op een of andere manier het uitlezen van een digitale pin blokkeerd?
UPDATE2: ga maar nog eens goed debuggen vanuit een oude versie denk ik want er gaat vanalles fout?...mochten er hints zijn dan hoor ik het graag
[ Voor 78% gewijzigd door Promy op 17-09-2013 20:37 ]
Dus zou ik graag een starterkit kopen.
Alleen weet ik niet echt waar ik best mijn starterkit koop.
Hebben jullie soms suggesties heb al gekeken op iprototype enz..
Ool ebay en je krijgt echt veel meer dan bij de webshops voir minder geld. Alleen weet ik niet echt of het wel te vertrouwen is.
Iemand die me kan vertellen waar ik mooi koopje kan doen?
Uiteraard heeft ze ook andere arduino's en printje, sensoren, etc.
http://stores.ebay.com/txhangelectronic/
PS
Heb geen aandelen of zo in haar shop.
Puur om te helpen voor betrouwbare arduino aanbieder op ebay.
http://123d.circuits.io/
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
| int sndpin = 11; void setup () { pinMode(sndpin, OUTPUT); randomSeed(analogRead(0)); pulseOut(sndpin, 20); delay(200); pulseOut(sndpin, 20); delay(200); pulseOut(sndpin, 20); delay(200); } void loop () { int randNumber = random(2,10); long sleeptime = randNumber * 60000; delay(sleeptime); pulseOut(sndpin, 100); } void pulseOut(int pin, int ms) { digitalWrite(pin, HIGH); ms = max(ms - 20, 1); delay(ms); digitalWrite(pin, LOW); } |
Ligt momenteel onder bureau van collega. Om de 2-10 minuten een kort piepje.
Hier kan een knoopcel op geklikt worden zodat deze doorloopt wanneer er geen voedingsspanning aangesloten zit.
Nu wijkt deze enorm af wanneer ik de arduino (en dus de 5V) niet aangesloten heb.
Heeft iemand hier ook ervaring mee/ een oplossing voor?
Ik heb hier toevallig een project draaien et een ds3231. Check even of de batterij nog goed is. Welke library gebruik je voor het uitlezen van de klok? Ik gebruik gewoon de time lib van arduino. Alles via i2c mag ik aannemen...darklord007 schreef op vrijdag 13 september 2013 @ 19:51:
Voor een precieze tijdsbepaling heb ik een ds3231 besteld.
Hier kan een knoopcel op geklikt worden zodat deze doorloopt wanneer er geen voedingsspanning aangesloten zit.
Nu wijkt deze enorm af wanneer ik de arduino (en dus de 5V) niet aangesloten heb.
Heeft iemand hier ook ervaring mee/ een oplossing voor?
| Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72
ik zal eens kijken voor een andere batterij om dat helemaal uit te sluiten.RobV schreef op vrijdag 13 september 2013 @ 21:26:
[...]
Ik heb hier toevallig een project draaien et een ds3231. Check even of de batterij nog goed is. Welke library gebruik je voor het uitlezen van de klok? Ik gebruik gewoon de time lib van arduino. Alles via i2c mag ik aannemen...
Ik gebruik de gewone RTClib welke ook met de 1307 werkt.
Idd via i2c aangesloten (serieel met een i2c omvormer vooreen lcd)
http://www.pjrc.com/teensy/td_libs_DS1307RTC.html
PS. Mijn batterij was nog maar 1.9v en dat is te laag om de tijd accuraat te houden. Vers batterijtje erin en werken. Let even goed op of de batterij geen sluiting maakt. Bij sommige batterijhouders gaat dat wel eens mis en is je batterijtje in no-time leeg.
http://forum.arduino.cc/index.php/topic,182979.0.html
| Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72
Maar ze moeten zeker 230V aan kunnen. Ook zoek ik nog een sensor voor het meten van de spanning.
Mad_max234 is vanaf nu mede-topicstarter, hij gaat ook de TS onderhouden
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
Spanning kan je gewoon meten met adc, adc is voltage meter, je moet alleen voltage omzetten van ac naar dc en verlagen naar juiste spanning. Daarna de je in de software tegenovergestelde som om weer naar originele spanning te schalen. Kan er overspanning protectie inbouwen, etc.Stijnb_ schreef op zaterdag 14 september 2013 @ 21:07:
Liefst inline maar non-invasive zijn ook goed.
Maar ze moeten zeker 230V aan kunnen. Ook zoek ik nog een sensor voor het meten van de spanning.
Je kan dit bereiken door trafo => diode brug => spanningsverdeler met potmeter, zodat je de output kan fijn afstellen op de input van je arduino, meestal zal dat 5v zijn. Als je het dan zo maakt dan 0-250v kan meten, dan zal als je ac 250v is er 5v uitkomen, en bij 125v zal er 2.5v uitkomen, etc.
Op ebay heb je veel verschillende non-invasive sensors, ik heb de bekende blauwe klem sensor(transvormer), heb alleen nog niet in gebruik genomen, kan je helaas dus niks vertellen hoe die in de praktijk werkt.
[ Voor 6% gewijzigd door mad_max234 op 14-09-2013 22:53 ]
de library zal niet heel veel verschilmaken denk ik. Die wat ik nu gebruik stelt de tijd goed in en leest m goed uit.RobV schreef op zaterdag 14 september 2013 @ 19:21:
Misschien dat het verschil maakt: ik gebruik deze
http://www.pjrc.com/teensy/td_libs_DS1307RTC.html
PS. Mijn batterij was nog maar 1.9v en dat is te laag om de tijd accuraat te houden. Vers batterijtje erin en werken. Let even goed op of de batterij geen sluiting maakt. Bij sommige batterijhouders gaat dat wel eens mis en is je batterijtje in no-time leeg.
http://forum.arduino.cc/index.php/topic,182979.0.html
Het batterijtje zal ik even nakijken, thxs voor de tips!
Om een en ander te testen heb ik hiervoor heb ik een wheatstone bridge gemaakt met 4 weerstanden van 1K (nog geen rekstrook, eerst maar eens testen).
Deze wheatstone bridge is aangesloten op een versterker: een INA125p. ([url="[url=\"http://www.ti.com/lit/ds/symlink/ina125.pdf\"]http://www.ti.com/lit/ds/symlink/ina125.pdf[/url]"]spec[/url])
Omdat het signaal positief dan wel negatief kan worden heb ik het aangesloten volgens figuur 6 van de spec zodat het signaal rond 2.5V veranderd:
Omdat alle 4 weerstanden gelijk zijn (1K 0.1%) zijn V+in en V-in gelijk (1.25V) en verwacht ik dat de arduino 2.5V meet op analoge pin A0, helaas is dit niet het geval. Arduino zegt 470 (ipv 512).
Rg heb ik niet aangesloten zodat de gain 4x is (maar goed 4x0=0 dus maakt voor deze test niet uit)
Wat gaat hier fout?
PS: Wat ik niet helemaal begrijp is de Load in het plaatje (waar ik een kruis door gezet heb) als ik daartussen ga meten dan meet ik toch weer alleen V+in-V-in, en dus eventueel negatieve voltages?
Als daar iets storing op zit, kan ik me voorstellen dat hij dan naar beneden toe bij regelt.
Meet je met de multimeter de juiste spanningen? Wat is de spanning op Aref pin van de arduino?