Acties:
  • 0 Henk 'm!

Anoniem: 187449

en wat doet de code .. bij mij werkte die wel hoor 8)

[ Voor 72% gewijzigd door Anoniem: 187449 op 28-12-2013 15:28 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Zover ben ik nog niet.
Ik was bezig dit uit te zoeken. Kan best zijn dat het wel goed aangeeft op ene of andere manier die ik dan (nog) niet begrijp.

Acties:
  • 0 Henk 'm!

Anoniem: 187449

Afbeeldingslocatie: http://i.imgur.com/pKjVBV8.jpg


Afbeeldingslocatie: http://i.imgur.com/8r1bUFZ.jpg

na een paar dagen kloten heb ik eindelijk contact met een SD kaartje.

1- heb een andere SD reader gekocht
2- regeltje code toegevoegd

pfffffff.. en nu bier ! :9

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Deed sd lib het niet? Had hem van de week gelijk werkend, out of the box, had dat even getest met bmp en tft. Zover ik weet zit er geen verschil in sd kaart lezers, zijn allemaal domme printjes zonder IC's(op soms een voltage regulator na) die allemaal hetzelfde zijn. Denk dat er dan iets fysiek fout heeft gezeten, kan bijna niet anders wat er is verder niks aanwezig. Of je probeerde met 5v de sd kaart aan te sturen, dan wilt 3.3v device nog wel eens weigeren, had van de week ook met tft, 5v met weerstanden(als protectie) was no go.

[ Voor 3% gewijzigd door mad_max234 op 28-12-2013 16:36 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 187449

mad_max234 schreef op zaterdag 28 december 2013 @ 16:34:
Deed sd lib het niet? Had hem van de week gelijk werkend, out of the box, had dat even getest met bmp en tft. Zover ik weet zit er geen verschil in sd kaart lezers, zijn allemaal domme printjes zonder IC's(op soms een voltage regulator na) die allemaal hetzelfde zijn. Denk dat er dan iets fysiek fout heeft gezeten, kan bijna niet anders wat er is verder niks aanwezig. Of je probeerde met 5v de sd kaart aan te sturen, dan wilt 3.3v device nog wel eens weigeren, had van de week ook met tft, 5v met weerstanden(als protectie) was no go.
lang verhaal kort.. hij werkt nu 8)

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Let op met SD kaarten en Arduino: Houd de kabels kort. Je datakabels en je GND kabel ongeveer 10 cm of korter houden is het beste. SD is nogal gevoelig voor de timings.
Met langere kabels ga je namelijk allerlij vreemde foutmeldingen krijgen of hij ziet bepaalde merken ineens wel en andere niet.

[ Voor 27% gewijzigd door alexandersamson op 28-12-2013 16:48 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

Anoniem: 187449

klopt.. heb de analyzer er op gehad en er zijn zoveel faktoren waarom zo'n kaartje niet goed of niet betrouwbaar kan funktioneren.
- voedingspanning
- lengte aansluitdraden
- sd kaartje (oud/nieuw/slecht geformat)
- reader fysiek bagger (de meeste chinezen dus)
- chip select line hoog/laag tijdens init (regel toegevoegd)
- SPI speed te hoog (oud kaartje ?)

ben nu aan het stoeien met de SDfat lib, een wrapper om de SD lib

[ Voor 15% gewijzigd door Anoniem: 187449 op 28-12-2013 16:55 ]


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 23-06 22:53
Anoniem: 187449 schreef op dinsdag 24 december 2013 @ 17:43:
beide stukjes code zijn nogal timings gevoelig en laten zich niet (eenvoudig) combineren
op het moment dat je in je interrupt routine komt staat de millis teller in de 'openenergymonitor stil
Hmm, dacht ik al... Het zal eenvoudiger zijn het op te splitsen over 2 arduino's denk ik.

Acties:
  • 0 Henk 'm!

Anoniem: 187449

als het goed werkte met 2 niet aan kloten :)

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Volgens mij is het probleem ook bij SD kaartjes dat de gemiddelde fabrikant zich er niet heel druk over maakt hoe goed de SPI mode werkt, gezien voor nagenoeg alle consumenten producten hij toch die niet gebruikt.

Ik moet het zelf nog eens met ander bordje/SD kaart testen, maar ik heb er nu eentje waarbij ik eerste commando icm de mbed SD lib twee keer moet uitvoeren omdat de eerste keer faalt, tweede keer lukt altijd. (Die heeft nog wel wat extra dingen zoals een switch die power kan uitschakelen naar de SD kaart, dus eens uitzoeken of het kaartje is of iets op het bord).

Heb nu de mbed SD lib aangepast (voor enkel de KL25, de LPC1768 is nu work in progress) dat hij de SPI data via DMA verstuurd. Dan nog een kleine functie eraan toegevoegd, en nu is het als je RTOS gebruikt je Thread die de SPI kaart bestuurd nauwlijks nog blokkeerd: Terwijl de SD kaart aan het lezen/schrijven is kan hij andere taken blijven uitvoeren.

Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 23-06 22:53
Kan het kwaad om 2 arduino's op elkaar te stapelen en hierbij enkele analoge en digitale pinnen te verbinden tussen beide bordjes?
Het is zo dat er nooit pinnen worden gedeeld bij het uitlezen.
Op deze manier moet ik m'n eigen gemaakte print (waar de arduino opprikt) niet hermaken :) of met draadjes zitten prutsen, maar kan ik met stackable pins werken.
Beide bordjes worden gevoed via een usb kabel van dezelfde RPi

[ Voor 8% gewijzigd door Promy op 28-12-2013 17:21 ]


Acties:
  • 0 Henk 'm!

Anoniem: 187449

ik ken je hele systeem niet maar ik denk dat het beter is een USB hub met adapter ertussen te zetten om je arduino's te voeden.
welke pinnen van 2 draaiende arduino's zo kan doorverbinden durf ik me zo 1,2,3 niet over uit te spreken.

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 22:43
Op zich zal het wel kunnen zolang je oppast dat je geen kortsluiting maakt, dus alle ongebruikte pins iig als input defineren, en ten aller tijden voorkomen dat een output op de ene arduino ook een output op de andere is.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
alexandersamson schreef op zaterdag 28 december 2013 @ 16:46:
Let op met SD kaarten en Arduino: Houd de kabels kort. Je datakabels en je GND kabel ongeveer 10 cm of korter houden is het beste. SD is nogal gevoelig voor de timings.
Met langere kabels ga je namelijk allerlij vreemde foutmeldingen krijgen of hij ziet bepaalde merken ineens wel en andere niet.
SPI is serial verbinding, en geen parallelle, timing kan dus bijna nooit probleem vormen, tot 1 meter moet spi gewoon werken, of nu sd kaart is of ethernet, of wat dan ook. SPI is SPI. En timing probleem ontstaan meestal door kabels of traces die niet gelijke lengte hebben, als alle kabel even lang zijn heeft alel data ook dezelfde vertraging en is er geen timing verschil, maar dan hebben we het meestal over RAM of iets, wat op zeer hoge snelheid werken bij parallel verbindingen.

Denk eerder dat je last hebt van interferentie, dat treed op bij elke verbinding met kabels die lang genoeg zijn en zich in buurt bevinden van spaarlamp, tl, datalijnen, AC, etc, alles wat schakelt en wat niet goed is afgeschemd zal signaal uitzenden. Kabel naar sd die lang zat zijn en niet afgeschermd zullen dan dat gaan ontvangen.

Even wat anders SD native interface is toch SPI?

Edit/
Zal straks een testen, 10cm, 30cm, 50cm, etc tot 1meter. Zal afgeschermde kabels gebruiken en daarna zonder afscherming, zal ook test doen met storingsbron in de buurt zonder afscherming.

[ Voor 7% gewijzigd door mad_max234 op 28-12-2013 19:49 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Helaas, SD is net iets anders, die zijn wel extreem timingsgevoelig. Ik had mijn kabels tot 15 cm moeten inkorten. Ik liep van batterij en geen storingsbronnen in de buurt. Het was ook heel goed te reproduceren.
Over het algemeen zijn andere SPI zaken wel goed aan te sturen met kabeltjes van 25-30 cm.
Vergis je niet.
Ik heb door dit heel veel gezeik gehad met een .WAV module die werkt met SD kaart. Helaas, want het kostte me veel tijd :(

[ Voor 17% gewijzigd door alexandersamson op 28-12-2013 19:53 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Volgens mijn niet, is gewoon SPI protocol, later is er udma bijgekomen, maar interface is daarvan ook nog steeds spi. Hoe heet de interface protocol volgens jou dan?

Ik ga zo even testen, zie mijn edit. Heb vier sd kaartje opgezocht, van verschillende klasse en sommige zijn al jaren oud andere zijn vrij recente exemplaren.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Ik dacht ook gewoon SPI, maar wel een aparte. SPI is zoizo niet echt helemaal gestandardizeerd eigenlijk, dat terzijde. Ik ben erg benieuwt naar je testresultaten! :) Ik had zelf ook 4 kaartjes, een van 32GB, 4GB 2GB en een 4GB micro in een normale SD-adapterkaart. Uiteindelijk werkte alleen de normale 4GB met kabels van 30CM,
Met kabels van 15CM werkte alle kaarten.
Het gaat om datakabels en de GND. de +5v +3.3V maakt niet zoveel uit ben ik achter gekomen, want die zit niet in de timing/data loop.

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
weet het nu zeker, scandisk datasheet bekeken en is gewoon spi protocol. ;)

http://dlnmh9ip6v2uc.clou...onents/General/SDSpec.pdf

Zoals ik al dacht heb je spi en sd bus interface beide opgenomen in de Sd standaard, spi is gewoon doodnormale spi. SPI is dus gewoon SPI, je moet wel rekeing houden met timing van de sd kaart zelf, als je bijv. register schrijft of lees zit daar bepaalde tijd aan vast, geldt ook voor andere taken. Maar dat is altijd zo, nrf24l01 heeft zijn eigen timing en tft ook, allemaal spi maar chip waarmee je praat doet natuurlijk wet iets anders. Net zoals je ook andere registers moet aanspreken, zo zijn ook timing anders van de controllers.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Net test gedaan met iets meer dan 40cm kabel zonder enige bescherming die uit meerder jumper kabels bestaat en sd kaart is gewoon te lezen, kan gewoon bmp lezen en weergeven, geen enkele fout, zit 80cm van lcd tv af, en 1,5meter van twee spaarlampen.

kabel spi

Komt nog filmpje aan(moet nog even uploaden) zodat je de sd werkend kan zien met 40+ centimeter kabel, en dat moet nog langer kunnen, maar heb rest van jumperwires in gebruik, en heb eigenlijk toch geen zin om kabel te gaan maken. Denk dat deze test ook genoeg bewijst dat spi van sd gewoon behandel kan worden zoals je altijd zou doen met spi en kabels.

edit/
oeps dubbele post, had edit moeten gebruiken, sorry. :9

Edit/2
En het filmpje, let niet op de kwaliteit, is met telefoon opgenomen, en firmware hapert nogal, en bedankt Samsung voor de 4.2 android update die een goedwerkende telefoon in slechte veranderde, project butter is project stroop geworden bij Samsung, zo dat lucht weer op. :D

YouTube: sd test filmpje, 40cm kabel.
SD van het filmpje is een 1GB kaartje, heb ook 1GB micro sd getest en 512MB micro sd. Zo heb je tig keer sd adapter in je handen en als je hem nodig hebt moet je hele huis op zijn kop zetten. :+
Dacht wellicht zit daar nog verschil tussen, maar doen het allemaal zoals verwacht, geen enkele lees of schrijffout.

De tft en nrf24l01 zitten ook nog op de SPI bus, die moeten de bus delen met de sd kaart, wat soms ook nog wel eens vreemde problemen geeft, software gerelateerd wel te verstaan.

[ Voor 40% gewijzigd door mad_max234 op 28-12-2013 21:15 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 187449

grappig, ik ondervindvond SPI problemen, het halve internet staat vol met mensen die ook arduino -> SD kaart problemen hebben, maar mad_max weet het beter en er bestaan dus helemaal geen SPI SD kaart problemen.. wat wil je daar nou mee zeggen :?

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik zeg niet dat mensen geen problemen hebben met sd aansturen, maar is niet spi en kabel lengte, dat sommige die conclusie trekken zegt niks. Hele arduino forum zit vol met beginner en leest daar de vreemdste dingen die ze ook vaak nog voor waarheid aanzien. ;)

Ik heb het zelf getest, en kan niet nabootsen, mijn testen ontkrachten het zelfs, als het spi zou zijn icm met kabels bij sd kaart zou ik het gewoon moeten kunnen nabootsten. En wil test wel nog wat zwaarder maken als jij nog niet overtuigd bent, moet ik even wat meer jumper wires opzoeken.

En internet staat ook vol met mensen waar sd wel gewoon prima werkt met relatief lange kabels, veel meer dan problemen, maar die zie je nooit als je zoekt op problemen.

Wat meer voor de hand ligt is dat je interferentie hebt, of slecht contacten op je breadbrod, software, etc.

Edit/
Lol, heb je ook gekeken wat voor resultaten google geeft in jou linkje, zitten bijna geen problemen tussen, zelf eerst pagina met resultaten gaan meer en deel al over andere zaken dan problemen, wel over sd maar niet over kabel lengte of überhaupt problemen. Sommige zijn gewoon tutorials, etc. En als er problemen zijn zijn ze vaak software gerelateerd.

Niet echt overtuigend als het echt zoveel problemen zou geven als je beweerd. ;)

Edit/
Ik weet het niet beter, het is gewoon zo, ik gis niet, ik test. Gissen is missen en meten is weten. ;) :+

