verlichtingsschakeling voor kunstwerk

Dit topic is gesloten

Ik ga nog verder om de mechanische oplossing betrouwbaarder te krijgen maar denk dat een elecktronische superieur is. Als de schakeling iets betrouwbaarder is ga ik er een tegel van maken, eens kijken wat er gebeurt bij gebruik.

Het lijkt mij het handigste om het schema met mechanische schakeling door te ontwikkelen tot een elecktronische. Dit zouden volgens mij iig de volgende twee richtingen kunnen zijn:

1. sensor die mechanisch schakelt bij trilling (zoals deze: http://www.farnell.com/datasheets/320596.pdf).

2. sensor die een stroom afgeeft bij beweging, die stroom moet vervolgens een versterker aansturen om tot de juiste spanning te komen. Zoals de piezo van farnell doet dit toch?

2.b De sensor zou mischien een klein relais kunnen schakelen. Dit mischien, http://www.farnell.com/datasheets/303558.pdf?

Voor een realistisch resultaat is het beter dat je geen trillingsensoren maar echte krachtsensoren gebruikt. Die piezo sensoren zien er heel goed uit.
Ik heb nog niet verder gekeken maar ik vermoed dat deze zonder meer op een ingang van een mC kunnen. En als je dan toch met een uC bezig bent, kan je er direct 4 RGB LED's mee sturen, nog een mooier resultaat! :)
En als je echt gek wilt doen, alle tegels op een i2c bus, 1 master uC er bij en je maakt golf effecten als je hard genoeg springt, laat de tegels zachtjes random oplichten als er niemand op loopt, negatief (uitgaan als je er op loopt)...

edit: een twister spel... :D

True story bro!
Lucky Luke

Golden Member

Ik zou persoonlijk ook voor een microcontroller gaan. Piezotje aan de ADC, spanning meten, hoe hoger de spanning hoe breder de puls (PWM sturing). En als dat werkt wat leuke effectjes maken.

Echt moeilijk is dat niet hoor. En duur ook niet. Een kleine avr (attiny13 ofzo, die heeft 2 PWM kanalen en wat adc kanalen ook) kost ongeveer €1, afhankelijk welke je kiest, die attiny13 is 75 cent. Programeren is ook niet lastig eigenlijk, met bascom. Ok, voor een beginner wel natuurlijk. Maar analoge elektronica lijkt me ook lastig voor 'n beginner. Zelfs mogelijk nog lastiger.

Met een attiny13 zet je in elke tegel een attiny13, 4 felle leds en wat weerstandjes, wat condensatortjes en een spanningsregelaartje. En de sensor ntuurlijk. 't kost denk ik minder dan een berg opamps per tegel...

Anyhow suc6, wanneer moet het af zijn? Ik heb nu niet echt tijd met mijn examens, hoewel morgen engels, da's makkelijk. Maar in mijn vakantie kan ik misschien wel een klein stukje code schrijven voor een attiny, dat 'ie zijn PWM pulsbreedte vergroot als de spanning op de ADC ingang hoger wordt. Dat is echt een half uurtje werk ofzo... al loopt het altijd uit en ik moet het natuurlijk nog testen ook. En ik heb geen attiny13, maar op een attiny26 zal het ook wel werken. Die is alleen duurder en groter.

Mocht het echt klein moeten kan een PIC12F22nogwat natuurlijk ook. Dat is alleen eigenlijk niet meer lekker te solderen, zo klein.

Mocht je die piezo aan een uC gaan hangen: ik zou er toch een zenerdiode bijzetten tegen piekspanninkjes. Of een diode naar de positieve voeding, zodat alles hoger dan vcc + 0,7V wegvloeit. Al zitten er in die uC ook al beveiligingsdioden, 't is toch netter om extern nog wat beveiliging te plaatsen.

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)

