Idékläckning: Förslag till minimalistiska byggen med PIC/AVR
Idékläckning: Förslag till minimalistiska byggen med PIC/AVR
Den här tråden är menad som en idékläckningslek där vi hjälps åt att föreslå realistiska elektronikbyggen kring en enchipsdator som t.ex. AVR eller PIC. Helst ska projektförslagen gå att använda till något vettigt men onödiga leksaker är inte helt fel. Däremot tycker jag att vi ska vara sparsamma med rena dumheter även om humor kan vara trevligt i lagom dos.
Grunden i idékläckningsleken är en liten enkel enchipsdator av valfritt slag och ett batteri eller annan spänningskälla. Utöver detta får vi bara lägga till några enstaka komponenter av enklare slag som t.ex. tryckknapp, lysdiod, piezo-högtalare, fotomotstånd, kondensator, spole, motstånd, reedswitch (magnetiskt tungelement), kontaktdon, transistor m.m.
Extra chip som t.ex. minneskretsar eller OP-amp kan också få vara ok, bara totala antalet komponenter stannar vid några enstaka. Lösningar som Arduino-kort eller Basic-Stamp tycker jag är fusk.
Jag drar några exempel för att visa hur jag tänker:
Med endast en 32.768 kHz klockkristall, en tryckknapp och en lysdiod har jag byggt en klocka som genom korta och långa blinkningar berättar tiden. Det påminner om morse men är en tidsmässigt mer effektiv metod med seriell BCD-kod.
Med endast en piezo-högtalare och ett eventuellt motstånd kan man upprätta dubbelriktad kommunikation och t.ex. programmera sig ett litet labyrintspel där man flyttar sig i labyrinten genom att knacka på piezo-högtalaren olika antal gånger för "höger", "vänster" och "ta ett steg". Högtalaren talar sedan om hur labyrintens väggar ser ut genom olika piptoner.
En liten melodispelare kanske?
En lysdiod kan om den kopplas mellan TVÅ portar på processorn användas även som ljussensor. Därmed kan man skapa en dubbelriktad serieport så att två eller flera enheter kan dockas mot varandra och överföra data. Med denna teknik kan man skapa riktigt minimalistiska byggen med avancerade funktioner. Men vad?
Med en 38kHz IR-sensor och en IR-LED kan man bygga sig enkel dataöverföring för lite större avstånd. En tryckknapp eller två till detta kanske? Endast en IR-LED och en tryckknapp kan bli en "TV-be-gone", alltså en liten dosa som stänger av all fjärrstyrd hemelektronik genom att rabbla igenom en rad olika avstängningskommandon för olika fabrikat.
En fånig gimmick jag funderat på är "ugglan": Endast fyra lysdioder, processor och batteri. En av lysdioderna kopplas mellan två portar så den även kan fungera som ljussensor. Lysdioderna monteras parvis vertikalt och bildar då två ögon på ett litet djur. (ungefär så här: 8 8 )
Några stycken "ugglor" med gula LED placeras i ett träd och sitter sedan där och blinkar med sina "ögonlock" i nattens mörker.
Just i skrivande stund har jag slut på idéer, någon annan vill kanske ta över?
Grunden i idékläckningsleken är en liten enkel enchipsdator av valfritt slag och ett batteri eller annan spänningskälla. Utöver detta får vi bara lägga till några enstaka komponenter av enklare slag som t.ex. tryckknapp, lysdiod, piezo-högtalare, fotomotstånd, kondensator, spole, motstånd, reedswitch (magnetiskt tungelement), kontaktdon, transistor m.m.
Extra chip som t.ex. minneskretsar eller OP-amp kan också få vara ok, bara totala antalet komponenter stannar vid några enstaka. Lösningar som Arduino-kort eller Basic-Stamp tycker jag är fusk.
Jag drar några exempel för att visa hur jag tänker:
Med endast en 32.768 kHz klockkristall, en tryckknapp och en lysdiod har jag byggt en klocka som genom korta och långa blinkningar berättar tiden. Det påminner om morse men är en tidsmässigt mer effektiv metod med seriell BCD-kod.
Med endast en piezo-högtalare och ett eventuellt motstånd kan man upprätta dubbelriktad kommunikation och t.ex. programmera sig ett litet labyrintspel där man flyttar sig i labyrinten genom att knacka på piezo-högtalaren olika antal gånger för "höger", "vänster" och "ta ett steg". Högtalaren talar sedan om hur labyrintens väggar ser ut genom olika piptoner.
En liten melodispelare kanske?
En lysdiod kan om den kopplas mellan TVÅ portar på processorn användas även som ljussensor. Därmed kan man skapa en dubbelriktad serieport så att två eller flera enheter kan dockas mot varandra och överföra data. Med denna teknik kan man skapa riktigt minimalistiska byggen med avancerade funktioner. Men vad?
Med en 38kHz IR-sensor och en IR-LED kan man bygga sig enkel dataöverföring för lite större avstånd. En tryckknapp eller två till detta kanske? Endast en IR-LED och en tryckknapp kan bli en "TV-be-gone", alltså en liten dosa som stänger av all fjärrstyrd hemelektronik genom att rabbla igenom en rad olika avstängningskommandon för olika fabrikat.
En fånig gimmick jag funderat på är "ugglan": Endast fyra lysdioder, processor och batteri. En av lysdioderna kopplas mellan två portar så den även kan fungera som ljussensor. Lysdioderna monteras parvis vertikalt och bildar då två ögon på ett litet djur. (ungefär så här: 8 8 )
Några stycken "ugglor" med gula LED placeras i ett träd och sitter sedan där och blinkar med sina "ögonlock" i nattens mörker.
Just i skrivande stund har jag slut på idéer, någon annan vill kanske ta över?
Re: Idékläckning: Förslag till minimalistiska byggen med PIC
https://en.wikipedia.org/wiki/TV-B-Gone
Edit: Schema och källkod mm finns fritt (GPL) tillgängligt!
http://www.lochraster.org/unzap/