[ Voor 25% gewijzigd door mad_max234 op 28-12-2013 22:12 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 187449

heb je al een kabeltje van 53 cm getest 8)7

begrijpend lezen heb jij meer aan .. ik meld blij te zijn dat mijn SD kaartje werkt en vermeld de gevonden oplossing.
ik had al aangegeven dat ik een nieuwe SD reader had gekocht ( omdat ik vermoedde dat daar een probleem mee was)
Ga jij dan een poging doen om te zeggen dat het helemaal niet zo is... hahahahaha :+

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Anoniem: 187449 schreef op zaterdag 28 december 2013 @ 22:16:
heb je al een kabeltje van 53 cm getest 8)7

begrijpend lezen heb jij meer aan .. ik meld blij te zijn dat mijn SD kaartje werkt en vermeld de gevonden oplossing.
ik had al aangegeven dat ik een nieuwe SD reader had gekocht ( omdat ik vermoedde dat daar een probleem mee was)
Ga jij dan een poging doen om te zeggen dat het helemaal niet zo is... hahahahaha :+
Doe even normaal aub, want je snap geloof ik niet helemaal tegen wie ik mijn post had gericht, was niet voor jou bedoeld in ieder geval. :P

Ik was in discussie met alex, niet met jou, maar jij bent vrij om mee te doen natuurlijk op een forum. Alex zei dat 15cm max was, bij meer dan 15cm werkt sd niet meer volgens hem, zie paar posten terug. Dat kon ik slecht geloven dus ben ik gaan testen. ;)

alexandersamson in "[Discussie] Arduino-topic"

Edit/
En ja ik ga nu kabel van 56cm testen. :+ :P

Edit/
En 56cm(CS is korter, die is 50cm, miso, mosi, sck zijn 56cm) werkt ook gewoon prima, hoefde niet eens sd te herstarten na één voor één de kabels te hebben verlengt.

[ Voor 10% gewijzigd door mad_max234 op 28-12-2013 22:30 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 187449

Jij was anders wel de eerste die onmiddelijk reageerde op de inmiddels welbekende betweterige toon mbt mijn SD kaart probleempje.
Lees het anders nog is even terug... alle respect voor je kennis maar de manier waarop zou bijgeschaafd kunnen worden.. ik had vroeger nerds in dienst (ben nu met pensioen!) dus ik herken het gedrag wel 8)

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat vat jij zo op, niet zo bedoeld, ik geef je daar gewoon wat extra info en deel mijn ervaring met jou, en die post heeft ook niks te maken met discussie over lengt van kabel. ;)


Ik heb overigens dyslexie wat nooit helemaal is overgegaan, zinnen en woorden kunnen wel eens wat krom zijn of zelfs helemaal door elkaar staan, doe mijn best om het zo goed mogelijk leesbaar te maken. En spellingscontrole helpt je maar tot zekere hoogste. Maar dat kon jij ook niet weten. Mijn zinnen zijn ook vaak kort, missen vaak woorden of letters, kan dus wat bot overkomen, bedoel het niet zo. ;)

Edit/
Als ik het zou posten om eigendunk dan zou ik niet alle tijd erin steken om testen uit te voeren, heb hele huis moeten afzoeken naar kabeltjes en adapter. En had ook gewoon kunnen uitpakken dat niet werkte, wist het niet zeker natuurlijk, vond het alleen onwaarschijnlijk. Had ik dan ook gewoon netjes gemeld natuurlijk, had ik ongelijk gehad, wist ik het zelfs slechter. :+

Edit/
Wilt iemand misschien nog effect zien van wat storingbron(interferentie) doet op een lange(30cm+) spi verbinding, heb nu toch 56cm kabel eraan, kan net zo geod even bron opzoeken. Bron kan je makkelijk vind met adc die float, als die ineens alle kant opgaat of iets anders raars doet dan zijn normale schommel dan heb je storingbron te pakken.

[ Voor 45% gewijzigd door mad_max234 op 28-12-2013 22:49 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Laten we niet te hard van stapel lopen hier. Max heeft wel degelijk in een aantal zaken gelijk en heeft dat proefondervindelijk vastgesteld.
Dankzij deze hele discussie heb ik mijn instabiliteitsprobleem met dat .WAV shield eindelijk na 2 weken opgelost.
Dat shield heb ik nooit gebruikt als shield en ik had gewoon alle kabeltjes los aangesloten. Het schema er bij gehaald en zeker er van geweest dat alles was aangesloten.
Werkte dus niet, kabels ingekort, werkte wel. Tot nu toe een bekend verhaal. Toen mad_max ineens met zijn onderzoek kwam en het potverdorie gewoon keihard werkte bij hem... Dus inderdaad er moest iets nogal erg lurp bij mij zijn dat ik 15 centimeter kabeltjes moest gebruiken om het te laten werken. Ik bedacht: Laat ik alles even op dat shield opnieuw vertinnen (was kitje), dus overal met de bout langs gegaan... Valt mij ineens op dat er 2 verschillende Grounds zijn die niet wordt gedeelt. Een gedeelte voor de DAC en een voor de SD card slot.... WTF dacht ik. Het blijkt dat de SD card reader geen GND had, maar als ground het verschil in voltage van de 5V naar 3.3 regulator maar ging gebruiken als GND om te sinken... Lekker instabiel...
Om kort verhaal kort te houden: GND met GND verbonden :+ Opgelost. Werkt nu ook met 25cm kabeltjes.

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

Anoniem: 187449

ok Peter (ff opgezocht :P ) zand erover, ik besef heel goed dat je het niet rot bedoeld en theoretisch technisch heb je heel vaak ook gelijk.. maar sommige storingen zijn niet zo makkelijk te vangen in een theoretisch 'kan niet' verhaal.
Ik heb de SPI bus analyzer is gebruikt en zag toch echt hele vreemde signalen als ik een aansluitdraadje van de reader 5 cm verplaatste..uiteindelijk heb ik een ander chinees readertje gekocht en 1 regel code aangepast (gevonden op het net) en toen werkt het.. en ik was blij en zo begon het 8)