Een microcontroller oplossing kan natuurlijk ook, en je hebt helemaal gelijk dat dat niet echt moeilijk hoeft te zijn, voor iemand met een beetje ervaring. Het probleem is alleen dat de TS dat zelf niet kan, en zelf ook geen programmer heeft (neem ik aan). Dat lijkt me dus niet haalbaar binnen krap 3 weken, tenzij iemand anders een proto voor hem gaat bouwen en de controllers geprogrammeerd opstuurt, of het samen met de TS gaat bouwen.

Het voordeel van een schakeling met een paar opamps en/of transistors en wat andere losse onderdelen is dat iemand (ik, bijvoorbeeld) dat thuis kan simuleren, bouwen en testen, en de TS dan een werkend schema heeft om na te bouwen.

Als de TS de mechanische versie wil presenteren, en daarna, dus zonder die krappe deadline, het ding verder wil ontwikkelen, is een microcontroller misschien wel de beste optie.

Als het goed is, heb ik nog ergens code liggen van een softwarematige 4-voudige synchrone bus, dat heb ik ook voor een schoolprojectje gemaakt. Je hebt dan geen master nodig, maar elke controller communiceert met zijn buren. Op die manier kun je, met eenvoudige regels, leuk emergent behaviour krijgen.

Ik ga nu nog even niet verder met de elektronische versie, ik wil eerst even de experimenten van de TS afwachten. Ik verwacht dat hij de mechanische problemen zelf wel op kan lossen, en dat die deadline dus geen probleem meer zal zijn.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Mijn voorstellen waren natuurlijk niet om uit te werken voor de deadline maar er na. Alle uC's op 1 I²C bus biedt volgens mij wel de meeste mogelijkheden. Bij gedecentraliseerde controle moet je al coöperatieve algoritmes gaan uitdenken en dit per effect, dat weegt niet op tegen 1 extra uC.

True story bro!

Dat is nog maar de vraag; het leuke van zo'n bus waarbij je alleen met je buren communiceert, is dat je impliciet al een methode hebt om de indeling van het veld vast te stellen. Sterker nog, in de meeste gevallen wil je dat helemaal niet weten; elke controller weet aan welke kanten hij buren heeft, en daar kan hij mee communiceren.

Het lastige van I2C is dat je niet weet welke controllers aan elkaar grenzen.

De masterloze manier heeft ook wel een zekere technische elegantie, die je niet hebt als je een centrale master controller gebruikt.

Veel effecten zijn waarschijnlijk erg gemakkelijk te programmeren, maar mijn ervaring met zulke dingen is dat het juist leuk is om naar emergent behaviour te kijken, en zeker bij een kunstobject past dat waarschijnlijk goed. Een simpel en bekend voorbeeld van emergent behaviour is Conway's "game of life".

Iets wat heel eenvoudig te maken is, is een golf effect. Als een controller een schok detecteert, telt hij deze op bij zijn interne variabele "activiteit". Deze wordt ook langzaam verlaagt. Elke controller stuurt ook (op een centrale klok, dat is een deel van de communicatie) zijn activiteitswaarde naar de omliggende controllers. Elke controller ontvangt dat dus ook, neemt het gemiddelde van zijn buren, telt zijn eigen waarde erbij op, trekt er een kleine constante vanaf, deelt het resultaat door twee, en slaat dat op als zijn nieuwe activiteitswaarde. Op die manier zal elke schok effect hebben op alle tegels in de buurt, maar naarmate de afstand groter wordt, wordt het effect kleiner. Als je dan ook nog een kleine tijdsvertraging inbouwt, zal het effect vertraagd verspreiden, en je de golf kunnen zien lopen door de tegels.

Dit klinkt als een ingewikkeld verhaal, maar hiervoor heb je maar een paar simpele regels code nodig.

Overigens is het grootste nadeel van die communicatie code voor deze toepassing, dat je voor 4 richtingen 9 I/O pinnen nodig hebt; voor elke richting een ingang en een uitgang (het is een full-duplex bus), en een gedeelde kloklijn. Je komt dan dus niet meer wel met een hele kleine controller, maar een 90S2313 of ATMEGA8 of zo zou wel kunnen.

EDIT: we zijn het er in ieder geval over eens dat dit soort dingen niet haalbaar zijn voor de deadline van de TS, en zonder specialistische hulp is dat waarschijnlijk helemaal niet realistisch voor de TS.

