mechanische tripmaster

Projecten die niet passen in bovenstaande onderwerpen
Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: mechanische tripmaster

Berichtdoor nicoverduin » 01 Feb 2016, 09:48

Een dipswitch van 1-9 bestaat volgens mij niet. Wel roteer schakelaars. Een rotary encoder zet een binaire waarde op de pinnen die de gekozen waarde tonen. Dus bijvoorbeeld 9 geeft binair 1001, 3 geeft 0011. Je hebt dus 4 pinnen nodig om 0-9 te kunnen waarnemen. 4 van die dingen zou betekenen dat je 16 data pinnen nodig hebt. Vaak hebben die dingen ook een druk knop. Die zou je dan kunnen gebruiken om de waarde te zetten. voorbeeld:
cpp code
#define PIN_BENC_SW 4    // de encoder schakelaar
#define PIN_BENC_0 5 // encoder bit 0
#define PIN_BENC_1 6 // encoder bit 1
#define PIN_BENC_2 7 // encoder bit 2
#define PIN_BENC_3 8 // encoder bit 3

uint8_t index = 0; // cijfer waar we naar kijken
uint8_t binaireWaarde[4] = 0; // tabel met de gekozen waarden
uint8_t binaireEncoderPinnen[4] = { PIN_BENC_0, PIN_BENC_1, PIN_BENC_2, PIN_BENC_3 }

pinMode(PIN_BENC_SW, INPUT_PULLUP);
pinMode(PIN_BENC_0, INPUT_PULLUP);
pinMode(PIN_BENC_1, INPUT_PULLUP);
pinMode(PIN_BENC_2, INPUT_PULLUP);
pinMode(PIN_BENC_3, INPUT_PULLUP);

while (index < 4) {
if (digitalRead(PIN_BENC_SW) == LOW) { de huidige waarde van de encoder wordt gelezen

for (int8_t i = 3; i >= 0; i--){
//
// schuif alle bits een naar links (in feite vermenigvuldig met 2)
//
binaireWaarde[index] = binaireWaarde[index] << 1;
//
// en tel het volgende bit erbij op
//
binaireWaarde[index] = binaireWaarde[index] + digitalRead(binaireEncoderPinnen[i]);
}
index++; // volgende cijfer
}

}
//
// totale omtrek berekenen
//
uint16_t omtrek = 0;
for (uint8_t i = 0; i < 4; i++) {
omtrek = omtrek * 10;
omtrek = omtrek + binaireWaarde[i];
}


Je hebt dus 5 data pinnen nodig voor cijfers 0-10
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: mechanische tripmaster

Berichtdoor shooter » 01 Feb 2016, 10:51

ja hoor joost dat kan met dipswitches, je hoeft het (voor elk type wiel) toch maar 1 keer te doen.
met die binaire waardes op een analoge ingang kan dat zeker, heb je al eerder gedaan.

er zijn ook een soort blauwe blokjes waar je met een schroevedraaier een getal op kunt zetten die er dan digitaal uitkomt.

persoonlijk zou ik dat met een I2C (pcf8574) oplossen dan kun je de pinnen ook nog voor andere dingen gebruiken.
of uiteraard in software, dat spaart pinnen. of met een quadrant encoder en een display (in een menu)
paul deelen
shooter@home.nl

Berichten: 35
Geregistreerd: 07 Jan 2016, 22:09
Woonplaats: Veghel

Re: mechanische tripmaster

Berichtdoor JoostB » 01 Feb 2016, 21:17

Hallo Nico,

bedankt voor je reactie maar volgens mij zijn deze dip-switsches wel te krijgen hoor en inderdaad ook de roterende versie.

17dip9ss.jpg
17dip9ss.jpg (83.68 KiB) 7990 keer bekeken


-bella-Japan-FUJISOKU-Fuji-0-9-10-bit-7-5-7-5-rotary-DIP-switch.jpg_350x350.jpg
-bella-Japan-FUJISOKU-Fuji-0-9-10-bit-7-5-7-5-rotary-DIP-switch.jpg_350x350.jpg (31.27 KiB) 7990 keer bekeken


Als ik zoals je schrijft met een rotery-encoder zou gaan werken dan kom ik heel wat ingangen te kort denk ik, tevens weet ik niet of de
ingegeven stand onthouden word door de Arduino na een stroom uitschakeling.
Wel knap dat je zo een code uit je mouw schut!! Voor mij zijn dit nog erg veel stappen te ver vooruit maar aldoen leert men.

