Hur du använder Dragon Rider 500 med din AVR Dragon (10 / 10 steg)
Steg 10: RSS-läsare med serieanslutning och LCD
Hårdvara
Vi använder den Dragon Rider 500 som en utveckling. Detta ger alla hårdvara du behöver (förutsatt att du har alla dessa tillägg Kit). Som sagt du verkligen kan göra detta med din egen installation av maskinvara:
- ATmega8 mikrokontroller (eller någon som har en USART och tillräckligt stift för alla anslutningar
- Något sätt att programmera mikrokontroller (jag använder AVR Dragon)
- MAX232 chip för seriell kommunikation
- DB9-kontakten
- HD44780 LCD-skärm
- Crystal (jag använde en 8MHz kristall)
- Diverse kondensatorer och motstånd
En schematisk ges nedan.
Dragon Rider behöver vi använda några kreativitet att dirigera anslutningar. Normalt kan Port D anslutas direkt till rubriken LCD. Detta är inte fallet här eftersom USART behövs för seriell anslutning använder PD0 och PD1. Dessutom kan inte Port B användas eftersom PB6 och PB7 används för extern kristallen.
Bilden nedan är min lösning på detta problem. Jag kopplar in en bandkabel till rubrikerna för LCD, Port B och Port D, sedan använda hoppare ledningar för att göra de rätt vägarna. Glöm inte att koppla upp spänning och marken till rubriken LCD.
Programvara
Programvaran för detta projekt kommer i två delar, den inbyggda programvaran för mikrokontroller och python-skript för skrapning på RSS-flöden och skicka dem seriell anslutning.
AVR Firmware
Jag använder Peter Fleury LCD biblioteket igen (http://jump.to/fleury). Det är kraftfulla och koncisa, mångsidig och lätt att ändra för din installation av maskinvara. Om man tittar på rubriken filen bifogas (lcd.h) du kommer att se att jag kör i 4-bitars läge med Port D som databitar och Port B som kontroll bitar.
Begreppet denna firmware är söt enkel:
- När påslagen mikrokontroller visar "RSS-läsare" och sedan väntar för seriella data.
- Varje byte av seriell data fick orsakar en buffert av 16 tecken till SKIFT kvar och lägga till byten i bufferten, sedan Visa bufferten.
- Tre särskilda kommandon accepteras av mikrokontroller: 0x00, 0x01 och 0x02. Dessa är klar skärm, flytta till linje 0, och flytta till linje 1 respektive.
Python Scrypt
Jag skrev en pyton skript för att skrapa RSS-data och sända den över seriell anslutning. Detta kräver python module "pyserial" som du förmodligen kommer att installera på ditt system för att få detta att fungera.
RSS-feeden kan konfigureras överst i filen pyton. Märker att du måste ange ett namn för fodret samt fodret url. Det finns tre exempel där, jag är säker på att du kan följa de för korrekt syntx.
Att göra det hela fungerar
- Montera hårdvara
- Programmera mikrokontroller (dragon_rss.hex kan användas om du inte vill kompilera det själv). Säkring inställningarna för ATmega8 med en 8 MHz kristall: lfuse = 0xEF hfuse = 0xD9
- Driva upp draken ryttare och se till att den seriella kabeln är ansluten (LCD bör läsa: "RSS-läsare")
- Kör python programmet (python serial_rss.py)
- Njut av