Misschien ga ik morgen alsnog even spelen met een microfoon versterkertje en zo, ik wil weten of hetgeen ik bedacht had ook gaat werken.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 27 mei 2009 23:23:17 schreef SparkyGSX:
Het lastige van I2C is dat je niet weet welke controllers aan elkaar grenzen.

Elk een dip switch 'MAC' adres? Of initialisatie door de tegels in volgorde af te lopen? ... Mogelijkheden genoeg.

mijn ervaring met zulke dingen is dat het juist leuk is om naar emergent behaviour te kijken

De kijker weet niet waar de controle zit, emergent behaviour kan perfect in een matrix in de master uC.

Ik zie toch wel een aantal grote nadelen van enkel met je geburen te kunnen praten.
Per effect dat je wil uittesten zal je alle uC kunnen gaan herprogrammeren. Je zit met een onvolledig verbonden mesh netwerk waardoor je dus routers zal moeten implementeren als je niet enkel met je buren wil kunnen praten voor bepaalde effecten. Wat je zelf nog zei, het grote aantal I/O.

Met I²C bus heb je geen enkel nadeel, in tegendeel, enkel voordelen.

True story bro!

Nou, dat is niet helemaal waar. Met I2C moet je de bus met alle nodes delen, dus als het aantal nodes erg groot wordt, heb je per node erg weinig bandbreedte over.

Als je dipswitches is gebruiken voor een soort MAC adres, heb je ook al snel 5 of 6 bits nodig, als je grotere velden wilt kunnen maken, zelfs nog meer. Tel daarbij de 2 I/O voor de I2C bus, en het maakt eigenlijk niets meer uit, tenzij je schuifregisters o.i.d. gaat gebruiken voor die dipswitches.

Dan heeft elke node misschien wel een uniek adres, maar dan weet je nog steeds niet welke nodes aan elkaar grenzen, omdat het niet eenvoudig is om de topologie in een uniek adres van een paar bits te vangen, als je iets anders wilt maken dan een eenvoudig vierkant of rechthoek.

Een soort van enumeratie is natuurlijk ook mogelijk, maar ook dat kost je minimaal 2 I/O lijnen, denk ik. Je hebt een ingang nodig vanaf de vorige controller, waarmee je aangeeft dat die specifieke controller degene is die aan de beurt is voor de enumeratie, en een uitgang naar de volgende controller die je aan het eind van de initialiseren van die controller aan kunt zetten, om de volgende te selecteren.

Als je dan nog de flexibiliteit wilt hebben om vormen anders dan vierkanten en rechthoeken te maken, moet je naar 4 richtingen die I/O hebben. Als je het slim aanpakt, kun je dat misschien met 5 I/O pennen doen, maar ik durf niet met zekerheid te zeggen of dat gaat, en eenvoudig is het zeker niet. Mogelijk kan het ook wel met minder.

Die gedeelde bus geeft je een hoop eenvoud; je kunt, terwijl het ding aan staat, de configuratie veranderen, tegel bij plaatsen, weg halen, net wat je wilt, in de meest bizarre vormen. Je kunt het netwerk net zo klein of groot maken als je zelf wilt, en je kunt zelfs de randen van het netwerk aan elkaar koppelen.

Je hebt zeker gelijk dat het lastig kan worden als je over een grotere afstand wil kunnen communiceren, maar waarom wil je dat? Het heeft ook wel een bepaalde elegantie dat geen enkele controller overzicht heeft op het geheel, en alleen met zijn buren kan communiceren. Elke controller stelt dan een kleine schakel voor in een grote gemeenschap. Ik denk dat dat veel betere voorwaarden zijn voor interessant emergent behaviour dan een master die alles overziet en alles regelt.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Bedankt voor al het meedenken, de uC lijkt toch wel de beste optie te zijn.

Voor de beoordeling ga ik dit niet meer redden (daar zijn we het wel over eens geloof ik). Maar mischien kan ik hier van de zomer mee aan de slag gaan.