Hallo Shooter (Paul)
ik heb gekeken en proberen te bestuderen wat je bedoeld met met het I2C I/O poort chip.
Ik begrijp dat dit een 8-bits chip is dus 8 ingangen en dat je deze met de Arduino d.m.v. 2 ingangen laat communiceren (oorrect me if i am wrong)
8-ingangen is (lijkt mij) te weinig om de getallen 0 t/m 9 weg te schrijven.
Ik heb gezien dat er ook I2C-chips zijn met meer ingangen bijv: http://www.hobbytronics.co.uk/adc-i2c-slave
Toch lijkt het mij dat ik dan nog steeds 4x2-ingangen nodig heb om een 4-cijferig getal te maken, klopt dat??
Ook kom ik onderstaand systeem tegen, dit is zelfs een voorbeeld met 16 schakelaars op 1 ingang, is het zo mogelijk of kleven hier nadelen aan?
Ik denk dat het voor mij nog een hele opgave/klus word om hier een werkende code voor te schrijven maar zoals het nu gaat met behulp van dit forum
kan het misschien wel gaan lukken al bewonder ik wel de mensen die beginnen aan de C-code en deze na een paar dagen beheersen, ik blijf het verdomd lastig vinden (ik ben ook een wtb-er)

schema keypad (Custom).png
schema keypad (Custom).png (127.54 KiB) 7990 keer bekeken

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: mechanische tripmaster

Berichtdoor nicoverduin » 01 Feb 2016, 23:24

Met die dip switches worden het veel io's of een analoge poort met veel weerstanden. Blijft prutsen in de marge
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: mechanische tripmaster

Berichtdoor shooter » 02 Feb 2016, 11:17