[ Voor 7% gewijzigd door Anoniem: 187449 op 28-12-2013 22:45 ]


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Met de normale snelheid waarmee SPI naar SD kaarten wordt gebruikt moet dat inderdaad geen probleem zijn met wat grotere lengtes, ook omdat er gewoon een klok wordt meegestuurd.

Echter, het is wel zeer zeker waar dat SD kaarten met SPI benaderen relatief vaak problemen geeft.

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Net voor de grap eens een stuk snoer van een meter geknipt. Geen enkele kaart wordt herkend, steeds een andere foutmelding als ik zo'n sd kaartlees test library gebruik :P
De magische grens voor mij ligt ergens tussen de 50 en de 200 cm (25 en 100cm data kabels, + 25 en 100 voor de GND) :)

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

Anoniem: 187449

alexandersamson schreef op zaterdag 28 december 2013 @ 22:53:
Net voor de grap eens een stuk snoer van een meter geknipt. Geen enkele kaart wordt herkend, steeds een andere foutmelding als ik zo'n sd kaartlees test library gebruik :P
De magische grens voor mij ligt ergens tussen de 50 en de 200 cm (25 en 100cm data kabels, + 25 en 100 voor de GND) :)
// SD card errors
/** timeout error for command CMD0 (initialize card in SPI mode) */
uint8_t const SD_CARD_ERROR_CMD0 = 0X1;
/** CMD8 was not accepted - not a valid SD card*/
uint8_t const SD_CARD_ERROR_CMD8 = 0X2;
/** card returned an error response for CMD12 (write stop) */
uint8_t const SD_CARD_ERROR_CMD12 = 0X3;
/** card returned an error response for CMD17 (read block) */
uint8_t const SD_CARD_ERROR_CMD17 = 0X4;
/** card returned an error response for CMD18 (read multiple block) */
uint8_t const SD_CARD_ERROR_CMD18 = 0X5;
/** card returned an error response for CMD24 (write block) */
uint8_t const SD_CARD_ERROR_CMD24 = 0X6;
/** WRITE_MULTIPLE_BLOCKS command failed */
uint8_t const SD_CARD_ERROR_CMD25 = 0X7;
/** card returned an error response for CMD58 (read OCR) */
uint8_t const SD_CARD_ERROR_CMD58 = 0X8;
/** SET_WR_BLK_ERASE_COUNT failed */
uint8_t const SD_CARD_ERROR_ACMD23 = 0X9;
/** ACMD41 initialization process timeout */
uint8_t const SD_CARD_ERROR_ACMD41 = 0XA;
/** card returned a bad CSR version field */
uint8_t const SD_CARD_ERROR_BAD_CSD = 0XB;
/** erase block group command failed */
uint8_t const SD_CARD_ERROR_ERASE = 0XC;
/** card not capable of single block erase */
uint8_t const SD_CARD_ERROR_ERASE_SINGLE_BLOCK = 0XD;
/** Erase sequence timed out */
uint8_t const SD_CARD_ERROR_ERASE_TIMEOUT = 0XE;
/** card returned an error token instead of read data */
uint8_t const SD_CARD_ERROR_READ = 0XF;
/** read CID or CSD failed */
uint8_t const SD_CARD_ERROR_READ_REG = 0X10;
/** timeout while waiting for start of read data */
uint8_t const SD_CARD_ERROR_READ_TIMEOUT = 0X11;
/** card did not accept STOP_TRAN_TOKEN */
uint8_t const SD_CARD_ERROR_STOP_TRAN = 0X12;
/** card returned an error token as a response to a write operation */
uint8_t const SD_CARD_ERROR_WRITE = 0X13;
/** attempt to write protected block zero */
uint8_t const SD_CARD_ERROR_WRITE_BLOCK_ZERO = 0X14; // REMOVE - not used
/** card did not go ready for a multiple block write */
uint8_t const SD_CARD_ERROR_WRITE_MULTIPLE = 0X15;
/** card returned an error to a CMD13 status check after a write */
uint8_t const SD_CARD_ERROR_WRITE_PROGRAMMING = 0X16;
/** timeout occurred during write programming */
uint8_t const SD_CARD_ERROR_WRITE_TIMEOUT = 0X17;
/** incorrect rate selected */
uint8_t const SD_CARD_ERROR_SCK_RATE = 0X18;
/** init() not called */
uint8_t const SD_CARD_ERROR_INIT_NOT_CALLED = 0X19;
/** card returned an error for CMD59 (CRC_ON_OFF) */
uint8_t const SD_CARD_ERROR_CMD59 = 0X1A;
/** invalid read CRC */
uint8_t const SD_CARD_ERROR_READ_CRC = 0X1B;
/** SPI DMA error */
uint8_t const SD_CARD_ERROR_SPI_DMA = 0X1C;

:'(

overigens kan je ook zelf met de timing spelen..

// SPI speed is F_CPU/2^(1 + index), 0 <= index <= 6
/** Set SCK to max rate of F_CPU/2. See Sd2Card::setSckRate(). */
uint8_t const SPI_FULL_SPEED = 0;
/** Set SCK rate to F_CPU/3 for Due */
uint8_t const SPI_DIV3_SPEED = 1;
/** Set SCK rate to F_CPU/4. See Sd2Card::setSckRate(). */
uint8_t const SPI_HALF_SPEED = 2;
/** Set SCK rate to F_CPU/6 for Due */
uint8_t const SPI_DIV6_SPEED = 3;
/** Set SCK rate to F_CPU/8. See Sd2Card::setSckRate(). */
uint8_t const SPI_QUARTER_SPEED = 4;
/** Set SCK rate to F_CPU/16. See Sd2Card::setSckRate(). */
uint8_t const SPI_EIGHTH_SPEED = 6;
/** Set SCK rate to F_CPU/32. See Sd2Card::setSckRate(). */
uint8_t const SPI_SIXTEENTH_SPEED = 8;
/** MAX rate test - see spiInit for a given chip for details */
const uint8_t MAX_SCK_RATE_ID = 14;
//------------------------------------------------------------------------------
/** init timeout ms */
uint16_t const SD_INIT_TIMEOUT = 2000;
/** erase timeout ms */
uint16_t const SD_ERASE_TIMEOUT = 10000;
/** read timeout ms */
uint16_t const SD_READ_TIMEOUT = 300;
/** write time out ms */
uint16_t const SD_WRITE_TIMEOUT = 600;

[ Voor 16% gewijzigd door Anoniem: 187449 op 28-12-2013 22:57 ]


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Een paar keer zegt ie dat ik geen geldige partitie heb, dan weer melding 05 of 06 (onbekend voor mij), enkele keer 00 (doet ie helemaal niets)

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Geen probleem, zand erover. :)
Verder met de hobby en sd spi mysterie. :D

mag ik linkje naar de test lib? Misschien dat daar nog wat uit te halen valt qua info, kan zijn dat lib gewoon andere instelling heeft voor de spi, spi heeft meerdere modes.

@borroz
Dat is interessant, die timing hebben overigens niks met spi bus te maken. Wel die spi speed defines, daarmee kan je spi bus snelheid instellen waarom die moiet werken, 2Mbit, 2Mbit, 8Mbit, etc. cpu clock word dan gedeelte en daarvan word de spi clock dan afgeleid. Maar timings niet, die zijn voor sd controller, als je command verstuur heeft de controller daar tijd voor nodig om die te verwerken, twee cmd achter elkaar zal boel verstoren of als je controller te snel uit cmd mode haalt of zo, zijn maar voorbeelden ken sd nog niet goed genoeg, en zoals al eerder werd opgemerkt verschillen de spi devices nog wel eens van elkaar.
Ik denk dat we dus beide over iets anders hebben, spi is interface, timing zijn voor de sd controller, tijd die de controller nodig heeft om taak uit te voeren. Heeft niks te maken met spi verbinding zelf maar met SD protocol en controller. En dat kan wellicht verschillen per SD kaart, denk dat er tig SD controller zijn.

edit/
We hebben het toch niet steeds over verschillende zaken, ik had het namelijk steeds over spi verbinding, krijg beetje vermoeden dat jullie het hebben over het aansturen van de sd controller en de daarbij horende commands en timings?

Dat luistert namelijk wel soms heel nauw, zoals bij hd44780, moet je perse tussen bepaalde commands x aantal us of ms tussen zitten, anders krijg je hem niet in juiste mode en initial zal dan mislukken.