De mogelijkheden die ik hierboven heb gelezen klinken erg goed. Zeker de golf effecten lijken mij mooi.

Voor nu nog even terug naar een simpel systeem: Denken jullie dat ik iets kan met een van deze opties?
1. sensor die mechanisch schakelt bij trilling/kracht (zoals deze: http://www.farnell.com/datasheets/320596.pdf).

2. sensor die een stroom afgeeft bij trilling/kracht, die stroom moet vervolgens een versterker aansturen om tot de juiste spanning te komen. Zoals de piezo van farnell doet dit toch?

2.b De sensor zou mischien een klein relais kunnen schakelen. Dit mischien, http://www.farnell.com/datasheets/303558.pdf?

Op 28 mei 2009 06:26:43 schreef SparkyGSX:
Nou, dat is niet helemaal waar. Met I2C moet je de bus met alle nodes delen, dus als het aantal nodes erg groot wordt, heb je per node erg weinig bandbreedte over.

Die je niet nodig hebt, of wil je films gaan streamen?

Als je dipswitches is gebruiken voor een soort MAC adres, heb je ook al snel 5 of 6 bits nodig, als je grotere velden wilt kunnen maken, zelfs nog meer. Tel daarbij de 2 I/O voor de I2C bus, en het maakt eigenlijk niets meer uit, tenzij je schuifregisters o.i.d. gaat gebruiken voor die dipswitches.

Je moet je niet gaan vastpinnen op die dip switches, het ging er om dat het echt niet moeilijk is om de posities aan de master door te geven.

Dan heeft elke node misschien wel een uniek adres, maar dan weet je nog steeds niet welke nodes aan elkaar grenzen, omdat het niet eenvoudig is om de topologie in een uniek adres van een paar bits te vangen, als je iets anders wilt maken dan een eenvoudig vierkant of rechthoek.

Niemand heeft toch gesproken over afwijkende vormen die de TS wil maken?

Je kunt het netwerk net zo klein of groot maken als je zelf wilt, en je kunt zelfs de randen van het netwerk aan elkaar koppelen.

5x5 leek voldoende voor de TS, ik verwacht dus niet dat hij een voetbalveld zal betegelen. Een maximum van 128 knooppunten leek mij dus voldoede.

Je hebt zeker gelijk dat het lastig kan worden als je over een grotere afstand wil kunnen communiceren, maar waarom wil je dat?

Om volledig vrij te zijn qua effecten.. Ik zeg maar iets (ga nu niet in op dit voorbeeld) alles spiegelen om een bepaalde lijn. In geen tijd heb je dat in je master geimplementeerd, zoals alle andere toffe effectjes die je maar kan bedenken. Doe dat maar eens als je geen centrale controle hebt. Nieuw effect maken? Of een fout in het programma ok, effe alle (>128 knooppunten in jouw geval) herprogrammeren.

Het heeft ook wel een bepaalde elegantie dat geen enkele controller overzicht heeft op het geheel, en alleen met zijn buren kan communiceren.

Een grote beperking noem ik dat voor deze toepassing.

[ONTOPIC]
Die trillingsensor kan je waarschijnlijk wel gebruiken, hou er gewoon rekening mee dat die normaal maximum 200mA door zich heen wil hebben. Is de afstelling al gelukt met die potmeter? Welke weerstand heb je nu om de C op te laden?

True story bro!

Uiteindelijk is de toepassing wel bedoeld voor grote vlakken. denk aan een centrale hal van een kantoorpand, stationshal, etc...

Je hebt het dan al snel over 500m2

Mischien kan je een centrale controller gebruiken waaruit de andere controllers hun gedrag inlezen? Je kan dan een controller herprogrameren om het geheel aan te passen.

Kan je iets zeggen over mijn vorige vraag, vervanging schakelaar door sensor?

@plantrekker: de afwezigheid van een master was overigens een voorwaarde voor de schoolopdracht waar ik die bus ooit voor ontwikkeld heb.

Je hebt absoluut gelijk dat het handig is om alle controllers simpel te houden, en de intelligentie in een centrale controller (of PC) te bouwen, zolang je met prototypes bezig bent, omdat je dan niet steeds alle controllers hoeft te flashen. Als je eenmaal dat stadium voorbij bent, maakt het wat dat betreft niets meer uit.

Ik ben ook helemaal met je eens dat een I2C bus voor de beperkte gevallen van een eenvoudige vorm, en niet meer dan 128 nodes en weinig dataverkeer technisch gezien een prima oplossing is.

De elegantie van de controllers die allemaal in hun eigen kleine wereldje leven, waarin ze alleen met hun directe buren kunnen communiceren, is maar voor een klein gedeelte technisch, en verder meer filosofisch en kunstzinnig. Voor dergelijke projecten die geen direct nut hebben, is de beste technische oplossing niet perse de beste oplossing.

Daar komt trouwens bij dat zo'n bus ook technisch heel interessant kan zijn, omdat het eindeloos schaalbaar is. Daarbij kun je gaan spelen met het netwerk, bijvoorbeeld door in het geval van die golven een tegel ergens midden in het veld uit te zetten; die tegel zal hetzelfde effect hebben als een grote steen in een vijver; de golf zal weerkaatst worden, en er omheen gaan. Daarmee wordt ook meteen duidelijk dat het netwerk niet stil valt er er 1 verbinding uitvalt, in tegenstelling tot een I2C bus.

Je kunt een netwerk ook delen terwijl het werkt, en dan zullen beide stukken gewoon blijven werken, zolang ze voeding krijgen. Als je die twee stukken weer aan elkaar koppelt (eventueel op een andere manier dan het voorheen zat), zullen ze direct weer samen gaan werken, maar dan ook automatisch in de nieuwe configuratie.

Overigens moet ik er wel bij zeggen, dat als de clocklijn die door alle nodes gedeeld wordt hoog of laag blijft hangen, de communicatie natuurlijk ook stil valt, maar het gaat even om het idee.

Je zou natuurlijk een bootloader kunnen maken die via de genoemde bus kan communiceren, en op die manier het hele netwerk in een keer van nieuwe code voorzien. Je zou bij een pakketje firmware zelf kunnen zeggen "twee nodes naar beneden, dan een naar rechts", om het alleen in een bepaalde node te laden. Elke node die het pakket doorgeeft, zou de stap die hij daarbij zelf zet, van het pakket af kunnen halen, totdat alle stappen op zijn, dan is het pakket bij de juiste node uitgekomen.

Of de TS ook vreemde vormen wil gaan gebruiken, weet ik niet. Ik ben nu alleen aan het nadenken over de mogelijkheden van zo'n systeem. Even verder denken dan de originele vraagstelling van de TS.

Voor grotere oppervlakken zou je natuurlijk een andere bus kunnen gebruiken, of het opdelen in kleinere secties en de masters van die secties weer met een overkoepelende master laten communiceren.

Voor beide mogelijkheden is wat te zeggen.

@TS: die sensor van Farnell is misschien wel geschikt, maar in de datasheet staat dat het onvoorspelbaar is of hij na een trilling in open of gesloten positie blijft staan. Dat zou je kunnen verhelpen door een condensator in serie te zetten met de sensor, die laat namelijk alleen veranderingen door. Op die manier maakt het dus niet uit in elke stand het ding blijft staan.

Het nut van dat relais zie ik niet echt in; relais zijn veel te traag voor zo'n toepassing, die kan het trillen van de schakelaar of een ander contact nooit snel genoeg volgen. Je kunt natuurlijk wel een bipolaire transistor gebruiken, of een FET, als je meer stroom nodig hebt dan het contact kan leveren.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 28 mei 2009 11:31:15 schreef Scotch:
Je hebt het dan al snel over 500m2

Dat is een heel andere zaak, dan zal het moeten opgesplitst worden in kleinere delen als je een centrale besturing wilt. Het hangt er vanaf welke effecten je mogelijk wil maken. bvb de voetstappen van 1 zaal zichbaar maken in een andere..

edit: krijg je die constuctie echt niet schokbestendig?

True story bro!
Lucky Luke

Golden Member

heeft er misschien al iemand aan gedacht dat de buren sowiso al reageren, omdat die eveneens een schok krijgen, zij het minder sterk?

Niet alles hoeft in software :) (of je moet dit effect juist willen tegengaan natuurlijk...)