die dipswitches , maar ook de rotarys kun je dus met weerstanden zo maken dat er per cijfer maar 1 analoge ingang nodig is.
en nee het kan niet met de foto, want dan kun je telkens maar een schakelaar dicht hebben, en gaat bij meerdere dicht de detectie verloren (reken maar eens uit wat de weerstand is als beide gesloten zijn. maar voor een keypad is dit prima, slechts 2 draadjes zijn er nodig.

wat is er op tegen om hier een tienslagen potmeter te gebruiken, de ingang heeft een resolutie van 1024 en dat is 0.1 % lijkt mij genoeg.
het kan zelfs nog beter door bijvoorbeeld ondergrens op 900 en bovengrens op 1100 millimeter dan krijg je bijvoorbeeld 0.2 millimeter. is 0.02 %
ja en dat met een simpele arduino.
en zeker met een 10 kanaals 10 bit op 2 pinnen gaat ook goed. (niet erg snel maar dat is hier niet belangrijk.
en nee al die pinnen (je kunt zomaar een stel van die dingen op dezelfde pinnen(UNO A4 en A5) zetten en dan kun je honderden in/uit via 2 pinnen laten lopen.
bijna alle televisies hebben dit erin zitten. zelfs de afstandbediening werkt met I2C.
paul deelen
shooter@home.nl

Berichten: 35
Geregistreerd: 07 Jan 2016, 22:09
Woonplaats: Veghel

Re: mechanische tripmaster

Berichtdoor JoostB » 02 Feb 2016, 21:52

shooter schreef:die dipswitches , maar ook de rotarys kun je dus met weerstanden zo maken dat er per cijfer maar 1 analoge ingang nodig is.
en nee het kan niet met de foto, want dan kun je telkens maar een schakelaar dicht hebben, en gaat bij meerdere dicht de detectie verloren (reken maar eens uit wat de weerstand is als beide gesloten zijn. maar voor een keypad is dit prima, slechts 2 draadjes zijn er nodig.

wat is er op tegen om hier een tienslagen potmeter te gebruiken, de ingang heeft een resolutie van 1024 en dat is 0.1 % lijkt mij genoeg.
het kan zelfs nog beter door bijvoorbeeld ondergrens op 900 en bovengrens op 1100 millimeter dan krijg je bijvoorbeeld 0.2 millimeter. is 0.02 %
ja en dat met een simpele arduino.
en zeker met een 10 kanaals 10 bit op 2 pinnen gaat ook goed. (niet erg snel maar dat is hier niet belangrijk.
en nee al die pinnen (je kunt zomaar een stel van die dingen op dezelfde pinnen(UNO A4 en A5) zetten en dan kun je honderden in/uit via 2 pinnen laten lopen.
bijna alle televisies hebben dit erin zitten. zelfs de afstandbediening werkt met I2C.



10 slagen potmeter is best een goede optie echter zijn deze duur en zou ik er 4 nodig hebben.
Beste optie lijkt mij dan om te gaan werken met I2C.
Ik heb een tekening gemaakt zoals ik denk dat je bedoelt, klopt dit een beetje?
Ik heb de 2-breakboards gewoon parallel gehangen aan 2 analoge ingangen, kan de Arduino dit uit elkaar houden en er kunnen dus meerdere signalen tegelijk
over de I2C-chip.

(Voor de instelling van de duizendtallen heb ik genoeg aan 1000 en 2000, ik heb nog geen autowiel gezien wat een grotere diameter heeft als 3000mm.)

2x16 bit sparkfun (Custom).jpg
2x16 bit sparkfun (Custom).jpg (63.44 KiB) 7911 keer bekeken


Ondertussen ook de tellers binnen.
hier een foto,
DSC06633.JPG
DSC06633.JPG (134.62 KiB) 7911 keer bekeken

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: mechanische tripmaster

Berichtdoor shooter » 03 Feb 2016, 11:30

een tienslagenpotmeter kost bij conrad 1.11 euro en je hebt er maar 1 nodig, zie vorige bericht.
dan heb je die hele circus ook niet nodig.
verder heb je maar 4 ingangen nodig per cijfer zeker met die draaidingen. de 1,2,4,8 (hoef je toch maar 1 keer te doen) en er is zelfs geheugen in jouw UNO die zelfs na stroomuitval het getal bewaard (trouwens net zoals het programma zelf dat blijft er ook in staan.


Maar even terug naar het doel, waarom maak je dit eigenlijk? ik zie er de zin niet helemaal van zitten, apart van dat ik het een leuk project vind.
die twee tellers kun je toch ook met een simpel display doen?
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: mechanische tripmaster

Berichtdoor nicoverduin » 03 Feb 2016, 15:00

shooter schreef:een tienslagenpotmeter kost bij conrad 1.11 euro en je hebt er maar 1 nodig, zie vorige bericht.
dan heb je die hele circus ook niet nodig.
Heb jij het over een trimmer of een potmeter?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: mechanische tripmaster

Berichtdoor shooter » 03 Feb 2016, 21:43

een trimmer, want het hoeft toch maar 1 keer.
paul deelen
shooter@home.nl

Berichten: 35
Geregistreerd: 07 Jan 2016, 22:09
Woonplaats: Veghel

Re: mechanische tripmaster

Berichtdoor JoostB » 04 Feb 2016, 21:15

Shooter/ Nico

ik wil deze tripmaster zo maken omdat deze in een oltimer komt te zitten.
Vroeger hadden ze bijv. een Halda tripmaster (zie foto hieronder), deze zijn tweedehands nog steeds te koop maar er worden prijzen gevraagd tussen de 600 en 1000Euro!
Met navigatie ritten is het niet toegestaan om via GPS de afstand te bepalen en digitaal (display) word mondjesmaat toegestaan.
Verder vind ik het leuk om het mechanische met het electronische te combineren.
Verder kan ik dit lekker binnen doen want ik vind het nu te koud om in de werkplaats iets te gaan doen wat niet perse nodig is.
En als ik mag kiezen tussen op de bank hangen tv te kijken of lekker iets leren en wat te prutsen is voor mij de keuze snel gemaakt!:)

htwinmastermetall.gif
htwinmastermetall.gif (22.71 KiB) 7827 keer bekeken


Oke dus het makkelijkste is dan om de zogenaamde trimmers te gebruiken, als ik het goed begrijp zijn dit dan onderstaande onderdelen,
ik zou er dan 4 nodig hebben, nadeel hiervan dat ik aan de potmeter niet kan zien wat mijn ingestelde waarde op dat moment is er staat
geen echte schaalverdeling op van 0-9.
Als ik het goed heb praten we over onderstaande trimpotmeters.

cermet-trimmer-pot-500x500 (Custom).jpg
cermet-trimmer-pot-500x500 (Custom).jpg (17.61 KiB) 7827 keer bekeken


Ik kan natuurlijk mijn waarde van mijn auto wiel in de Arduino programeren maar het is juist de bedoeling om iets universeels te maken,
want voor een paar vrienden (lotgenoten) wil ik er namelijk ook één maken vandaar dat ik hem instelbaar wil maken en natuurlijk is het een uitdaging.

VorigeVolgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 10 gasten