[ Voor 15% gewijzigd door mad_max234 op 28-12-2013 23:30 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

Anoniem: 187449

mad_max234 schreef op zaterdag 28 december 2013 @ 23:25:

@borroz
Dat is interessant, die timing hebben overigens niks met spi bus te maken. Wel die spi speed defines, daarmee kan je spi bus snelheid instellen waarom die moiet werken, 2Mbit, 2Mbit, 8Mbit, etc. cpu clock word dan gedeelte en daarvan word de spi clock dan afgeleid.
vandaar ook

code:
1
2
3
4
5
6
7
8
if (!card.init([b]SPI_HALF_SPEED[/b], chipSelect)) {
    Serial.println("initialization failed. Things to check:");
    Serial.println("* is a card is inserted?");
    Serial.println("* Is your wiring correct?");
    Serial.println("* did you change the chipSelect pin to match your shield or module?");
    return;
  } else {
   Serial.println("Wiring is correct and a card is present.");


uit de 'cardinfo' demo sketch bij de standaard SD lib, die SPI speed kan wel eens te hoog zijn (en meer storing geven met bepaalde merken oudere SD kaartjes)

Afbeeldingslocatie: http://i.imgur.com/cDc1BJ5.jpg
die wel en die niet

maaar goed, ik ben geen SD kaart of protocol deskundige, ik wil gewoon een paar bytes van een oud kaartje lezen :'(
en ja, daar ben ik een paar dagen zoet mee geweest.. en veel geleerd gaandeweg en daar gaat het toch om :z

[ Voor 14% gewijzigd door Anoniem: 187449 op 28-12-2013 23:55 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik ben er ook al uren mee zoet en wellicht morgen ook nog, en heb niet eens een probleem. :D
Maar ben wel lekker aan hobbyen, en daar gaat het om. :)

Ik heb net 56cm kabel om spaarlamp heen gedraaid en krijg niet over zijn toeren, PL-S armatuur erbij geplakt(50Khz EVSA) en slideshow gaat gewoon onverstoord door. de SPI is robuuster dan ik had verwacht. :D

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 187449

zo zag ik nu voor het eerst dat er een serie nr. in zo'n kaartje zit.. en een fabricage jaar.. wellicht kan je met die laatste info de lib auto laten aanpassen :)

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
En de SPI verstoort de werking van de spaarlamp ook niet? :P

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat zou wel leuk zijn, knipperlamp op klok van de spi of zo. :D

Edit/
Wellicht kan je de initial wat langer maken, 74 klok wachten is minimaal, lib wacht nu 80, als sd er iets naast zit kan je al in de problemen komen. Is maar schot in het duister, maar wat spelen met initial kan soms wonderen doen.

Standaard sd lib, file: Sd2Card.cpp (libraries\SD\utility)
// must supply min of 74 clock cycles with CS high.
for (uint8_t i = 0; i < 10; i++) spiSend(0XFF);

Of als je de Adafruit lib gebruikt, file: sd_raw.cpp (libraries\AF_Wave)
/* card needs 74 cycles minimum to start up */
for(i = 0; i < 10; ++i)
{
/* wait 8 clock cycles */
sd_raw_rec_byte();
}

@borroz
Dus een kaartje doet het wel gewoon, lijkt me controller gerelateerd dus, wellicht heb je kaartje die zich niet helemaal aan standaard houd en er niet iets buiten valt. Dan kan wat spelen met initial instellingen het probleem wellicht oplossen.

Nog stomme vraag, je hebt beide kaartjes wel fat16 geformatteerd? want dat geeft de voorkeur namelijk, fat32 mag ook wel maar kan problemen geven, mocht je fat32 hebben, dan kan je fat16 ook eens proberen of dat verschil maakt.

[ Voor 89% gewijzigd door mad_max234 op 29-12-2013 00:45 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 187449

mijn 'probleem had ik al opgelost en ik heb er alweer genoeg tijd inzitten... next

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik wil nu ook weten hoe het zit, daar leren we weer van voor de toekomst. Ik ga nog even door, laat jullie wel weten als ik iets nieuws te melden heb, begint beetje te veel slowchat te worden op deze manier. :)

Wat is Next? Ben altijd nieuwsgierig. :D

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Zal dat met die library eens proberen. Maar voor nu werkt die goed en heb ik genoeg ander werk nog te doen, haha!

Afbeeldingslocatie: http://www.gm7.nl/wp-content/uploads/2013/12/DSC_0746-1024x677.jpg
Hier kan je hem zien zitten, onderaan, het gewraakte rotding. Zeer dicht bij de printplaat (onder houten kap in het midden), omdat die kabels het eerst niet deden veel langer :P. Plakbandje ziet er beetje ongelukkig uit, maar is oorspronkelijk bedoelt om de plaat uit de legerkist te tillen, toen er nog geen gaten in gezaagd waren en ik nergens grip op kon krijgen :)

(de voorkant voor wie nieuwsgierig was):

Afbeeldingslocatie: http://www.gm7.nl/wp-content/uploads/2013/12/DSC_0748-1024x677.jpg

[ Voor 13% gewijzigd door alexandersamson op 29-12-2013 00:58 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ziet er netjes uit, kabeltjes netjes gebonden met tyraps.

Als alles werkt blijf er dan maar snel vanaf. :D Alleen als je je verveeld en wat wilt hobbyen of als je andere printje hebt test het dan maar keertje, wil niet dat straks niet meer werkt door een testje. :+ :D

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Ik ben in ieder geval blij dat ik die instabiliteit er uit heb gehaald. Hij werkte dus al wel, maar was door die rare missende GND blijkbaar erg instabiel. :) Ben wel blij dat het is opgelost, want het is voor een opdrachtgever en niet voor mijzelf. Zelf kan ik nog rotzooien met eigen hobbyspul, maar als ik steeds op een neer moet rijden naar een opdrachtgever om bugs te lopen fixen, wordt dat veels te duur haha, Denk inderdaad dat het beter is deze nu gewoon lekker met rust te laten.

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

Anoniem: 187449

mad_max234 schreef op zondag 29 december 2013 @ 00:49:
Ik ga nog even door..

Wat is Next? Ben altijd nieuwsgierig. :D
kan je je tijd wellicht beter hierin stoppen.. iets dat niet te krijgen is (zover ik weet)

een USB stick -> SPI interface + LIB voor de arduino, zodat je, net als met een SD kaartje, files kan lezen en schrijven op die stick 8)

succes !

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Anoniem: 187449 schreef op zaterdag 28 december 2013 @ 15:26:
en wat doet de code .. bij mij werkte die wel hoor 8)
Hier werkt t inmiddels ook en ben er uit. Zijn offset is verkeerd.
Het volgende komt in beeld bij een gemeten kamertemperatuur van circa 25 graden.
(programma enigzins aangepast om tussenresultaten te krijgen)
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
 void setup()
{
Serial.begin(9600);   // activate the serial output connection
}
float voltage = 0; // setup some variables
float sensor = 0;
float voltageB=0;
float celsius = 0;

void loop()
{              // let's get measurin'
sensor = analogRead(0);
voltage = (sensor*5000)/1024; // convert raw sensor value to millivolts
voltageB = voltage-400;        // remove voltage offset
celsius = voltageB/10;         // convert millivolts to Celsius
Serial.print("sensor:  ");
Serial.println(sensor,2);
Serial.print("voltage: ");
Serial.println(voltage,2);
Serial.print("voltageB: ");
Serial.println(voltageB,2);
Serial.print("Temperature: ");
Serial.print(celsius,2);
Serial.println(" degrees C");
Serial.println("_ _ _ _ _ _ _ _ _ _ _ _ _ _  ");
delay (5000); // wait 5 seconds
}

Dit komt dus in beeld (klik)
Afbeeldingslocatie: http://s14.postimg.org/tt35tbyul/tmp36_3.jpg
De kamertemperatuur is echter 25 en geen 35 graden zoals de monitor aangeeft.
Bewijs geleverd: zijn programma klopt niet.
Offset veranderd in -500 en dan zie ik dit :
Afbeeldingslocatie: http://s12.postimg.org/gu71t77op/tmp36_4.jpg
En dat lijkt er een stuk beter op.
Overigens nogmaals bedankt voor de andere links, dan kan ik nog meer vergelijken. :)
Ps : en bedankt voor die webwinkel, ziet er idd goed uit.

[ Voor 3% gewijzigd door kitao op 29-12-2013 08:02 . Reden: Ps ]


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Anoniem: 187449 schreef op zondag 29 december 2013 @ 06:18:
[...]


kan je je tijd wellicht beter hierin stoppen.. iets dat niet te krijgen is (zover ik weet)

een USB stick -> SPI interface + LIB voor de arduino, zodat je, net als met een SD kaartje, files kan lezen en schrijven op die stick 8)

succes !
Volgens mij heb je voor USB sticks een stuk software of hardware nodig die de USB kan hosten. Een Arduino had dacht ik niet de resources genoeg om dat op zichzelf te doen. Ik had laatst zoiets gedaan met een bluetooth dongle en een racewagentje (http://www.gm7.nl/ps3racer/). Er komt veel bij kijken ben ik achter gekomen.

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Je hebt een USB host aansluiting nodig, tenzij je gaat proberen door bitbanging USB host te emuleren. Ik zal niet zeggen dat het onmogelijk is, maar ik kan me ook betere ideeën voorstellen, zoals gewoon een uC gebruiken met USB Host erop.

Acties:
  • 0 Henk 'm!

Anoniem: 187449

ja allemaal leuk zo'n USB host en ik snap de techniek erachter ook wel enigzins .. maar 'gewoon' een usb sticky prikken in een Arduino is blijkbaar nogal complex, ooit is een groepje begonnen met een lib te schrijven maar zijn gestopt en commerciele modules heb ik nooit gezien.. vandaar de 'uitdaging
Denk dat er best veel mensen het wel handig zouden vinden.. las ik al googlend 8)

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
alexandersamson schreef op zondag 29 december 2013 @ 01:15:
Ik ben in ieder geval blij dat ik die instabiliteit er uit heb gehaald. Hij werkte dus al wel, maar was door die rare missende GND blijkbaar erg instabiel. :) Ben wel blij dat het is opgelost, want het is voor een opdrachtgever en niet voor mijzelf. Zelf kan ik nog rotzooien met eigen hobbyspul, maar als ik steeds op een neer moet rijden naar een opdrachtgever om bugs te lopen fixen, wordt dat veels te duur haha, Denk inderdaad dat het beter is deze nu gewoon lekker met rust te laten.
Dat het ik helemaal gemist, zonder GND zal inderdaad niet of nauwelijks werken. Vond al vreemde mod wire op je sd printje zitten. Was dat een pcb fout of zo?
Anoniem: 187449 schreef op zondag 29 december 2013 @ 06:18:
[...]