EDIT:
Ik heb even een middagje/avondje vrij, en een testcodetje geschreven voor de attiny26. Moet 'm nog testen, ga ik nu doen.

[Bericht gewijzigd door Lucky Luke op donderdag 28 mei 2009 17:59:34 (22%)

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)

Op 26 mei 2009 16:42:36 schreef plantrekker:
Als je microfoontjes zou gebruiken, kan je de omliggende tegels makkelijk wat mee laten oplichten.

Ja dus. :) Bij alles van trillingsensoren zal het zo zijn, waarschijnlijk wat minder bij de piezo kracht sensoren.

True story bro!
Lucky Luke

Golden Member

code is af, en getest. filmpje op youtube.

Hoe harder je tikt, hoe feller de led gaat branden. Ik mis/gebruik een piezobuzzer als sensor. Over de buzzer een zenerdiode (5v1) als beveiliging tegen spanningspieken, en tevens als een soort extra ontladingsweerstand voor het buzzertje (zo'n piezo moet je je voorstellen als een soort condensator die oplaad als je 'm vervormd).

Als je hard tikt gaat de led feller aan dan als je zacht tikt.
Als je zacht tikt als de led al fel aan is blijft de led even fel als dat 'ie is.
Als je zacht tikt terwijl de led slecht heel zwak aan is, dan wordt 'ie iets feller.