Edit: Schema och källkod mm finns fritt (GPL) tillgängligt!
http://www.lochraster.org/unzap/

Re: Idékläckning: Förslag till minimalistiska byggen med PIC
Jag har ju haft en fundering på att bygga enkla fyrsimulatorer (för att träna navigering med scouterna). Fast det är kanske för simpelt? :)
Att få en uC att blinka en lampa i ett förprogrammerat mönster är ju jättelätt, man får tillräcklig noggrannhet med internoscillatorn och yttre komponenterna blir en ett motstånd och en drivtransistor i stort sett.
Utmaningen är att göra den konfigurerar på ett sätt som "vem som helst" kan fatta.
Mina första funderingar var att köra med en hexadecimal vridomkopplare, men de är väldigt dyra jämföra med resten av komponenterna och ger ju då bara 16 olika program att välja på...
Att använda en tryckknapp (hålla inne/trycka beroende på vad man ska göra) och en kvitteringslysdiod är ju en billigare metod, men där blir det nog svårt att ha fler än kanske 8 olika program (det blir dels jobbigt att stega fram till rätt, och svårt att indikera valt program på ett vettigt sätt på lysdioden).
Att programmera via serieport kräver ju i princip inga komponenter alls, två I/O-pinnar och så kan man köra 300 bps (högre hastighet behövs ju inte). Man får skriva ett enkelt terminalinterface bara. Nackdelen är ju att man behöver en programmeringskabel och en dator för att programmera.
En kombination av serieportsprogrammering och en tryckknapp med indikeringsdiod för att välja program är nog den mest optimala lösningen. Då kan varje fyr ha kanske 8 inlagda program (som man lagt in via terminal) och som man kan välja mellan med en enkel tryckknapp (ex. hålla in tre sekunder för att aktivera val, sen stegar man med tryck och lysdioden blinkar "glas" för vilket program man är på, och så håller man inne 3 sekunder igen för att avsluta valet).
"Glas" går ju från 1 till 8 och är ju "sjömässiga" så det är ett snyggt sätt att indikera:) http://sv.wikipedia.org/wiki/Glas_%28tidsenhet%29
Fördelen är att dubbelblinken är enklare att se än om den bara blinkar 1-8 gånger.
Själva "programmen" tänkte jag att man enkelt kan göra som listor av bytes. 0 är "slut", 1-255 är tiondels sekunder, varannat värde är "tänd" och varannat är "släckt".
Ska man blinka 2 s tänd 2 s släckt blir alltså programmet 20,20,0.
Ett alternativ till serieporten är ju annars IrDA, men det kan vaar svårt att hitta datorer med IrDA-port idag tror jag... Det har ju i princip blivit frånåkt av blåtand idag.
Det går antagligen att bygga med en 8-pinnars kapsel, 2 pinnar för serieporten, en för knappen, en för lampan och en för lysdioden (om man inte använder lampan som indikering, men den är lite långsammare än en lysdiod så jag tror en separat lysdiod är vettigare, den kan ju även blinka olika statussignaler).
Att få en uC att blinka en lampa i ett förprogrammerat mönster är ju jättelätt, man får tillräcklig noggrannhet med internoscillatorn och yttre komponenterna blir en ett motstånd och en drivtransistor i stort sett.
Utmaningen är att göra den konfigurerar på ett sätt som "vem som helst" kan fatta.
Mina första funderingar var att köra med en hexadecimal vridomkopplare, men de är väldigt dyra jämföra med resten av komponenterna och ger ju då bara 16 olika program att välja på...
Att använda en tryckknapp (hålla inne/trycka beroende på vad man ska göra) och en kvitteringslysdiod är ju en billigare metod, men där blir det nog svårt att ha fler än kanske 8 olika program (det blir dels jobbigt att stega fram till rätt, och svårt att indikera valt program på ett vettigt sätt på lysdioden).
Att programmera via serieport kräver ju i princip inga komponenter alls, två I/O-pinnar och så kan man köra 300 bps (högre hastighet behövs ju inte). Man får skriva ett enkelt terminalinterface bara. Nackdelen är ju att man behöver en programmeringskabel och en dator för att programmera.
En kombination av serieportsprogrammering och en tryckknapp med indikeringsdiod för att välja program är nog den mest optimala lösningen. Då kan varje fyr ha kanske 8 inlagda program (som man lagt in via terminal) och som man kan välja mellan med en enkel tryckknapp (ex. hålla in tre sekunder för att aktivera val, sen stegar man med tryck och lysdioden blinkar "glas" för vilket program man är på, och så håller man inne 3 sekunder igen för att avsluta valet).
"Glas" går ju från 1 till 8 och är ju "sjömässiga" så det är ett snyggt sätt att indikera:) http://sv.wikipedia.org/wiki/Glas_%28tidsenhet%29
Fördelen är att dubbelblinken är enklare att se än om den bara blinkar 1-8 gånger.
Själva "programmen" tänkte jag att man enkelt kan göra som listor av bytes. 0 är "slut", 1-255 är tiondels sekunder, varannat värde är "tänd" och varannat är "släckt".
Ska man blinka 2 s tänd 2 s släckt blir alltså programmet 20,20,0.
Ett alternativ till serieporten är ju annars IrDA, men det kan vaar svårt att hitta datorer med IrDA-port idag tror jag... Det har ju i princip blivit frånåkt av blåtand idag.
Det går antagligen att bygga med en 8-pinnars kapsel, 2 pinnar för serieporten, en för knappen, en för lampan och en för lysdioden (om man inte använder lampan som indikering, men den är lite långsammare än en lysdiod så jag tror en separat lysdiod är vettigare, den kan ju även blinka olika statussignaler).
Re: Idékläckning: Förslag till minimalistiska byggen med PIC
nerre:
Du skulle ju kunna ha en simpel blåtand-till-serieport som du ploppar in fyrarna i och som pratar med mobiltelefonen. Då har du ju alltid tillgång till en terminal.
Du skulle ju kunna ha en simpel blåtand-till-serieport som du ploppar in fyrarna i och som pratar med mobiltelefonen. Då har du ju alltid tillgång till en terminal.
Re: Idékläckning: Förslag till minimalistiska byggen med PIC
Varför inte en mikrofon och en lydiod och detta kan då bli en knackräknare. Dvs du knackar 3 gånger den blinkar 3 gånger osv.
Re: Idékläckning: Förslag till minimalistiska byggen med PIC
Det är inte hur många gånger den ska blinka som är det intressanta, det är hur långa perioderna av ljus och mörker är.
http://sv.wikipedia.org/wiki/Fyrkarakt%C3%A4r
http://www.carpemare.net/fyr/fyrar.htm
Och sen kommer ju prylarna att användas utomhus, jag tror inte en ljudkänslig styrning är optimalt direkt... Det bör snarare vara en knapp som man trycker in med ett gem i ett hål typ.
Johanb, då kan jag väl lika gärna använda en USB-serieport att plugga in i fyrarna? USB är ju vanligare än blåtand idag.
Fast du kanske menade att med en blåtandserieport skulle man även kunna använda mobilen för att programmera dem? Problemet är väl att få mobiler idag har ett terminalprogram...
http://sv.wikipedia.org/wiki/Fyrkarakt%C3%A4r
http://www.carpemare.net/fyr/fyrar.htm
Och sen kommer ju prylarna att användas utomhus, jag tror inte en ljudkänslig styrning är optimalt direkt... Det bör snarare vara en knapp som man trycker in med ett gem i ett hål typ.
Johanb, då kan jag väl lika gärna använda en USB-serieport att plugga in i fyrarna? USB är ju vanligare än blåtand idag.
Fast du kanske menade att med en blåtandserieport skulle man även kunna använda mobilen för att programmera dem? Problemet är väl att få mobiler idag har ett terminalprogram...
Re: Idékläckning: Förslag till minimalistiska byggen med PIC
Några minimalistiska byggen jag gjort:
MCU + några LEDs så har du en Tärning:

