Vraag:
Lego kleurensensor + Arduino
captncraig
2010-06-04 09:28:24 UTC
view on stackexchange narkive permalink

Ik heb een kleurensensor uit de originele lego mindstorms-set. Ik heb moeite gehad om betrouwbare specificaties van het ding te vinden, maar ik heb iemand gevonden die het behoorlijk heeft reverse-engineered hier. Het ding heeft echter maar twee connectoren. Ik ben niet erg goed in circuits, maar ik zou dit graag op mijn Arduino willen aansluiten en er waarden uit willen lezen. Lijkt dit mogelijk? Zo ja, heb je enig idee welke pinnen je moet gebruiken of wat voor soort code ik nodig heb?

Twee antwoorden:
jme
2010-06-04 17:27:00 UTC
view on stackexchange narkive permalink

De meeste Lego-sensoren die ik heb gezien, gebruiken een bridge-ontvanger, zodat ze maar twee draden nodig hebben om te werken. Hierdoor kan de sensor ook in elke richting worden aangesloten. Het circuit voor de lichtsensor is niet anders.

Met een Arduino zou je de ene draad op een outputpoort aansluiten en de andere draad op een input. Door het aanvullende artikel onder aan de pagina te lezen, zou ik zeggen dat je de sensor aan de Arduino-uitgang moet kunnen inschakelen voor 1,2 ms en vervolgens voor 0,1 ms. Terwijl uitgeschakeld, lees je de waarde van de sensor op dit moment op de Arduino-ingang.

Dit artikel stelt ook dat de lego RCX 8V afgeeft, dus aangezien de Arduino slechts 5V zal uitvoeren, zul je meerdere waarden en extrpoleer een tabel met waarden om de aflezing te bepalen. De waarde komt overeen met een analoge waarde van 0 tot 127 van een lego-sensor.

Interessant. Ik probeer dit: void loop () {digitalWrite (outPin, HIGH); vertraging (3); digitalWrite (outPin, LOW); sensorValue = analogRead (inPin); Serial.println (sensorValue);} en alles wat ik ontvang is 170, ongeacht het licht. Als ik de stekker uit het stopcontact haal, gaat het naar ongeveer 227. Er is geen verandering als ik de vertragingstijd aanpas.
starblue
2010-06-04 22:53:11 UTC
view on stackexchange narkive permalink

Wat betreft de hardware, je zou ter referentie naar de schema's van de Lego Mindstorms NXT kunnen kijken. Het is compatibel met deze oude sensoren, die kunnen worden aangesloten op pin 1 en 2 van de sensorpoorten:

  • Ga naar de ondersteuningspagina voor de NXT.

  • Download de Hardware Developer Kit (geen link vanwege slecht ontworpen webpagina).

  • Bekijk de schema's voor de hoofdeenheid in bijlage 1.

  • De pinnen 1 van de sensorpoorten worden afgehandeld door een ATmega48, kijk eens naar ADC_A0 tot ADC_D0 voor de ingangen en I_ONA tot I_OND voor stroom controle. Sensorpoort pin 2 is geaard.

  • Het stroomregelcircuit bevat een extra PNP-transistor voor stroombeperking, die voor u misschien overkill is.

Wanneer ze zijn ingeschakeld, worden de sensoren meestal gevoed door de volledige batterijspanning, ze worden slechts kort uitgeschakeld voor elke meting (ik denk dat de 0.1ms van jme correct zijn). Standaard is om elke drie ms een meting uit te voeren.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...