De led zit op PortD.1, de geinverteerde PWM uitgang van kanaal 1A, via 235 Ohm (2x 470 parallel, had dat voorhanden)
De piezo zit op adc6

De gebruikte microcontroller is de attiny26 op z'n interne oscilator.

Hier is de code:

code:


$regfile = "attiny26.dat"
' default the internal osc runs at 1 MHz
$crystal = 1000000
Dim Adc_meting As Integer
Dim Licht As Byte
Dim Hulp As Byte

Const Fadetijd = 80

'Config Timer1 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
' maar dan handmatig

Tccr1a = &B01011111   
      'zie datasheet blz 72 en 77
Tccr1b = &B11000001
    'prescale = 1, clearen bij compare, zie datasheet blz 73 en 74
Ocr1a = 28 
    ' output compare, zeg pwm1a =
Ocr1b = 128   
     ' idem, voor b
Ocr1c = 255
          ' top waarde

Ddrb.1 = 1      'output
Ddrb.0 = 1
Ddra.7 = 0      'input
Porta.7 = 0     'geen interne pullup
Config Adc = Single , Prescaler = Auto , Reference = Avcc   
' AD-Wandler starten
Start Adc

Licht = 128    'licht half aan in 't begin
Adc_meting = 0
Hulp = Fadetijd

Do
Adc_meting = Getadc(6)
Shift Adc_meting , Right , 2    
'deel adc_meting door 4  (max 1023 wordt nu max 255)
   If Adc_meting > Licht Then
   Licht = Adc_meting
   Else
   Hulp = Hulp - 1                                          
'nonblocking fade delay (het faden gaat trager, maar de lus / het lezen van de adc niet)
      If Hulp = 0 And Licht <> 0 Then                       
'zolang het licht niet uit is het naar uit laten faden.
      Licht = Licht - 1
      Hulp = Fadetijd
      End If
   End If
Ocr1a = Licht
Loop

EDIT:
Die comments verpesten de layout, ik ga even wat editten done

EDIT2:
Hexfile:

code:


