Hur använda Arduino UNO för att sampla och lägga i databas?

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
Gorgus
Inlägg: 2021
Blev medlem: 24 april 2006, 22:42:42
Ort: Eskilstuna
Kontakt:

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Gorgus »

Får ett meddelande om att videoklippet är "blockerat på grund av upphovsrättsliga skäl".
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Måste vara nåt fel. Jag har inte bett om nåt sånt och jag kan titta på videon.

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Jag har fixerat mig vid att använda ett gammalt hederligt 7-segments LED-display istället för det tråkiga blåa(?) LCD't jag har tillgängligt. Jag gillar tydligheten och enkelheten hos 7-segments.

Så jag har nu planerat färdigt ett gränssnitt som jag kommer vira ihop.

Jag har komplicerat det något dels för att jag bara har 6 I/Os kvar på UNO'n dels för att jag avser göra den användbar även för 8-bitars mikroprocessorer och sist men inte minst för att det lockar att programmera en CPLD.

I CPLD-fallet är min ambition att även implementera både CS, INV och CHECK (se bifogad ritning).

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Kom på att det där inte blev så bra.

UNO'n kan ju inte skriva annat än sekvensiellt till de olika portarna och när den gör det kommer den skentända endera siffra.

Tanken var alltså:

1) Skriv till önskad enhet (typ 01 varvid dess LE går låg)
2) Skriv till den reserverade enheten 00 (varvid ovanstående LE går hög och värdet latchas in)

Men iom att man måste göra dessa skrivningar portmässigt sekvensiellt så får man mellantillstånds-glitchar som förmodligen skentänder icke avsedd siffra.

Kanske man kunde förhindra detta genom att slöa ner systemet mha kondingar men nån bra CPLD-lösning kommer det då inte att bli.

Så jag har tänkt om. Jag nyttjar nu ett gäng skiftregister istället. Detta har bonusen att mycket få pinnar behövs. För UNO räcker det i praktiken med tre.

Bifogar bild.

MVH/Roger
PS
BP står för ByPass och avser möjligheten att bara latcha en gång oavsett seriellt eller parallellt.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Så, nu var den tillfälliga lösningen färdigcaddad. Återstår nu bara att vira ihop grejerna. Wish me luck :)

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Nu var den grova planeringen klar.

Återstår att bygga grejerna.

Jag kommer ha en Display Module (DM) och en CPLD Module (CM) där CM först kommer att utgöras av diskreta kretsar. Dessa kretsar kommer alltså monteras i en separat modul som mha stiftlister ska kunna pluggas in i moderkortet (DM) som blir en slags vagga för CM. Dessa stiftlister kommer ha DIL-struktur.

Antalet pinnar på min CM:

1) 5 kontrollsignaler
2) 2 matningspinnar
3) 20 parallella ingångar
4) 32 utgångar

Summa: 62 pinnar (ELFA's största IC-sockel: 64P/0,9", personlig notering)

Eftersom DIL 64P tydligen är möjlig vad beträffar VLSI så kanske jag inför två CLR-signaler (SCLR+DCLR) också för att göra sakerna lite mer proffsiga. I praktiken spelar dock dessa signaler bara symbolisk roll då t.ex Arduino kan skifta in korrekt värde så snabbt att ett stokastiskt påslag-värde inte hinner synas.

Bifogar ritning.

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Ni är väl trötta på fler bilder nu. Men detta är vad jag kommer bygga.

Det har nämligen precis blivit bestämt att vi behöver 4 siffror.

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Så, nu har jag planerat layouten för min universiella 7-segments LED-drivare.

Bifogar även senaste (block-)schemat som har några små ändringar (b.a IC-numreringen).

Med denna LED-drivare kommer jag alltså dels kunna skicka data seriellt (läs UNO) dels sniffa data och adressbuss hos min hemmabyggda CPU.

Ska bli skoj att bygga och se om den fungerar innan jag gör en CPLD-variant.

Ha det bäst!

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Detta är de absolut sista ritningarna på LED-drivaren. Jag lovar :D

MVH/Roger
PS
Två signaler har bytt namn. Dessa är Check som numera heter LT (aktivt låg) och INV som numera heter CA (aktivt låg). LT står för Lamp Test (får alla segment att lysa samtidigt) och CA står för Common Anode (dvs typ av LED).

D0-D3 har helt sonika jordats i fallet parallell inmatning då DP (Decimal Point) då aldrig används. Detta har reducerat antalet inpinnar och möjliggjort borttagandet av separata brytare som ursprungligen dels var tänkta att ta bort slumpmässiga värden hos registret vid spänningspåslag dels möjliggöra "analog" extern drivning av DP (korkat, jag vet).

LT och CA sätts preliminärt i LED-modulen men kommer kunna sättas mha weak pull-up i CPLD. I mitt specifika fall måste då CA jordas mha en bygel i den 4-poliga dubbla stiftlisten (K1).

De externa pull-up motstånden (2X10k) är onödiga i CPLD-fallet pga att alla ingångar kommer att mjukvarumässigt sättas till weak pull-up. I UNO-fallet är då t.ex BP (aktivt låg) ej aktiverad per default vilket får till följd att värdena från skiftregistret (3XHC164) används.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
j.po
Inlägg: 279
Blev medlem: 24 november 2008, 20:40:19
Ort: Halmstad
Kontakt:

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av j.po »

Jag har inte läst alla inlägg i denna tråden så det kanske finns en anledning till att använda 4511 kretsen, men det vanligaste för att driva 7-segment display är troligen ett shiftregister, tex. 74hc595. Då blir det inte så många kretsar i konstruktionen.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Tack för din input!

Men du missar poängen.

Säg att du bara avser använda typ UNO'n. Då är din krets suverän (förutom att 3-state är onödigt).

I UNO-fallet kan man ju då skifta in vad som helst, latcha det till det parallella utgångsregistret och på så sätt driva LED.

Men denna metod kräver också att man förkodar informationen till respektive LED. Det går alltså inte att bara skriva en siffra och få upp den på displayet. Alla segment måste kodas på rätt sätt.

Visst, man kan göra det i mjukvaran och på så sätt få en smidig hårdvarulösning med din krets.

Men, om man som jag avser, även vill "sniffa" en (parallell) data eller adress-buss så måste den ha inbyggd kodning för de sju segmenten.

Detta gör 74HC4511 preliminärt åt mig. Men jag avser alltså göra kodningen i en CPLD vid ett senare tillfälle.

Detta för att jag avser koppla ett helt gäng med 7-segments LED till min hemmabyggda CPU (annan tråd) för debuggning (och vettigare videos, ärligt talat).

Dessa ska då alltså läsa av bussens värde som den är vilket kräver inbyggd kodning. Jag kommer f.ö naturligtvis även bygga in alla HEX-tecknena.

Kort sagt finns det då tre grova användningsområden för min något tillkrånglade LED-drivare:

1) UNO: seriellt skift följt av en latch-puls (reducerar antalet pinnar till ett minimum)
2) CPU: visning av godtycklig parallella bus momentana värde (latch konstant disablead, extremt långsam klocka, typ 0,5Hz)
3) CPU: visning av I/O-enhets värde (latchas mha CS och R/W)