kan je je tijd wellicht beter hierin stoppen.. iets dat niet te krijgen is (zover ik weet)

een USB stick -> SPI interface + LIB voor de arduino, zodat je, net als met een SD kaartje, files kan lezen en schrijven op die stick 8)

succes !
usb stick -> usb -> arduino
Komt geen spi aan te pas, usb stick heeft usb interface geen spi interface. :)

En dat is ook veel te complexe om "even" in elkaar te zetten, heb vaak al moeite om usb werkend te krijgen.

Lees voor gein maar een usb in nutshell, let op dit is alleen introductie pagina, link in het menu staan de overigens pagina's van dit artikel. Is in simpele taal samengevat, dan nog zit je meet 20 pagina aan uitleg.
http://www.beyondlogic.org/usbnutshell/usb1.shtml

De echte specificatie van usb zelf bevatten 650 pagina's, vind je hier.
http://www.usb.org/developers/docs/usb20_docs/

Ben bezig met Xmega usb CDC(virtual com) code, is al meer dan genoeg uitdaging op usb vlak. Al met al pas ik dus voor je uitdaging. :+

[ Voor 41% gewijzigd door mad_max234 op 29-12-2013 13:10 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 187449

kitao schreef op zondag 29 december 2013 @ 07:50:
[...]

Hier werkt t inmiddels ook en ben er uit.
Overigens nogmaals bedankt voor de andere links, dan kan ik nog meer vergelijken. :)
.
als het goed is meet je ook een temp verschil tussen het voeden van je Arduino uit de USB poort of met adapter.
dat verschil kan je evt. meten en corrigeren

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Anoniem: 187449 schreef op zondag 29 december 2013 @ 12:24:
ja allemaal leuk zo'n USB host en ik snap de techniek erachter ook wel enigzins .. maar 'gewoon' een usb sticky prikken in een Arduino is blijkbaar nogal complex, ooit is een groepje begonnen met een lib te schrijven maar zijn gestopt en commerciele modules heb ik nooit gezien.. vandaar de 'uitdaging
Denk dat er best veel mensen het wel handig zouden vinden.. las ik al googlend 8)
Maak een printje, gooi er bijvoorbeeld een LPC1768 op, gooi dit erop: http://mbed.org/handbook/USBHostMSD, en bedenk nog een leuk bijbehorend SPI protocol.

Nu gewoon wachten tot een Chinees het op zich neemt om het te produceren ;)

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Dat is makkelijkste lijkt me, gebruik een hardware oplossing, pak een van de usb host chips, ftdi heeft er eentje die populair is onder de arduino gebruikers.

FDTI Vinculum
MAX3421E

Edit/
Ik had het trouwens over software oplossing, zoiets als vusb, maar vusb is alleen usb slave, geen host.

Voor 10 a 12 euro kan je aan usb host schield komen via ebay, wel niet zo goedkoop als je normaal gewend bent, maar altijd nog de helft dan dat hetzelfde schield hier in EU kost.
http://www.ebay.com/itm/U...ain_0&hash=item484f5f2dc1