:100000000BC018951895189518951895189518956A
:1000100018951895189518958FED8DBFC0ECE8EBE5
:100020004E2EDD275D2EEEE7F0E0A0E6B0E088275B
:100030008D933197E9F784B7082E877F84BF8FE1CE
:1000400081BD87E081BD66248FE580BF81EC8FBDD7
:100050008CE18DBD80E88CBD8FEF8BBDB99AB89ACD
:10006000D798DF9883E886B980E087B9379A80E827
:100070008093620080E090E0A0E68D939C9380E501
:100080008093630007B1007E066007B941D0A0E607
:100090008D939C9392E0A0E644D0A2E64D91552723
:1000A000A0E60D911C910417150714F009F001C08A
:1000B00005C080916000809362001DC0A3E68C9112
:1000C00081508C9300916300003081E009F080E062
:1000D0008F9300916200003081E009F480E09F91ED
:1000E0008923882309F407C0A2E68C9181508C9360
:1000F00080E580936300A2E68C918DBDC3CF3197DC
:10010000F1F70895689462F80895E89462F8089504
:10011000369A3699FECF369A3699FECF84B195B18C
:100120000895903041F00D911C91169507959A9580
:08013000E1F71C930E93089502
:00000001FF

Fuses gewoon op fabrieksinstellingen laten

De fadetijd is aan te passen trouwens. Gewoon ipv 80 een hogere waarde invullen en hij fade trager (max. is 255, of je moet ook dim hulp as byte veranderen in dim hulp as integer). En dan hercompilen met bascom.

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)

leuk gemaakt! Aan iets dergelijks dacht ik al, maar toen werd er dus een hele analoge uitvoering geopperd en dan kan ik mij beter stil houden :P
Mogelijk heb je dan toch nog wat aan die piezosensor..

Every machine is a smoke machine if you operate it wrong enough

Super tof! Je bent idd sneller dan je schaduw. Dit ziet er echt heel goed uit. De LED doet wat hij moet doen en volgens mij kan ik het nog zelf bouwen ook.

Als ik het goed begrijp hebben we het over maar vijf onderdelen?

1. De piezo buzzer als sensor (uitwisselbaar met die van farnell)?
2. Een zenner diode
3. attiny26 linkje
4. De weerstand
5. En natuurlijk de LED

Nog een paar vragen:
1. Kan ik hier dan ook meerdere leds op zetten, wijzigen weerstand/of mischien met een programma wijziging? En hoeveel zouden dit er maximaal zijn.

2. wat voor apparaat kunnen jullie adviseren om de software op de controller te laden.

3. als ik het programma wil wijzigen moeten alle controllers weer losgesoldeerd worden of kan ik dan hiermee iets:

Je zou natuurlijk een bootloader kunnen maken die via de genoemde bus kan communiceren, en op die manier het hele netwerk in een keer van nieuwe code voorzien. Je zou bij een pakketje firmware zelf kunnen zeggen "twee nodes naar beneden, dan een naar rechts", om het alleen in een bepaalde node te laden. Elke node die het pakket doorgeeft, zou de stap die hij daarbij zelf zet, van het pakket af kunnen halen, totdat alle stappen op zijn, dan is het pakket bij de juiste node uitgekomen.

torretje als uitgang gebruiken en de mogelijkheden worden bijna eindeloos..

iets zonder duidelijke functie is vaak meer waard als iets nuttigs...

Je kunt de controllers in een voetje zetten, en je kunt de pinnen voor het programmeren d.m.v. een header bereikbaar maken, je zou een klem kunnen gebruiken die je op de controller zet, of je zou een bootloader kunnen gebruiken.

Persoonlijk ben ik helemaal geen fan van BASCOM / PICBasic (eerder een fel tegenstander), maar ja, als het doet wat het moet doen...

Wel ironisch trouwens, dat je BASCOM gebruikt, maar intussen wel een shift-right gebruikt omdat dat efficiënter is dan een normale integer deling. Overigens zou dat bij een fatsoenlijke compiler niet nodig mogen zijn, die moet doorhebben dat je altijd door 4 deelt, en daarvoor geoptimaliseerde code genereren.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Scotch, je gebruikt best een isp header of kem. Dit wil zeggen dat je ergens een blokje met 6 aansluitingen voorziet op je printje (4 verbonden met de AVR, massa en Vcc) Hier sluit je nadien dan je programmer op aan. Of je gebruikt een klem dat je over de AVR zet en deze verbindingen ook maakt om te programmeren.
Een goede programmer is de AVRISP mkII, je kan er ook een zelf maken maar koop er best een, zodat je daar geen problemen mee hebt.