MCU + två RGB-leds så har du en Färgklocka:

Två motstånd + en MCU är allt som krävs för en videosignal, går att göra tex ett enkelt tv-spel:

Finns massa annat väldigt enkelt tex:
MCU + led-matris så går det att bygga spel, skyltar mm.
Termometer mha MCU + antingen text-LCD eller LED-display
MCU + piezohögtalare kan spela en enkel melodi.
Går att hitta på småsaker i all oändlighet
MCU + några LEDs så har du en Tärning:

MCU + två RGB-leds så har du en Färgklocka:

Två motstånd + en MCU är allt som krävs för en videosignal, går att göra tex ett enkelt tv-spel:

Finns massa annat väldigt enkelt tex:
MCU + led-matris så går det att bygga spel, skyltar mm.
Termometer mha MCU + antingen text-LCD eller LED-display
MCU + piezohögtalare kan spela en enkel melodi.
Går att hitta på småsaker i all oändlighet

Re: Idékläckning: Förslag till minimalistiska byggen med PIC
en variant på rickardg:s förslag:
en tempsensor + mcu + rgb-led så kan man visualisera temperaturen
byt ut mot valfri sensor så är möjligheterna oändliga!
en tempsensor + mcu + rgb-led så kan man visualisera temperaturen
byt ut mot valfri sensor så är möjligheterna oändliga!
Re: Idékläckning: Förslag till minimalistiska byggen med PIC
Jag använde exempelkoden från Microchip och byggde en USB-HID med en 18F4550. Den använde musklassen och snurrade runt
muskpekaren i cirklar när den stoppades in i en kompatibel dator. Skitkul att ha på jobbet när man diskret tryckte in den i någons
laptopdocka och njöt av förvirringen från lite avstånd. En tanke vore att radiostyra den med någon enkel mottagare så att man kunde stänga av och på musens snurrfunktion och kanske även implementera keyboardklassen och skriva käcka meddelanden i det
dokument offret råkar ha öppet. Möjligheterna är oändliga.
muskpekaren i cirklar när den stoppades in i en kompatibel dator. Skitkul att ha på jobbet när man diskret tryckte in den i någons
laptopdocka och njöt av förvirringen från lite avstånd. En tanke vore att radiostyra den med någon enkel mottagare så att man kunde stänga av och på musens snurrfunktion och kanske även implementera keyboardklassen och skriva käcka meddelanden i det
dokument offret råkar ha öppet. Möjligheterna är oändliga.
Re: Idékläckning: Förslag till minimalistiska byggen med PIC
På förra jobbet gjorde just ett litet video-spel med en ATmega85, två motstånd, en kristall och en tryckknapp.
Den har en framebuffer (en bit per pixel) och massa snygga c-funktioner t.ex. set_pixel(3,4);
Vi implementerade spelet Blitz. Upplösningen var hissnande 40*30 pixlar. Men det funkade!
Har nog källkoden kvar om nån vill leka. Koden är helt ok skriven vill jag minnas.
(Har även en mer användbar variant för ATmega168 med 80*60 pixlar)
Fast man borde ha en helt annan approach och köra med SPI och inte framebuffer utan mer som 64:an (?) körde
med ett litet antal högupplösta patterns som kan placeras ut.
MVH: Mikael
Den har en framebuffer (en bit per pixel) och massa snygga c-funktioner t.ex. set_pixel(3,4);
Vi implementerade spelet Blitz. Upplösningen var hissnande 40*30 pixlar. Men det funkade!
Har nog källkoden kvar om nån vill leka. Koden är helt ok skriven vill jag minnas.
(Har även en mer användbar variant för ATmega168 med 80*60 pixlar)
Fast man borde ha en helt annan approach och köra med SPI och inte framebuffer utan mer som 64:an (?) körde
med ett litet antal högupplösta patterns som kan placeras ut.
MVH: Mikael
-
- Inlägg: 81
- Blev medlem: 13 april 2010, 14:40:04
- Ort: Stockholm
Re: Idékläckning: Förslag till minimalistiska byggen med PIC
Den här konstruktionen har förhållandevis få komponenter:
Det är ankdatorn, nästa stora grej efter ipad.
Det är ankdatorn, nästa stora grej efter ipad.