[ Voor 70% gewijzigd door mad_max234 op 29-12-2013 13:24 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
mad_max234 schreef op zondag 29 december 2013 @ 12:37:
[...]


Dat het ik helemaal gemist, zonder GND zal inderdaad niet of nauwelijks werken. Vond al vreemde mod wire op je sd printje zitten. Was dat een pcb fout of zo?
Er zitten 3 GND aansluitingen op dat printje, maar 2 zijn er samen en 1 is bij zichzelf. De enige plek waar ze bij elkaar komen is via de DAC chip, die waarschijnlijk de ground door een van zijn logische poorten doorverbind met de andere ground. Het verschil in voltage is ook precies het verschil in voltage dat de voltregulator afsnoept van de 5V die hij binnenkrijgt: 1,68Volt. De DAC werkt ook met 5V blijkbaar. Net genoeg om een logisch 'high' te geven op de SD kaartlezer, maar instabiel als de pest, aangezien de DAC (voor het geluid) logische poorten niet geschikt zijn om ook nog de ground van een hele SD kaartlezer te sinken. Dus die kakte steeds ruim 1 volt in bij het afspelen van .WAV bestanden. Lekker lurp dus.
Gewoon slordige fout van Adafruit denk ik. Ze waren vast in de veronderstelling dat iedereen dit bord gebruikt als shield, waarmee het probleem niet optreedt; immers alle GND's zijn dan via de Arduino met elkaar verbonden. Helaas hadden ze dit niet op het schema weergegeven.
Opgelost dus met een kabeltje... niet zo charmant, maar het is opgelost.

[ Voor 11% gewijzigd door alexandersamson op 29-12-2013 13:15 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
ja dat verklaart een hoop, zonder een goede gnd kan cirucit nooit stabiel werken. Niks mis met mod wire, menig productie product heeft het. Kijk veel Dave Jones zijn filmpjes en hij haalt geregeld iets uit elkaar, soms dure(lees nieuw 10K of zo) meetapparatuur, en daar zitten dan gewoon paar mod wires(of weerstand of iets) in die er later met hand erop zijn gezet. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Anoniem: 187449 schreef op zondag 29 december 2013 @ 12:46:
als het goed is meet je ook een temp verschil tussen het voeden van je Arduino uit de USB poort of met adapter.
dat verschil kan je evt. meten en corrigeren
Ok, goed moment om nu te proberen, want hij is enorm stabiel geworden.
Klinkt belachelijk, ik weet het, maar toen die nieuw uit de verpakking kwam schommelde de temp. nogal.
Leek wel alsof het interne motortje nog moest indraaien.... :?
Anyway,
Beeld 1 met usb-aansluiting :
Afbeeldingslocatie: http://s2.postimg.org/5b4hi42t1/tmp36_5.jpg
Beeld 2 met usb-aansluiting + adaptervoeding :
Afbeeldingslocatie: http://s29.postimg.org/o2yu5qdcz/tmp36_6.jpg
Conclusie : Beeld 1 geeft 23,2 graden en beeld 2 geeft 21.5 graden.
Nou, had ik niet verwacht. Ik dacht dat de uno zelf z'n eigen spanning zou regelen.
Overigens, vanmorgen had ik de temp36 direkt op de door jou verstuurde voeding gezet. Het maakte vrijwel geen verschil in uitgangsspanning van de T36 of ik er nu 3 volt of 5 volt opzette. Des te eigenaardiger dit grote verschil.
En dat corrigeren waar jij het over hebt gaat dan zeker met de offset veranderen ?
Edit
Weet jij wel hoe dit verschil komt trouwens ?

Acties:
  • 0 Henk 'm!

Anoniem: 187449

nee dat gaat niet met de offset .. uitleg over nauwkeurigheid hier

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Anoniem: 187449 schreef op zondag 29 december 2013 @ 13:43:
nee dat gaat niet met de offset .. uitleg over nauwkeurigheid hier
Ja tnx, die had ik al bekeken in je vorige post.
Is echter heel andere sensor namelijk een lm35 en ik heb een tmp36.
Niet zoveel zin om hele programma om te gooien, ik ben daar nog niet al te vlot mee.

En wat was nu precies de verklaring tussen het usb- en adapterverschil als ik vragen mag ?

Acties:
  • 0 Henk 'm!

Anoniem: 187449

- het 'hele' programma omgooien ?
- verschil is de uitgangsspanning.. je ADC meet altijd een waarde TOV een andere waarde.. de referentie waarde
als die referentie waarde de ene keer 4.82 volt en en de andere keer 5.02 is je uitkomst onnauwkeurig (gesteld dat de omgevingstemp exact hetzelfde blijft).
In de 328 zit een interne Vref gebakken van 1V1 en die geeft 1V1 ongeacht hoe je je UNO voed maar staat standaard niet aan.
zoiets ongeveer ff snel want ikke druk en er is genoeg te vinden.
Jij bijt je weer vast op 1 sketchje waar de schrijver zich vergiste en waar andere lezers in de reakties op wezen.
Er zijn veel betere sketchjes overigens.. die linkjes had ik je al is gegeven dacht ik..
- en zoooooooooooo groot is het verschil niet tussen een tmp35 en een tmp36

1 van de simpelste schakelingetjes die je kan maken met een arduino

[ Voor 18% gewijzigd door Anoniem: 187449 op 30-12-2013 09:24 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Tja, sorry borroz.
Ik was content met m'n schakeling en is inderdaad niet al te moeilijk. Toen begon jij zelf te opperen van 'probeer het eens met een andere voeding' of 'pak eens een andere sensor'.
Geeft verder niet en ik bijt me ook nergens in vast maar vanaf begin zei ik al dat die offset wrs verkeerd is en toen postte jij dit : 'zal wel weer aan programma liggen' :'(

Maar goed, je hebt me toch goed geholpen en dat stel ik op prijs. Later zal ik die andere sites eens proberen.

Acties:
  • 0 Henk 'm!

Anoniem: 187449

ja ik probeerde je duidelijk te maken dat je met dezelde schakeling, gevoed door USB of door adapter/voedinkje je toch andere uitslagen kan krijgen en hoe dat komt, wat je eraan zou kunnen doen om eea stabieler te maken.
nogmaals, daarvoor moet je toch echt dit lezen en niet alleen opslaan.. tis niet anders :)
.

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Jup, je AREF moet steeds constant blijven als je wilt vertrouwen op correcte metingen. Op USB kan die al zakken naar 4.8Volt bijvoorbeeld en dan krijg je al andere waardes, dan als je 5 Volt er op zet.
Daarom is het ook vrijwel onmogelijk een betrouwbare batterijmeter te maken met Arduino voor batterij/accuspanningen onder de 5V waarmee AREF zelf ook wordt gevoed.

Ahoewel, als je het baantje van AREF doorsnijd en daar een lage referentie op zet, 2,5 Volt of iets dergelijks, kan het wel. Maar dan moet je dus snijden in je Arduino

[ Voor 21% gewijzigd door alexandersamson op 29-12-2013 15:56 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Ok. Ik mat idd 4.95V via usb en geen 5V.
Omdat ik met losse regelbare en gestabiliseerde voeding op de T36 op 3 en 5V vrijwel geen uitgangsverschil zag ging ik er vanuit dat het weinig uitmaakte.
Ik ging dat proberen omdat in grafiek 6 mij ineens opviel dat dat bij Vs=3V is gemeten.
Afbeeldingslocatie: http://s22.postimg.org/b6tgjk0yl/tmp36_2.jpg
Ik had geen idee dat het juist de Aref op de arduino is die erg 'instabiel' is. :$

[ Voor 3% gewijzigd door kitao op 29-12-2013 15:59 ]


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Anoniem: 187449 schreef op zondag 29 december 2013 @ 14:04:
verschil is de uitgangsspanning.. je ADC meet altijd een waarde TOV een andere waarde.. de refentie waarde
als die referentie waarde de ene keer 4.82 volt en en de andere keer 5.02 is je uitkomst onnauwkeurig (gesteld dat de omgevingstemp exact hetzelfde blijft).
In de 328 zit een interne Vref gebakken van 1V1 en die geeft 1V1 ongeacht hoe je je UNO voed.
Ik moet zeggen dat ik zonder dit stukje uitleg jouw link een stuk lastiger te begrijpen vond borroz, ik dacht dat het alleen over de range ging waardoor het nauwkeuriger was maar nu snap ik dat het voltage hier ook een rol speelt. Dus dat beetje extra uitleg wordt gewaardeerd.

@kitao Als ene hobby liefhebber tot een andere: Ik vind het mooi te zien hoe je alles probeert te begrijpen en denk dat je goed bezig bent nu met simpele stukjes code (die je waarschijnlijk ook helemaal snapt) en een sensor. Zo leg je de basis. 8)

Zal straks nog een stukje posten met mijn laatste vorderingen.

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
AREF zelf is niet persee instabiel, maar de manier hoe deze wordt voorzien van spanning. Als je het echt helemaal goed wil doen, zou je AREF moeten aansluiten op een 100% gestabiliseerde spanning van 5V die nergens anders voor wordt gebruikt dan als AREF spanning. Zo kakt ie niet in en is die altijd 5V. Maar omdat die AREF bij Arduino op het bordje direct wordt gekoppeld aan de uitgang van de voltregulator en/of de +5V van de USB kan hier heel snel een dip in komen, zeker als je wisselende belastingen hebt, zoals een LEDstrip met 60+ Leds die knippert en je slechts een 1A adaptertje gebruikt of USB

[ Voor 4% gewijzigd door alexandersamson op 29-12-2013 16:03 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
alexandersamson schreef op zondag 29 december 2013 @ 16:02:
AREF zelf is niet persee instabiel, maar de manier hoe deze wordt voorzien van spanning.
Ja, dat begrijp ik nu en daarom had ik instabiel ook tussen ' ' gezet.

@Resucigam
Bedankt voor het compliment ! d:)b
Overigens is het niet zo dat nu pas begin met micro's. Ergens in 97 had ik een Z80, in 2009 een basicstamp (pic16f57) en vanaf 2012 een uno.
Maar ja, ik ben er tussentijds flinke perioden eruit geweest en dan ook iedere keer andere talen. En ik moet toegeven, sommigen pikken dit veel sneller op.
Als ik bijvoorbeeld kijk hoe jij al flink vordert met programmeren dan zie ik hoe het dus ook kan en dat is best inspirerend. ;)

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Ik kocht mijn eerste Arduino en begon daarmee mijn eerste uC project ooit met een Mega 2560 in mei dit jaar :P Had de UNO overgeslagen
Sinds dien 3 UNO's versleten (1 weggegeven, 1 ingebouwd, 1 als programmer omgebouwd), Een mega dus en een DUE.
Dan nog 3 Micro's ingebouwd en iets van 6 ATiny 85's ingebouwd. Nu mijn laatste project heb ik 4 328's en een 90USB1286 (op een Teensy2++ bordje) ingebouwd :)

[ Voor 50% gewijzigd door alexandersamson op 29-12-2013 16:32 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
alexandersamson schreef op zondag 29 december 2013 @ 16:30:
Ik kocht mijn eerste Arduino en begon daarmee mijn eerste uC project ooit met een Mega 2560 in mei dit jaar :P Had de UNO overgeslagen
Tja, we zijn niet allemaal universiteits geschoold .. :+
Ik zoek trouwens nog een baan in de procesindustrie.
Mij hebben ze op straat geknikkerd.

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Ik heb MBO-4 ICT :P Ben wel van plan de opleiding Embedded Systems te gaan volgen komend schooljaar :)

Ik zie net dat mijn profiel van tweakers een beetje out of date is... staat nog AOT EPT, had ik niet afgemaakt... :X

[ Voor 38% gewijzigd door alexandersamson op 29-12-2013 16:38 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Zolang het goed gaat met de opleiding zou ik - achteraf gezien - hier zeker mee doorgaan.
Werken vanaf je 16e kan altijd nog bij wijze van spreken.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Iemand al eens met bitlash of soortgelijke lib gespeeld of zelf code geschreven?
Wil eens gaat kijken in hoeverre je code vanaf sd kan execute. Bijvoorbeeld voor het maken van uitgebreid UI of GUI. Of zelfs hele programma's als dat lukt tenminste, ben nog niet helemaal over uit of dat gaat lukken.

http://bitlash.net/
http://www.roguerobotics....ands_from_ummc_on_arduino

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Interessant, zo kan je dus on the fly stukken code laten executen door Arduino
En op een SD/MMC kaart heb je in principe unlimited storage.
Gaat in de pijplijn voor 'dingen om te proberen/uit te zoeken' :)

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
@borroz
Dat is alleen extra geheugen, ram, flash, eeprom toevoegen is heel simpel, nu nog execute. Extra geheugen om data op te slaan is niet het probleem dat is heel simpel, probleem ligt hem bij code verwerken.

@ Alex
Ja dat is wel de bedoeling, maar in hoeverre gaat dat lukken is de vraag. Heb net bitlash getest met sd, dat is no go, je heb 30KB voor de sketch en je hebt nog maar 254B over van je ram.

Code(heb het dan over machinetaal code niet je C code) vanuit SD naar flash kopiëren en dan pointer naar geheugen waar de programma begint is volgens mijn ook een no go. Dat zou namelijk vrij simpel zij, maar dan zou je verwachten dat iedereen dat zou doen, dus denk niet dat dat gaat werken.

Wellicht weet iemand anders nog mogelijkheden?

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 187449

mad_max234 schreef op zondag 29 december 2013 @ 17:27:
@borroz
Dat is alleen extra geheugen, ram, flash, eeprom toevoegen is heel simpel, nu nog execute. Extra geheugen om data op te slaan is niet het probleem dat is heel simpel, probleem ligt hem bij code verwerken.
klopt.. (dat gaat waarschijnlijk ook niet volledig lukken en meestal ook niet nodig als je je code cleaned)
ik heb weleens gedacht.. goh ik heb nog 10 tallen ram strippies uit oude PC's liggen.. :*)

[ Voor 15% gewijzigd door Anoniem: 187449 op 29-12-2013 17:42 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Die oude sdram chipjes zijn volgens mijn ideaal voor hobbyisten, weet niet of ddr ook te doen is met arduino.

Edit
sdram is go, ddr is no go.

sdram heeft namelijk geen minimaal snelheid nodig, ddr wel, ddr1 heeft minimaal 25Mhz nodig, ddr2 minimaal 50Mhz, ddr3 niet meer opgezocht.

"Unlike DDR, there is no minimum clock frequency for SDRAM regardless of the speed
grade."

Bron: https://www.micron.com/~/...al%20Note/DRAM/TN4815.pdf

[ Voor 62% gewijzigd door mad_max234 op 29-12-2013 18:42 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
mad_max234 schreef op zondag 29 december 2013 @ 17:27:
@borroz
Dat is alleen extra geheugen, ram, flash, eeprom toevoegen is heel simpel, nu nog execute. Extra geheugen om data op te slaan is niet het probleem dat is heel simpel, probleem ligt hem bij code verwerken.

@ Alex
Ja dat is wel de bedoeling, maar in hoeverre gaat dat lukken is de vraag. Heb net bitlash getest met sd, dat is no go, je heb 30KB voor de sketch en je hebt nog maar 254B over van je ram.

Code(heb het dan over machinetaal code niet je C code) vanuit SD naar flash kopiëren en dan pointer naar geheugen waar de programma begint is volgens mijn ook een no go. Dat zou namelijk vrij simpel zij, maar dan zou je verwachten dat iedereen dat zou doen, dus denk niet dat dat gaat werken.

Wellicht weet iemand anders nog mogelijkheden?
Dat moet wel kunnen hoor, maar volgens mij valt het niet onder de noemer vrij simpel. Zeg maar flink ingewikkeld en heel stuk klooien om iets voor elkaar te krijgen wat twijfelachtig nut heeft: Veel te traag.

Maar je zou desnoods een complete bootloader erop kunnen zetten die van een SD kaart nieuwe code haalt. Of bijvoorbeeld een flinke functie maken, zorgen dat je weet waar die staat, en die overschrijven met een nieuwe functie vanuit je SD kaart. Dan door de oude aan te roepen moet de nieuwe uitgevoerd worden.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Demoniac schreef op vrijdag 27 december 2013 @ 20:23:
Ik heb een vage bug. myDataOut is een unsigned long, waarvan ik de bits uitlees om een aantal 74HC595 schuifregisters mee te vullen. Het volgende werkt: (sample code van Arduino.cc)
C:
1
2
3
4
5
6
7
8
9
10
11
int pinState;

if (myDataOut & (1<<i) ) {
  pinState=true;
}
else
{   
  pinState=false;
}

digitalWrite(myDataPin, pinState);


Dit leek mij te vereenvoudigen naar:
C:
1
digitalWrite(myDataPin, (myDataOut & (1<<i)));

Echter gaan hierbij alleen de eerste 8 LED's branden :? Ergens in deze one-liner wordt mijn long dus omgezet naar een byte, maar waarom gebeurt dat dan niet in het if-statement?
Ben ook benieuwd naar het antwoord maar heb die zeker gemist ? :?
Binnenkort hoop ik ook een stuk of 4 van die HC's te ontvangen

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Sissors schreef op zondag 29 december 2013 @ 18:27:
[...]

Dat moet wel kunnen hoor, maar volgens mij valt het niet onder de noemer vrij simpel. Zeg maar flink ingewikkeld en heel stuk klooien om iets voor elkaar te krijgen wat twijfelachtig nut heeft: Veel te traag.

Maar je zou desnoods een complete bootloader erop kunnen zetten die van een SD kaart nieuwe code haalt. Of bijvoorbeeld een flinke functie maken, zorgen dat je weet waar die staat, en die overschrijven met een nieuwe functie vanuit je SD kaart. Dan door de oude aan te roepen moet de nieuwe uitgevoerd worden.
Via bootloader is niet de bedoeling, zit je vast aan een reset.

Is niet te traag, als je het maar gebruikt waarvoor het geschikt is. :D
De oplossingen die ik tot nu toe heb gezien zullen voor meeste taken inderdaad te traag zijn of houd niet genoeg ruimte over voor iets anders, al is dat nog wel op te lossen door grotere avr te gebruiken.

Heb niet de illusie dat het simpel zal zijn of dat geen resource gaat kosten. Als goede tussenweg kan vinden dan heb ik er wel toepassing voor, en anders heb ik me altijd nog lekker vermaakt met me hobby. :+

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

kitao schreef op zondag 29 december 2013 @ 18:38:
[...]
Ben ook benieuwd naar het antwoord maar heb die zeker gemist ? :?
Binnenkort hoop ik ook een stuk of 4 van die HC's te ontvangen
Ik snap hier het gebruik van digitalWrite in dit voorbeeld niet zo goed, ik gebruik zelf de functie shiftOut om bytes aan mijn shift registers door te geven.

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik gebruik ook gewoon shiftout van arduino. Je kan digitalwrite nog vervangen door C code zodat factor of 25 of zo sneller werkt.

Je kan functie ook iets aanpassen, copy en paste deze functie en geef hem de andere naam, bijv. shiftout2, dan blijft originele functie intact en kan je nieuwe functie bewerken en aanspreken wanneer je wilt. Je kan om te beginnen om vooraf de bitorder te bepelen en dan if statement eruit halen, dat scheelt paar bytes code en aantal clockcyslussen(denk 40 a 50 voor zo een simpele if statment). Daarna kan je de digitalwrite vervangen door c code die register direct aanspreken, is veel sneller.

Ik heb hekel als men op de achtergrond ook arduino taal gaan gebruiken, daar komen de beginner toch niet, dus waarom daar dan nog digitaalwrite te gaan gebruiken is wel heel erg lomp. Ze zouden juist eenmalig alles goed moeten schrijven zodat alles eruit gehaald word wat erin zit zodat beginner meest profijt hebben. En dit al al jaren bekent, nog steeds is de core file niet geupdate of op zijn mist een fastshiftout functie erbij of zo, als je 100% backwards compatibel wilt blijven.

Deze functie vind je in de file:hardware\arduino\cores\arduino\wiring_shift.cpp

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
{
    uint8_t i;

    for (i = 0; i < 8; i++)  {
        if (bitOrder == LSBFIRST)
            digitalWrite(dataPin, !!(val & (1 << i)));
        else    
            digitalWrite(dataPin, !!(val & (1 << (7 - i))));
            
        digitalWrite(clockPin, HIGH);
        digitalWrite(clockPin, LOW);        
    }
}


Voorbeeld van Demoniac is niet compleet, mis nogal wat delen die relevant zijn, waar is de clock en latch, waar is de loop? En heb geen idee waarom je dat gedrag krijgt met huidige voorbeeld, wellicht met alle delen van code die relevant zijn erbij wel, maar nu niet.

En je kan denk ik ook spi gebruiken, heb het zelf nog niet getest maar dat schijnt prima te werken, kan je gewoon byte naar spi schrijven en je bent klaar. spi.trafnser(0xff): klaar alle uitgangen hoog, of 16bit spi.trafnser(0xffff): :) Voorbeeld is dat hardwarematig gebeurd en je dus geen cpu tijd kwijt bent aan verwerken van shiftout. En je kan zonder problemen 8Mbit halen, dat gaat niet softwarematig als je ook nog wat anders wilt doen met 16Mhz avr. Denk dat je bij lange na de 8mbit niet gaat halen softwarematig, is maar theoretisch.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Ik ben lekker bezig geweest met een zwarte verf spuitbus en een lexaanplaat vandaag, had echt geen zin om ook nog maar 1 stuk code te schrijven vandaag, afgelopen 4 dagen al flink lopen coden aan dat menu namelijk :)

Afbeeldingslocatie: http://www.gm7.nl/wp-content/uploads/2013/12/20131229_194706-1024x576.jpg

Misschien niet goed te zien, maar de timers, de leds, het LCD en de RFID antenne zitten helemaal onder de plaat.

[ Voor 12% gewijzigd door alexandersamson op 29-12-2013 20:47 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Dat begint er stoer uit te zien zo! :9~

We do what we must because we can.


Acties:
  • 0 Henk 'm!

Anoniem: 187449

netjes hoor.. je kan zo de 'huiskamer' in kijken, dus alles moet glad zijn :)

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Met 'huiskamer' bedoel je de print waaschijnlijk?
Ja dat wilde ik persee dat die zichtbaar was met alle knipperende LEDjes enzo. Net als in een slechte actiefilm waar ze altijd van die overdreven tijdbommen hebben met meer printplaat dan explosief :P

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

Anoniem: 187449

en straks, net als in de film, iemand het groene draadje doorknipt.. net voordat de klok op nul staat 8)

Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Beter knipt er niemand draadjes door :P Het enige groene zichtbare draadje is de meest linkse op de LCD kabel en dat is de Chip Select van het LCD.

