Dit is echt zo'n post voor mijzelf om later terug te vinden welk kleur stekkertje nou eigenlijk wat is/was.
Ik heb op mijn breadbord een 7805 voedingkje inelkaar gestoken om te gebruiken met een 9V DC (300mA) adapter die hier rondslingerde. De zogenaamde 9V adapter levert overigens 12V DC onbelast.
Adapter: Groen: GND. Blauw: Vcc (9V).
De witte steker (pin 3, 7805) is de 5V out.
Het is dit schema: http://embedded-lab.com/blog/wp-content/uploads/2010/10/PowerS.jpg
Alles bijelkaar op een stukje gaatjes print lijkt me een mooie oplossing: http://www.instructables.com/id/5V-breadboard-mini-PSU/
vrijdag 27 december 2013
Geared motortjes (china - samenkopen)
Ik heb de volgende motortjes (met vertraging):
(onhandige foto op zijn kop... HIER zijn ze beter te zien.)
Het is een simpele DC motor met vertraging, afkomstig van "niels" van samenkopen (China/ledsee). Maar ze zijn "overal te koop" op ebay.
Ik heb wat getest:
Het is een simpele DC motor met vertraging, afkomstig van "niels" van samenkopen (China/ledsee). Maar ze zijn "overal te koop" op ebay.
Ik heb wat getest:
5V : no load current: 200 mA.
stall current: niet gemeten.
Snelheid: Ongeveer 30 tot 60 RPM (heel erg natte vinger werk) bij 5V.
Wordt vervolgd.
zaterdag 21 december 2013
Attiny85 op breadbord met de Arduino IDE
Na de attiny2313 is het nu tijd voor de attiny85. Een compacte (DIP8) en goedkope (1euro30) avr chip, die toch geschikt is voor programmeren via de Arduino IDE. Met 6 in/out pins toch nog heel erg bruikbaar.
Aangesloten op breadboard:
Rechts een attiny2313 en links de attiny85.
Met behulp van de ArduinoISP heb ik de inmiddels standaard "fade" sketch geladen. Even de juiste pins opzoeken:
De LED zit aan pin 6 (=pin 1 in Arduino IDE).
In rood gelijk de ISP pinouts toegevoegd. Daar zal ik nog vaak naar terugspieken.
Ik heb nu een breadbordje met twee attiny's die beide een LEDje aan en uit laten faden. Ik heb de ins en outs van Arduino IDE / avrdude in combinatie met attiny's, ArduinoISP e.d. nu wel door. Tijd voor een "echt" projectje.
ArduinoISP: Een avr programmeren met een Arduino ISP als programmer
Omdat er 100 dingen fout kunnen gaan (en ook gingen), is dit een echt "naslagwerk" blogje:
Ik heb een attiny2313 op een breadbord geprogrammeerd met behulp van een Arduino UNO als programmer. Dat gaat als volgt:
ArduinoISP sketch (bij examples) programmeren in de Arduino UNO.
5V, GND aansluiten.
pin 10: reset (pin 1 attiny2313)
pin 11: MISO (pin 17)
pin 12: MOSI (pin 18)
pin 13: SCK (pin 19)
(Bron: http://www.ernstc.dk/arduino/2313.htm)
Een 10uF of 100nF condensator tussen reset en pin 1 van the attiny, werkte *niet*: Symptoom: Invalid device signature 0x0000000.
Dan avrdude:
avrdude -p t2313 -c avrisp -P COM3 -b 19200
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.07s
avrdude: Device signature = 0x1e910a
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Ik heb een attiny2313 op een breadbord geprogrammeerd met behulp van een Arduino UNO als programmer. Dat gaat als volgt:
ArduinoISP sketch (bij examples) programmeren in de Arduino UNO.
5V, GND aansluiten.
pin 10: reset (pin 1 attiny2313)
pin 11: MISO (pin 17)
pin 12: MOSI (pin 18)
pin 13: SCK (pin 19)
(Bron: http://www.ernstc.dk/arduino/2313.htm)
Een 10uF of 100nF condensator tussen reset en pin 1 van the attiny, werkte *niet*: Symptoom: Invalid device signature 0x0000000.
Dan avrdude:
avrdude -p t2313 -c avrisp -P COM3 -b 19200
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.07s
avrdude: Device signature = 0x1e910a
avrdude: safemode: Fuses OK
avrdude done. Thank you.
In de Arduino IDE werkt het ook. Al moet ik (ook met deze programmer) zo nu en dan de USB kabel in/uit pluggen als er een vage foutmelding langskomt.
woensdag 11 december 2013
Losse attiny2313 op breadbord als arduino.
Hoewel het niet veel voorstelt, is het voor mij toch weer een succesmomentje: Een attiny2313 op een breadbord die een Arduino sketch (programma) uitvoert, in dit geval "Fade". Ik had het al eerder voor elkaar op een experimenteer bordje met een AVR programmer (USBtinyISP) aangesloten, maar nu ook helemaal "los".
Ik had nog een extra attiny2313 liggen en die kan mooi ingezet worden om te combineren met een H-brug om een robotje o.i.d. in elkaar te knutselen. Ik heb ooit (1992?) geprobeerd om een "Dizzy" te bouwen, uit artikelen in de KIJK van Steven Bolt. Toen was het allemaal te ingewikkeld (en te duur) voor mij als tiener. Nu moet het er dan ooit maar van komen. Een robotje op twee wieltjes, met wat sensoren moet lukken. Gelukkig is een eenvoudige microcontroller nu veel toegangkelijker en hoef ik het niet met alleen TTL logica te doen.
De attiny2313 is afkomstig uit een Adafruit Minipov3 kitje, dat ik ooit bouwde maar verder niet gebruik. De chip is (gisteren) geprogrammeerd terwijl deze in mijn attiny bordje zat en nu in een leeg breadbord gestoken. Met alleen de Vcc, GND en een LED aangesloten draait het programma alweer en wordt de LED via PWM langzaam aan en uitgezet (gedimd).
Dit is de hele schakeling:
Voordeel van dit Arduino alternatief is de prijs. Een attiny kost 2 euro o.i.d. en die kan dus "permanent" in een robot verdwijnen. Terwijl mijn China-namaak Arduino UNO toch al 11 euro kostte excl BTW.
Wat nog ontbreekt om het een echte "Arduino" te maken is een seriƫle verbinding om sketches te kunnen uploaden en dan is ook een reset knop / reset circuit nodig. Maar helaas heb ik (nog) geen USB seriele kabel. Dus voorlopig sluit ik de usbtinyISP programmer nog gewoon aan.
Volgende stappen:
- Programmer aansluiten
- L293D H-brug aansluiten
- motoren aansluiten en testen
dinsdag 10 december 2013
boards.txt voor attiny2313 @8Mhz
Dit is een werkende "boards.txt" voor een attiny2313 die op 8Mhz draait (interne oscillator). In de Arduino IDE (arduino-tiny) core. De fuses kloppen. (Uitgelezen met avr-dude). Blink draait op de juiste snelheid:
###########################################################################
attiny2313at8.name=ATtiny2313 @ 8 MHz (int osc)
# The following do NOT work...
# attiny2313at8.upload.using=avrispv2
# attiny2313at8.upload.using=Pololu USB AVR Programmer
# The following DO work (pick one)...
attiny2313at8.upload.using=arduino:arduinoisp
# attiny2313at8.upload.protocol=avrispv2
# attiny2313at8.upload.using=pololu
attiny2313at8.upload.maximum_size=2048
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny2313at8.bootloader.low_fuses=0xe4
attiny2313at8.bootloader.high_fuses=0x9F
attiny2313at8.bootloader.extended_fuses=0xFF
attiny2313at8.bootloader.path=empty
attiny2313at8.bootloader.file=empty2313at8.hex
attiny2313at8.build.mcu=attiny2313
attiny2313at8.build.f_cpu=8000000L
attiny2313at8.build.core=tiny
###########################################################################
###########################################################################
attiny2313at8.name=ATtiny2313 @ 8 MHz (int osc)
# The following do NOT work...
# attiny2313at8.upload.using=avrispv2
# attiny2313at8.upload.using=Pololu USB AVR Programmer
# The following DO work (pick one)...
attiny2313at8.upload.using=arduino:arduinoisp
# attiny2313at8.upload.protocol=avrispv2
# attiny2313at8.upload.using=pololu
attiny2313at8.upload.maximum_size=2048
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms; [CKSEL=0100 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Serial program downloading (SPI) enabled; [SPIEN=0]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny2313at8.bootloader.low_fuses=0xe4
attiny2313at8.bootloader.high_fuses=0x9F
attiny2313at8.bootloader.extended_fuses=0xFF
attiny2313at8.bootloader.path=empty
attiny2313at8.bootloader.file=empty2313at8.hex
attiny2313at8.build.mcu=attiny2313
attiny2313at8.build.f_cpu=8000000L
attiny2313at8.build.core=tiny
###########################################################################
Arduino IR zender en ontvanger
Vandaag een pakketje uit China met mijn Arduino UNO in de bus gekregen.
Na de standaard "Blink" en "Fade" probeersels heb ik een IR diode uit een afstandsbediening uit de rommeldoos gesoldeerd. Door middel van de camera van mijn telefoon kun je die zichtbaar maken, conclusie: De IR LED doet het nog.
(IR Led samen met het "Fade" Arduino voorbeeld)
Daarna een IR ontvanger (TSOP1738 of kloon) uit een XBOX1 DVD afstandsbediening ontvanger gesoldeerd. Ook deze komt uit de rommeldoos; De bijbehorende afstandbediening is allang door mijn kinderen vakkundig gesloopt. 3 draadjes eraan gesoldeerd en in het breadbord.
Vervolgens de IRremote library gebruikt, met dit voorbeeld van Sparkfun: https://learn.sparkfun.com/tutorials/ir-communication/all#receiving-ir-example
(In het breadbord is de TSOP IR ontvanger te zien hoog op 3 lange groende draden. Rechts de Arduino UNO met protoshield). De witte LED dicht op het breadbord is de IR (zend) LED.
Met deze eenvoudig schakeling (niet meer dan de TSOP1738 aangesloten op pin 11 van de arduino) kan ik de signalen van mijn TV ab feilloos ontvangen. (Die zijn zichtbaar op de serialconsole van de Arduino IDE). Best grappig om codes voorbij te zien komen als ik op een knopje druk op de afstandsbediening. Ook is duidelijk te zien dat het "ON/OFF" knopje nogal eens happert. Dat is ook bij het bedienen van de TV te merken.
En natuurlijk de pinout van deze TSOP1738-kloon. Dit blog is immers ook een geheugensteun en naslag voor mijzelf:
Al met al weinig werk, maar een flinke stap richting een eigen LEGO USB IR Tower die het doet onder win7 x64.
(Maar daarvoor is eerst een attiny2313 nodig die "USB" doet, dat is dus de volgende stap)
Na de standaard "Blink" en "Fade" probeersels heb ik een IR diode uit een afstandsbediening uit de rommeldoos gesoldeerd. Door middel van de camera van mijn telefoon kun je die zichtbaar maken, conclusie: De IR LED doet het nog.
(IR Led samen met het "Fade" Arduino voorbeeld)
Daarna een IR ontvanger (TSOP1738 of kloon) uit een XBOX1 DVD afstandsbediening ontvanger gesoldeerd. Ook deze komt uit de rommeldoos; De bijbehorende afstandbediening is allang door mijn kinderen vakkundig gesloopt. 3 draadjes eraan gesoldeerd en in het breadbord.
Vervolgens de IRremote library gebruikt, met dit voorbeeld van Sparkfun: https://learn.sparkfun.com/tutorials/ir-communication/all#receiving-ir-example
(In het breadbord is de TSOP IR ontvanger te zien hoog op 3 lange groende draden. Rechts de Arduino UNO met protoshield). De witte LED dicht op het breadbord is de IR (zend) LED.
Met deze eenvoudig schakeling (niet meer dan de TSOP1738 aangesloten op pin 11 van de arduino) kan ik de signalen van mijn TV ab feilloos ontvangen. (Die zijn zichtbaar op de serialconsole van de Arduino IDE). Best grappig om codes voorbij te zien komen als ik op een knopje druk op de afstandsbediening. Ook is duidelijk te zien dat het "ON/OFF" knopje nogal eens happert. Dat is ook bij het bedienen van de TV te merken.
En natuurlijk de pinout van deze TSOP1738-kloon. Dit blog is immers ook een geheugensteun en naslag voor mijzelf:
Al met al weinig werk, maar een flinke stap richting een eigen LEGO USB IR Tower die het doet onder win7 x64.
(Maar daarvoor is eerst een attiny2313 nodig die "USB" doet, dat is dus de volgende stap)
Abonneren op:
Posts (Atom)