microcontrollori:

Microcontrollori PIC, microcontrollori Atmel, microcontrollori ARM, Freescale, Texas Instruments, STM, Renesas, NXP etc. A 8bit, a 16bit ed a 32bit! In questa categoria troverete progetti sui microcontrollori, firmware per programmare microcontrollori e tutorial. Ci sono anche articoli su Arduino e DSC, i microcontrollori con a bordo funzioni DSP e molto altro!

EOS Top12 – Settembre 2016

Facebook LinkedIn Email WhatsAppÈ online EOS Top12 di settembre la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete molti articoli e progetti interessanti: Flip & Click, un'innovativa scheda per la prototipazione rapida compatibile con Arduino e programmabile in Python; come prevenire i terremoti; controllare i droni attraverso la mente; un alimentatore da laboratorio regolabile 45 W; i valori della ricerca tecnologica, ingegneri VS scienziati; getting started con Flip & Click; MEMS; cucinare gli arrosticini con Flip & Click; indirizzamento per la gestione dei sistemi di alimentazione; convertitori DC-DC per applicazioni railway; applicazioni USB con …

Come allestire un framework per consentire l’esecuzione di più task in parallelo su un PIC16F877

Facebook LinkedIn Email WhatsAppCome allestire un framework per consentire l’esecuzione di più task in parallelo su un PIC16F877 Disporre di uno scheduler per un PIC16F877 è sicuramente utile in quanto rende possibile l’esecuzione di più tasks in parallelo ottimizzando così le performance del micro. L’approccio, implementato nel listato 1, è il seguente: Inizializzazione di  TIMER1  per generare un interrupt ogni milli-secondo; ad ogni interrupt vengono aggiornate alcune variabili gestibili anche dal programma principale per determinare gli intervalli di esecuzione delle applicazioni. Il listato 1 consente di eseguire task ad intervalli multipli di 1ms, 10ms, 100ms o 1 secondo. Nel programma  principale …

Ottimizzazione del codice

Facebook LinkedIn Email WhatsAppMicrocontrollori PIC e compilatori C di Hi-Tech: come ottimizzare il codice per massimizzare la velocità di esecuzione in applicazioni embedded. Come effettuare una conversione RS232/DMX con AVR. Suggerimenti generici Spesso, nelle applicazioni embedded, è necessario ottimizzare il codice per ottenere le massime prestazioni in termini di velocità di esecuzione. Una delle cause di rallentamento nell’esecuzione del codice usando microcontrollori PIC, è la commutazione dei banchi di memoria. In fase di inizializzazione è buona norma dunque inizializzare prima le variabili e i registri nel banco 0, quindi quelli del banco 1 e così via. Ecco di seguito altri suggerimenti …

Conversione seriale/DMX con AVR

Facebook LinkedIn Email WhatsAppCONVERSIONE SERIALE/DMX CON AVR Ecco  come  realizzare un  convertitore  da  seriale verso  il  protocollo   DMX  tipicamente  usato  nel campo  del  controllo  dei  sistemi  di  illuminazione. L’hardware è piuttosto semplice: un AVR (90S2313) il  cui  UART (PD0 e PD1) sono  connessi  ad  un MAX232, mentre il PB0 connesso ad un MAX485. Il sistema funziona con un cristallo da 4MHz e l’UART dovrà essere impostato su 19200bps, 8 bit dati, 1 stop bit e nessuna parità. Connettendo il sistema ad un PC via RS232 il protocollo di comunicazione consiste nei seguenti passi: Il  PC  invia  all’AVR  il  byte  0xFF …

Il controller DMA nel Freescale MCF5213

Facebook LinkedIn Email WhatsAppIl microcontrollore Freescale (ora NXP) MCF5213 è dotato di un controller DMA a 4 canali per velocizzare le operazioni di accesso diretto alla memoria. MCF5213 rappresenta una famiglia di microcontrollori a 32 bit ad alta integrazione basata su un'architettura ColdFire e core V2 di Freescale  Semiconductor (ora NXP). Ecco una descrizione dettagliata del modulo con i relativi segnali, registri e modalità di trasferimento dati. Introduzione I micro di questa famiglia dispongono di SRAM interna fino a 32KB e 256 KB di memoria Flash oltre a quattro timer a 32 bit in grado di inoltrare richieste in DMA, un …