oh en natuurlijk de de Chip Select van de WAV module (meest linkse connector) en data to DAC kabel (de groene er naast).

Om even samen te vatten: De klok blijft lopen, alleen geen beeld en geluid meer :)

Sleutel naar links draaien is effectiever en minder destructief :D

[ Voor 50% gewijzigd door alexandersamson op 29-12-2013 22:58 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

Anoniem: 187449

Want 2 megabytes of SRAM for your Arduino?

Adding External I2C EEPROM to Arduino (24LC256)

heb toch een (geheugen) ideetje gekregen en daarom heb ik deze leuke arduino micro besteld 8)
more info

heb je dat ook wel eens, allerlei stukjes code en sensors/devices los werken prima.. maar als je dan alles samen wil laten werken loop je toch weer tegen onverwachte problemen op :?
Afbeeldingslocatie: http://i.imgur.com/e9fwVlY.jpg
mijn arduino 'lab

[ Voor 26% gewijzigd door Anoniem: 187449 op 30-12-2013 10:25 ]


Acties:
  • 0 Henk 'm!

  • Powerblast
  • Registratie: Augustus 2011
  • Laatst online: 21:12
Anoniem: 187449 schreef op maandag 30 december 2013 @ 10:10:
Want 2 megabytes of SRAM for your Arduino?

Adding External I2C EEPROM to Arduino (24LC256)

heb toch een (geheugen) ideetje gekregen en daarom heb ik deze leuke arduino micro besteld 8)
more info

heb je dat ook wel eens, allerlei stukjes code en sensors/devices los werken prima.. maar als je dan alles samen wil laten werken loop je toch weer tegen onverwachte problemen op :?
[afbeelding]
mijn arduino 'lab
Wat zijn eigenlijk die bruine plaatjes waarop je breadboard veronderstel ik vasthangt? Sry ben nog maar een leek wat arduino betreft :), maar ik zie die regelmatig ook terugkomen in "echte" electronica. Lijkt me wel handig om iets aan te bevestigen.

Het projectje voor de komende dagen is een klokje. Simpelweg te tijd bijhouden en weergeven op een lcd schermpje. Heb ik alle onderdelen al voor liggen. Het idee is dan om dat nadat dit lukt :), uit te breiden met knopjes waarmee je zoals een echte wekker je tijd kan zetten en eventueel ook het tijdstip waarop de "wekker" moet afgaan. Wat die wekker dan wordt moet ik nog ff bekijken :). Dacht aan ofwel wat flashy ledjes ofwel iets met geluid te doen. Maar dat is nog toekomstmuziek. Het idee is wel om dit dan zo een beetje als mijn sandbox te gebruiken waarop ik dan eerst eens met alle soorten sensors kan kennismaken.

[ Voor 21% gewijzigd door Powerblast op 30-12-2013 10:37 ]


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Experimenteerprint, hetzelfde als een breadboard, maar dan om vast te solderen.

Acties:
  • 0 Henk 'm!

Anoniem: 187449

die mini breadbordjes hebben dubbelzijdige tape aan de onderkant, dus die plak ik er zo op.
voor het gemak heb ik een partijtje van dat soort gaatjes printjes gekocht waar ik van alles op heb zitten voor expirimentjes.
dus ff iets met een rotary encoder of TFT displaytje ? .. schroef ik er zo'n 'module bij :)

Afbeeldingslocatie: http://i.imgur.com/LSiUjy1.jpg

eea is ontstaan toen voor de 2e maal een breadboard met bos draad van de tafel viel.
deze 'modules zitten vast op een frame gemaakt met makerbeam

Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

@ mad_max: Ik heb jouw voorbeeld in mijn 'nog te bekijken' mapje gezet. Ik ben nu nog druk bezig met Arduino C te leren lezen en schrijven en dit gaat net een paar stapjes verder. Leuk voor in de toekomst :)

Zoals beloofd nog een update van mijn avonturen. Na mijn vorige experiment met multiplexing wilde ik nu graag een stapje verder gaan: Mijn eigen code schrijven om te multiplexen via een shift register. Aangezien mijn display (3461B) een common anode heeft kon ik mijn geliefde 74HC595 niet gebruiken en moest ik met de TPIC6C595 aan de slag. Op zich was ik daar niet zo bang voor, want ook deze chip heeft gewoon een clock, latch en datapin. Wel kwam ik bij de voorbeelden online ook nog een output enable tegen maar die werd in dat voorbeeld al in de setup op LOW gezet en daar deed men verder niks mee. Het viel me dan ook reuze mee dat ik mijn tellertje zonder al te veel problemen in beeld kreeg. Yess, het werkt! Maar wacht eens, nadat ik wat beter keek zag ik een soort ghosting effect van de naastliggende cijfers. Daar snapte ik nou helemaal niks van: Ik zette toch voor mijn multiplexing de cijfers 1 voor 1 aan en uit? Dus waar kwamen die cijfers vandaan? Zou daar die output enable voor zijn? De datasheet erbij gepakt en daar las ik dat mijn byte eerst in een storage register gaat en vanaf daar transparant (want clear is altijd HIGH) naar een output register. Nu begreep ik ook waar mijn ghosting vandaan kwam: Zodra mijn multiplexer een cijfer aanzet staat er nog een oud cijfer in het register dat een paar microseconde in beeld komt terwijl de latch LOW gezet wordt en mijn nieuwe (juiste) cijfer binnen komt. Doe dat tig keer per seconde en je hebt een vage afdruk van het buur cijfer. Na wat rommelen met de output enable werkt alles precies zoals ik wil. Wat geeft dat toch een goed gevoel: Ik zou hier verslaafd aan kunnen raken! Het display staat dan ook al een dag te tellen naast me, ik kan er niet genoeg van krijgen 8). Ohja en dit is mijn nieuwe functie geworden:

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
void displaynumbers()
{
  for(int a=0;a<4;a++){
    digitalWrite(enablePin,HIGH);                         // Disable output (no ghosting from other positions)
    digitalWrite(ledPosition[a],HIGH);                    // Switch position on
    digitalWrite(latchPin,LOW);                           // Pull latch LOW to send data
    shiftOut(dataPin,clockPin,MSBFIRST,numberToShow[a]);  // Send the data
    digitalWrite(latchPin,HIGH);                          // Pull latch HIGH to stop sending data
    digitalWrite(enablePin,LOW);                          // Enable output
    delay(wait);                                               
    digitalWrite(ledPosition[a],LOW);                     // Switch position off
  }
}


Het zal vast veel sneller kunnen in kale C maar IK ben hier heel trots op.

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik ga straks denk ik ook even met shift register spelen, wil even testen of 595 met hardware spi wilt werken. Helaas heb ik alleen smd varianten liggen, ga maar even klein printje etsen, kan gelijk ook arduino clone printje etsen voor achter op mijn TFT schermpje.

Ik zal die functie die ik posten even aanpassen voor jou, dan kan je die er gewoon bij zetten in de arduino file zodat je beide functies gewoon nog kan gebruiken. Maar moet nu eerst boodschappen doen. :(

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • Promy
  • Registratie: Oktober 2002
  • Laatst online: 23-06 22:53
naar analogie met deze pagina wil ik ook het nivo van m'n ondergrondse regenwatertank meten via een HC-SR04 (gewoon omdat het kan).
Hiervoor moet ik wel 35m utp cat 5e gebruiken tussen de arduino en de zender. Zou dit lukken of is deze afstand te lang?

[ Voor 24% gewijzigd door Promy op 30-12-2013 17:53 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
Vandaag ook lekker bezig geweest, hfdst3 tronixstuff
Die beste man heeft er zelfs een video van gemaakt (example3.2 interrupt) en bij mij werkt t nu precies hetzelfde.
Ik snap alleen niet hoe hij dan zo'n waardeloze sketch neer kan zetten vol met fouten :
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
// Example 3.2 &#8211; interrupts
 
#include "LiquidCrystal.h" // we need this library for the LCD commands
 
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
 
float noisy = 0;
 
void setup()
{
  lcd.begin(16, 2);             
// need to specify how many columns and rows are in the LCD unit
  lcd.setCursor(0,0);
  lcd.println('* example 3.2 * ');
  lcd.setCursor(0,1);
  lcd.println('tronixstuff.com ');
  lcd.setCursor(0,1);
  delay(4000);
  lcd.clear();
  randomSeed(analogRead(0)); // reseed the random number generator with some noise
  attachInterrupt(0, panicone, RISING);
 // so when interrupt zero (digital pin 2) changes state, it will trigger the 
 // interrupt and go to function 'panicone'
 // attachInterrupt(1, panictwo, RISING); // so when interrupt one (digital pin 3) 
 // changes state, it will trigger the interrupt and go to function 'panictwo'
}
 
void loop()
{
  noisy=random(1000);
  lcd.setCursor(0,0);
  lcd.print('Random Numbers!');
  lcd.setCursor(0,1);
  lcd.print('Number: ');
  lcd.print(noisy,0);
  delay(1000);
}
 
void panicone()
{
  lcd.clear();
  lcd.println('Interrupt one   ');
}
 
void panictwo()
{
  lcd.clear();
  lcd.println('Interrupt two   ');
}


Regel 3,15,17,25,33,35,43,49 allemaal fout. :F
Tis dat t gratis is .... }:|

edit: En t mooie is, de compiler zegt er niks van
@Promi, ik weet t niet, uitproberen misschien ?

Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Wat werkt er niet aan regel 3? Dat zou gewoon moeten werken anders doet de rest het ook niet. En die andere moesten allemaal lcd.print zijn in plaats van lcd.println gok ik?

edit: Ah nu zie ik regel 3 ook, syntax error. Die man doet nogal wat in 1 hoofdstuk: relais, wat zijn functies, interrupts en daarna gaat hij verder met servo's? Het komt best chaotisch over eigenlijk :) Zowel de functies als interrupts zijn nou niet echt 'tussen neus en lippen door' onderwerpen.

[ Voor 46% gewijzigd door ResuCigam op 30-12-2013 18:25 ]

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • alexandersamson
  • Registratie: Oktober 2003
  • Laatst online: 13-12-2022
Dit ga ik even voor mezelf bekijken :P

Bij mij compiled hij gewoon. Het is inderdaad handiger om dubbele quotes te gebruiken, want enkele zijn eigenlijk alleen in gebruik als je een enkele char wil gebruik 'A' bijvoorbeeld. Dubbele gebruik je bij lappen text "A Cat and A Dog". Met die enkele quote versies kan je trouwens wel leuk ASCII rekenen: 'A'+1 = 66 namelijk. (A =65 ASCII). Staat ook op de website van Arduino http://arduino.cc/en/Reference/Char

[ Voor 73% gewijzigd door alexandersamson op 30-12-2013 18:36 ]

Elektronicaprojecten van mij: http://www.gm7.nl


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
ResuCigam schreef op maandag 30 december 2013 @ 18:16:
Wat werkt er niet aan regel 3? Dat zou gewoon moeten werken anders doet de rest het ook niet. En die andere moesten allemaal lcd.print zijn in plaats van lcd.println gok ik?
Probeer het maar eens. Enkel wat je nodig heb is een lcd, een 10K pot, 2 switches en 2x 10K weerstanden.
Maar ik wil niet kinderachtig zijn.
#include library moet tussen < >
Serial.print() moet tussen " " en niet tussen ' '.
En verder heeft die van de hele regel 25 een comment gemaakt.

Misschien dat regel 3 zo ook wel werkt (tussen " " dus) maar omdat ik allemaal giberisch kreeg ben ik gaan vergelijken met een ander programma.
Daar staat toch echt
#include <LiquidCrystal.h>
en niet :
#include "LiquidCrystal.h"

Ok, regel 3 maakt niks uit, net geprobeerd. Maar de rest is toch echt fout.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
ResuCigam schreef op maandag 30 december 2013 @ 18:16:

edit: Ah nu zie ik regel 3 ook, syntax error. Die man doet nogal wat in 1 hoofdstuk: relais, wat zijn functies, interrupts en daarna gaat hij verder met servo's?
Die lesjes gaan op volgorde hè.
Dat chaotische vind ik wel meevallen maar goed, met servo's had ik al eerder kennis gemaakt.

Kreeg jij syntax error op regel 3 ?
Bij mij compileert die gewoon in beide standen (zie vorige post)

Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:51

ResuCigam

BOFH

Nee ik had gewoon opgezocht, ben net thuis en keek even mee :)

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 23-06 06:53
ResuCigam schreef op maandag 30 december 2013 @ 18:37:
Nee ik had gewoon opgezocht, ben net thuis en keek even mee :)
Ok, duidelijk.
Hier kwam ik pas zelf onlangs achter. Zonder ook maar iets op te bouwen kun je een code verifieren. (Knop V)
Hoef je niet eens de arduino voor aan te sluiten, enkel de IDE te openen.
Hfdst 4 gaat trouwens over shifts. Maar die zitten nog ergens in de container. :-(
Pagina: 1 ... 37 ... 96 Laatste