Lucky luke, die Getadc(), is daar geen variant van die enkel het ADCH register teruggeeft? De ADC unit van een AVR kan de 10 bits links of rechts uitlijnen. Als je maar 8 bit nauwkeurigheid wilt, dan laat je links uitlijnen en hoef je enkel het ADCH uitlezen, direct wat je wil en sneller :) (niet dat het nodig is maar toch eens vragen)
Voor de rest, tof!

True story bro!
Frederick E. Terman

Honourable Member

Op 28 mei 2009 19:36:00 schreef Lucky luke:
code is af, en getest. ...

Prachtig. Ook leuk in het commentaar: de LED gaat weer een TIKJE harder branden. Heel passend! :)

Keramisch, kalibratie, parasitair: woordenlijst.org

Ik heb net even 2 test schakelingen in elkaar gesoldeerd.

De eerste gebruikt een piezo element om een PNP tor open te sturen, waarmee een condensator opgeladen wordt. Met een emittervolger wordt dan spanning over de LED en zijn weerstand geregeld.

Deze doet het vrij aardig, alleen vind ik de gevoeligheid wat aan de lage kant. Misschien dat ik dat nog wat kan verbeteren door wat met de weerstandjes en zo te spelen.

Onderdelen: 2 torren, 1 condensator, 3 weerstanden, 1 LED, 1 piezo element.

Het andere schakelingetje is een heel simpel probeersel; een piezo element met een diode in serie tussen de gate en source van een N-channel FET, de LED met een weerstandje in serie met de drain.

Op zich doet deze het ook wel, maar hij wil niet echt lekker faden; de FET gaat te snel door het lineaire gebied, waardoor het heel erg aan-uit gedrag wordt.

Onderdelen: 1 FET (IRF630), 1 diode (1N4007), 1 LED, 1 weerstand, 1 piezo element.

Ik zal even kijken of ik er dadelijk een paar foto's / filmpjes van kan maken. Ik heb zelf geen digitale camera, dus ik kan niets beloven.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Nu wordt het echt analoog vs digitaal ;)

@Luckyluke, kan ik op deze schakeling meerdere LEDs aansturen? Je hebt alleen een 5volt voeding toch?

Ik heb de onderdelen bij farnell geselecteerd. Zou je voor mij willen controleren of het klopt?

1. programmer: http://nl.farnell.com/jsp/search/productdetail.jsp?sku=1135517
2. controller: http://nl.farnell.com/jsp/search/productdetail.jsp?sku=9171649
3. diode: http://nl.farnell.com/jsp/search/productdetail.jsp?sku=9844619
4. sensor (een van de twee):
a. http://nl.farnell.com/jsp/search/browse.jsp?N=5184
b. http://nl.farnell.com/jsp/search/productdetail.jsp?sku=1192550
5. LED's (een van de twee):
a. http://nl.farnell.com/vishay/vlmw11r2s2-5k8l-08/led-0603-white/dp/1561…
b. http://nl.rs-online.com/web/search/searchBrowseAction.html?method=getP…

Ik ga even zoeken of ik in de buurt (dordrecht) een zaak kan vinden waar ze het hebben, dan kan ik er vast een maken. De lokale elektroboer (radiobeurs) heeft de controller igg niet).

2. Die AVR is smd, je hebt DIP nodig en neem een andere type de ATiny2313, kan nog wat sneller ook, altijd handig :-p

4. Ga je die piezo film sensor niet proberen te bemachtigen? Lijkt mij echt perfect, vooral omdat het een kracht sensor is en geen schok sensor.

edit:
5. Die LED's zijn ook smd, je kan niets van smd op een breadboard prikken.

[Bericht gewijzigd door plantrekker op vrijdag 29 mei 2009 12:42:47 (11%)

True story bro!

Dit topic is gesloten