PARALLAX PROPELLER: 8 microcontrollori a 32 bit in un unico package

Facebook LinkedIn Email WhatsAppIl multicontrollore Propeller è un dispositivo della Parallax inc. contenente otto processori RISC a 32 bit e può gestire direttamente un’uscita video VGA, videocomposito, una tastiera, un mouse. Ben otto processori RISC a 32  bit   indipendenti, tutti uguali, sincronizzati dallo stesso clock che può arrivare alla frequenza massima di  80MHz. Gli otto  processori, chiamati COG, condividono  le risorse comuni  del Propeller  quali  registri  di   I/O   e timer, mentre l’accesso alla memoria RAM/ROM avviene tramite un HUB che sincronizza le richieste dei singoli  COG.  Per  questo  motivo, per definire il Propeller, è più appropriato il termine multicontrollore. Introduzione I vantaggi di questa …

Real time clock SPI con PIC16F628

Facebook LinkedIn Email WhatsAppDS1305 è un Real Time Clock con porta I2C. Ecco come utilizzarlo con un PIC16F628 e come monitorarlo attraverso una connessione seriale RS232. REAL TIME CLOCK SPI CON PIC16F628 Lo schema di figura 1 mostra la connessione tra il modulo RTC ed il   PIC, connessione effettuata mediante interfaccia SPI a tre fili. Per questa applicazione è possibile utilizzare anche un DS1306. Il PIC legge i dati dal DS1305 e li invia ad un PC attraverso una connessione RS232. La linea DTR della porta seriale è utilizzata per resettare il PIC ed avviare quindi il programma. La conversione …

FTDI porta la tecnologia touch nei progetti esistenti grazie all’Embedded Video Engine

Facebook LinkedIn Email WhatsAppQuando Apple ha lanciato l'iPhone, quasi dieci anni fa, ha innescato una rivoluzione nel campo della progettazione delle interfacce utente per i sistemi embedded. Anche se i touch screen erano già in uso da alcuni decenni, ad esempio nei terminali CAD o nei sofisticati controlli industriali, l'integrazione dei gesti nelle interfacce uomo-macchina aprì la strada a molte nuove possibilità di interazione.   Oltre al tocco, gli utenti hanno imparato gesti semplici come "pitch" e "zoom", pizzicare e allargare, e presto hanno iniziato a chiedere la presenza di maggiori funzionalità anche negli altri dispositivi utilizzati. Introduzione Per i …

Configurazione del modulo PWM del PIC16F877

Facebook LinkedIn Email WhatsAppCONFIGURAZIONE DEL MODULO PWM DEL  PIC16F877 I registri usati per la configurazione del modulo PWM sono: TRISC, PR2, CCP1CON, CCP2CON, CCPR1L, CCPR2L e T2CON. Tipicamente il modulo PWM viene utilizzato per il controllo dei motori. È dunque molto importante determinare la frequenza e la larghezza dell’impulso in base alla propria applicazione. Alcuni motori richiedono frequenze di impulsi relativamente basse (inferiori ai 5KHz) mentre altri richiedono frequenze più elevate, tipicamente dell’ordine dei 15-20KHz. Il listato 1 mostra come utilizzare il modulo PWM del PIC16F877 con i compilatori CCS. #include <16f877.h> #ORG 0x1F00,0x1FFF {} /* Reserve memory for bootloader for the 8k …

Pilotare un modulo ad ultrasuoni con un PIC16F877

Facebook LinkedIn Email WhatsAppPILOTARE UN MODULO AD ULTRASUONI CON UN PIC16F877 Il modulo SRF04 è un dispositivo ad ultrasuoni che consente di rilevare la vicinanza di oggetti fino a 3 metri. Il sensore invia un segnale ad ultrasuoni e capta l’eco generato dagli oggetti vicini. Per determinare la distanza di un oggetto  dal sensore è dunque necessario  misurare il ritardo che intercorre tra l’invio del segnale e la ricezione dell’eco. Tale tempo, moltiplicato per la velocità del suono (che può  essere considerata  costante  e pari  a 347m/s) consente di ricavare la distanza dell’oggetto. Nel listato 1 la funzione che calcola la …

EOS Top12 – Giugno 2016

Facebook LinkedIn Email WhatsAppÈ online EOS Top12 di giugno la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete molti articoli e progetti dedicati a Raspberry Pi e non solo: serratura comandata con uno smartwatch e una Raspberry Pi; OpenWeatherMap, come vestirsi in base al tempo con Raspberry Pi; sensore PixyCam per Arduino e Raspberry Pi; fotocamera a infrarossi EYE-PI con Raspberry Pi; creiamo un gioco istruttivo con il RaspberryPi; architettura del dsPIC33F, il DSC della Microchip; 5 sistemi operativi per Raspberry Pi assolutamente da provare; il kit Robot NIBO Burger; disattivatore Wi-Fi di Droni …

Il Timer del PIC16F877 e i compilatori CCS

Facebook LinkedIn Email WhatsAppIL TIMER DEL PIC16F877 E I COMPILATORI CCS La periferica timer è una delle periferiche base messe a disposizione  da  un  microcontrollore. Per i PIC, i compilatori CCS forniscono funzioni per  la  gestione  di  ritardi,  per  monitorare  un tempo trascorso ed altre utilità legate appunto al timer del microcontrollore. Il PIC16F877 dispone di ben tre periferiche timer note come Timer0, Timer1 e Timer2. Questi sono sostanzialmente dei contatori incrementati automaticamente in base alla frequenza del clock secondo un eventuale fattore di scala impostato mediante prescaler. Timer0 è ad 8 bit mentre gli altri sono a 16 bit. Con …

EOS Top12 – Maggio 2016

Facebook LinkedIn Email WhatsAppÈ online EOS Top12 di maggio la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete articoli di qualità sul mondo dei microcontrollori e molti progetti interessanti: Digital Signage; Kit sensori per Arduino; droni e relativi aspetti progettuali; alimentare il Raspberry Pi con una comune batteria; misura del rumore 2nV/√Hz e della reiezione a 120dB di segnali dell’alimentatore in regolatori lineari; monitor con tecnologia E Ink; IoT nell’agricoltura; motori passo-passo; approccio geometrico alla teoria dei numeri; un innovativo violino creato con la stampante 3D; controllo motore e servomotore per Arduino; periferiche analogiche …

Usare un sensore di prossimità ad infrarossi

Facebook LinkedIn Email WhatsAppUSARE UN SENSORE DI PROSSIMITÀ AD INFRAROSSI Il GP2D12 è un sensore di prossimità ad infrarossi di tipo analogico utilizzato tipicamente per il rilevamento di ostacoli. Il sensore è costituito da un LED ad infrarossi la cui luce (invisibile all’occhio umano) viene riflessa dagli ostacoli e captata da un fotodiodo contenuto nel sensore stesso. La tensione di uscita del fotodiodo è proporzionale alla quantità di luce infrarossa captata quindi sarà tanto maggiore quanto più il sensore si trova vicino all’ostacolo. La tensione analogica in uscita dal sensore può essere inviata all’ingresso analogico di un PIC16F877 che lo converte …

Gestione del sensore di temperatura 1-WIRE DS1820 con AVR

Facebook LinkedIn Email WhatsAppLa gestione del sensore di temperatura 1-wire DS1820 con AT90S2343-1: le routines di lettura, setup, invio comandi e conversione in linguaggio assembler. Ecco come leggere il sensore di temperatura DS1820 utilizzando il protocollo 1-wire implementato  su un AT90S2343-1 con oscillatore RC interno a 1MHz. Il sensore è connesso alla portb0. Il listato 1 riporta la routine  integrale. Oltre a mostrare la gestione del sensore 1-wire, la routine mostra anche la conversione del  valore di  temperatura  letto  dal  sensore e  la gestione degli eventuali errori di lettura. ;************************************************************ .equ convert_t= $44 .equ tx= $be .equ led=3 .def temp= r16 …

EOS Top12 – Aprile 2016

Facebook LinkedIn Email WhatsAppÈ online EOS Top12 di aprile, la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete articoli di qualità sul mondo dei microcontrollori e molti progetti interessanti: Aperitivo Tecnologico, il nuovo evento organizzato dallo staff di Elettronica Open Source; C-Control, soluzioni per l’automazione; le soluzioni ARM Cortex-M per il Wearable e IoT; ZUBI, un progetto hardware e software per gestire la stampante 3D wireless; una serie di esperimenti con la Demo Board Freescale HC08; Robot Beginner KIT V2; HOVR, un innovativo dispositivo per bruciare calorie a lavoro; programmazione in C; monitoraggio wireless …

Luxmetro con range da 1 a 100 klx

Facebook LinkedIn Email WhatsAppLe tradizionali lampadade ad incandescenza sono state gradualmente tolte dalla produzione in numerosi paesi, inclusa l’Europa e il Canada. Sono rimaste in produzione le lampade alogene, le lampade ad alta efficienza energetica, e le lampade a led, più efficienti rispetto a quelle ad incandescenza. Tuttavia, quando si vuole scegliere il modello di lampada più efficiente, non resta che fidarsi dei dati forniti dal produttore. Sappiamo che fidarsi è bene, ma è sicuramente meglio essere in grado di eseguire le misure da soli. Il luxmetro descritto in questo progetto è proprio lo strumento che occorre per questo scopo. …

Programmazione degli ADuC via seriale

Facebook LinkedIn Email WhatsAppUna panoramica sul microcontrollore ADuC, della Analog Devices e l’analisi del protocollo utilizzato per la sua programmazione. La famiglia degli ADuC, basata sul core 8052, comprende diverse varianti a seconda del progetto a cui essi sono destinati.  Perciò sono identificati  da un valore numerico, proprio come un normale circuito integrato. I modelli e loro caratteristiche Introduzione: Gli ADuC rappresentano un ottimo condensato di elettronica mixed-signal, in quanto sono dotati al loro interno, oltre ad un core 8052, anche un ADC, DAC e dei banchi di memoria programma e dati (Figura 1). La tabella 1 elenca i vari …

Porting del codice da IAR-C a GCC/WINAVR

Facebook LinkedIn Email WhatsAppPORTING DEL CODICE Per chi usa microcontrollori  AVR, può  essere  utile sapere che con piccoli accorgimenti è possibile compilare con GCC/WinAVR il codice scritto per IAR-C. Ecco alcuni utilissimi consigli. Registri e  locazioni  di  memoria  possono avere diversi alias definiti nei files .H di IAR e di WinAVR. È dunque consigliato editare tali file per avere uniformità nella nomenclatura. Inoltre i file .H non vengono richiamati automaticamente ma devono essere inclusi esplicitamente utilizzando la direttiva #INCLUDE. In IAR le routines di interruzione vengono gestite utilizzando la direttiva #PRAGMA: #pragma vector=TIMER0_0VF_vect __interrupt void NomeRoutine(){ //codice della routine } …

Esperimenti con la Demo Board Freescale HC08

Facebook LinkedIn Email WhatsAppUn economico kit di sviluppo di Freescale (ora NXP) permette di esplorare in maniera semplice e veloce le possibilità dei micro HCS08. La DEMO9S08QG8  è una scheda di sviluppo a basso costo dedicata al microcontrollore  MC9S08QG8 che mette a disposizione tutto  il necessario per iniziare a sviluppare delle applicazioni per questo microcontrollore  e per testarle. Ecco una serie di esperimenti utili per conoscerli e iniziare ad usarli. LA DEMO BOARD HC08 La scheda monta un debugger integrato (BDM) accessibile via USB che permette di programmare il microcontrollore ed eseguire il debug in-circuit dei programmi. Con la scheda …

Accesso alla EEPROM nei micro AVR

Facebook LinkedIn Email WhatsAppACCESSO ALLA EEPROM NEI MICRO AVR Scrittura ad un indirizzo specifico Il listato 1 presenta una routine  per la scrittura in EEPROM ad uno specifico indirizzo. La routine EEWrite assume che in EEdwr vi sia il dato da scrivere, in EEawr e EEawrh rispettivamente la parte bassa e la parte alta dell’indirizzo a cui scrivere. In figura 1 il diagramma di flusso della routine. La routine occupa 9 words (oltre il return) e viene eseguita in 11 cicli (oltre il return) se la EEPROM è pronta. .include “8515def.inc” .def EEdwr =r16 ;data byte to write to …

Controllo CRC32 con PIC

Facebook LinkedIn Email WhatsAppIl controllo di ridondanza ciclica (altrettanto noto come CRC) è ampiamente utilizzato per la verifica dell’integrità dei dati nei sistemi di comunicazione: ecco come implementarlo su un PIC18F452. Controllo CRC32 con PIC Il listato 1 riporta l’implementazione dell’algoritmo CRC32 basato sul polinomio  04C11DB7 per microcontrollore PIC18F452. Questo tipo di controllo CRC è lo stesso utilizzato nei pacchetti Ethernet e dall’algoritmo di compressione ZIP. Il dato ed il valore corrente del CRC dovranno trovarsi rispettivamente in W e crc[0..3]. La routine restituisce il nuovo valore del CRC utilizzando 94 istruzioni eseguite in 35/85 cicli. list p=p18f452 #include p18f452.inc …

Aperitivo tecnologico Milano – Come rendere Arduino Professionale

Facebook LinkedIn Email WhatsAppDal 7 al 14 maggio si svolgerà a Milano un importante evento dal titolo "Disruptive Week Milan", una settimana di eventi nazionali ed internazionali coordinati dedicati alle tecnologie emergenti per evidenziare il modo in cui stanno modificando il nostro business e la vita quotidiana. All'interno di questo grande evento verrà ospitato anche l'EW&D Fortronic, appuntamento dedicato alle tecnologie Embedded, Wireless e Display che si concluderà con un aperitivo tecnologico sul tema “Come rendere Arduino Professionale”, organizzato dallo staff di Elettronica Open Source. L'EW&D Fortronic, è un forum di aggiornamento tecnologico sulle soluzioni Embedded, Wireless e Display …

Real-Time clock con AT89C4051

Facebook LinkedIn Email WhatsAppUn orologio/datario con visualizzazione su display LCD realizzato con un AT89C4051. In figura 1 è riportato lo schema elettrico. Lo switch SW3 permette di selezionare il parametro da modificare mentre con SW1 ed SW2 rispettivamente si decrementa o si incrementa il parametro selezionato. Il listato 4 riporta alcune delle funzioni per l’implementazione dell’orologio. /*---------------------------------------------------- ****** port and bit assignment for LCD ******* ----------------------------------------------------*/ typedef unsigned char bit_8; sbit rs=P3^5; // register select is port 3.5 sbit rw=P3^4; // read/write is port 3.4 sbit en=P3^3; // enable is port 3.3 sbit d7=P1^7; // busy flag is port 1.7 …

EOS Top12 – Marzo 2016

Facebook LinkedIn Email WhatsAppÈ online EOS Top12 di marzo, la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete articoli di qualità sul mondo dei microcontrollori e molti progetti interessanti: Raspberry Pi 3, l'ultimissimo modello con WiFi e Bluetooth integrati; RENKFORCE Jak streaming Wi-Fi; OLO, il primo smartphone per stampare oggetti in 3D; progettazione di filtri digitali con i dsPIC Microchip; CuBox, il mini-computer con sistema operativo Linux e Android; Internet-of-Things Power Meter; ArduSiPM Shield KIT, un rivelatore di raggi cosmici e radiazioni nucleari; un innovativo e-reader da 13.3 pollici; Armadillo-43T & PICadillo-35T; AVR STUDIO …

Flip&Click Arduino e Python compatibile

Fai un abbonamento Platinum (EOS-Book + Firmware), ricevi in OMAGGIO la nuova Flip&Click, inviaci il tuo progetto e OTTIENI IL RIMBORSO