Frågan är nu bara om det fungerar lika bra med en latch som det gör med en flanktriggad vippa. Jag tror det men är inte helt säker.

Jag har i alla fall lyckats rita en latch mha enbart NAND-grindar. Denna avser jag använda i min CPLD och sedemera kanske tom i en VLSI-kurs.

Bifogar ritning på en latch.

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Nu har jag kapat till och skalat 100 virtrådar av längden 6".

Bifogar nördiga bilder :D

MVH/Roger
PS
Färdigkapade och skalade virtrådar ska tydligen finnas på eBay :D
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Nu har jag fått byggt större delen av LED-modulen. Jag har tom börjat vira lite men då först och främst matningen till alla LEDs.

3V3 och 5V har byggts på sedvanligt sätt.

Bifogar bilder.

MVH/Roger
PS
Trist att Elfa inte lagerför 16P DIL motståndsnät. Det enda jag fick tag i var 14P som jag nu diskret adderat var sin 330R till. Blev bra men var lite meckigt.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Nu har jag virat klart Display-modulen.

Alla segment går att tända (även om jag hade problem med ett, men det berodde på ett böjt ben).

3V3:en är i det närmaste 3,3V

5V:en är 5V.

Jag har f.ö bestämt mig för att addera ännu ett skiftregister till CPLD-modulen. Detta skiftregister kommer hantera alla segment inklusive DPs separat. Detta för att jag vill minnas att mitt Yamaha KX1200 kassettdäck hade en finess där segment a till f roterade i en slinga vid nåt tillfälle. Vore således kul med total kontroll över alla segment så att inte bara A till F kan visas.

Iom att man då inte behöver programmera CPLD:n för alla eventualiteter utan kan lägga mjukvaran i UNO så kan man då, med ganska stor begränsning dock, generera vilken text man vill, t.ex StoP eller PLAu :)

Samtidigt tycker jag det är en stor fördel att kunna skicka specifika tecken mellan 0-Fh seriellt (eller parallellt) för detta innebär att UNO-programmet blir så mycket enklare. För att inte tala om min HEX-visning av typ databuss...

MVH/Roger
PS
Lysdioderna blev lite misslyckade. Speciellt placeringsmässigt som ni kan se. Men det är bra att dra några milliampere ur godtycklig regulator för att hålla dom stabila. Därav lysdioderna. Samtidigt som man får en trevlig indikation på att spänningarna är ok.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Hur använda Arduino UNO för att sampla och lägga i datab

Inlägg av Spisblinkaren »

Jag har precis besluta mig för att skippa ytterligare virning och implementera själva LED-drivningen i en CPLD direkt istället.

Har suttit och lekt med utvecklingsmiljön för Xilinx under dagen och kommit rätt långt i mitt utvecklingsarbete.

Det är sanslöst roligt och fascinerande hur man kan konstruera sådana här fantastiska produkter som CPLD.

Bifogar rolig bild.

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar