ESP8266 Module eingetroffen

Hallo Mikrocontroller Fans,

ich hatte aufgrund einer interessanten Anfrage gestern kurzfristig zwei ESP8266 Module bei eBay geordert, welche heute schon eingetroffen sind:

Bei der schnellen Lieferzeit kann ich den eBay Händler nur wärmstens empfehlen;)

Diese beiden Module sind für mich der Einstieg in das Thema Internet of Things (IoT).

Habt Ihr Vorschläge und Anregungen, wie das in die STM32 Welt eingebunden werden sollte? Dann ab damit in die Kommentare;)

Hier ein paar Bilder:

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...
Veröffentlicht unter Allgemein | Verschlagwortet mit , | Schreib einen Kommentar

Gameboy Emulator nachtrag

hier noch ein schnelles bugfix mit Y-Mirror der Sprites
und einem Cyclecounter zum optimieren der render Funktion.

Veröffentlicht unter Allgemein | Schreib einen Kommentar

Update vom Gameboy Emulator

Die Version B.15 vom Gameboy Emulator für den F746
hat jetzt 4 verschiedene Roms im Flash.

Die Geschwindigkeit ist noch nicht überzeugend
und die Sprites sind auch noch nicht komplett fertig
aber zum testen reicht es mal.

LINK

Veröffentlicht unter STM32F746 | Schreib einen Kommentar

37 in 1 Sensor Kit

Hallo Mikrocontroller Fans,

ich habe über eBay dieses 37 in 1 Sensor Kit geordert, um damit die STM32F746 Libs auf Basis von STM32Cube aufzubauen. Ja ich weiß, der STM32F7 ist dafür völlig „oversized“ – aber für mich ist das ein schöner Einstieg;) Und möglicherweise ist es ja auch ein schöner Einstieg für Umsteiger vom Arduino zum ARM STM32;)

Beschreibung:

Diese Sensoren sind typischerweise für Arduino Projekte gedacht und es gibt auch eine schöne Wiki Seite dazu, welche insgesamt 40 +4 Sensoren im Detail beschreiben: SensorKit X40

In meinem Kit sind 37 Sensoren enthalten, welche ich an das STM32F746 Discovery anschließen werde. Wie ich finde ein super günstiges Paket für Experimente. Ich habe mich für die Version mit  Aufbewahrungsbox entschieden, und dafür noch ein paar Euros dazu bezahlt. Ohne Aufbewahrungsbox kostest das Kit ca. 11,50 EUR.

Lieferinhalt:

  1. KY-001 Temperatur Sensor Modul
  2. KY-002 Erschütterungs-Schalter Modul
  3. KY-003 Hall Magnetfeld-Sensor Modul
  4. KY-004 Taster-Modul
  5. KY-005 Infrarot Transmitter Modul
  6. KY-006 Passives Piezo-Buzzer Modul
  7. KY-008 Lasersensormodul
  8. KY-009 RGB LED SMD Modul
  9. KY-010 Lichtschranken-Modul
  10. KY-011 2-Farben (Rot+Grün) 5mm LED Modul
  11. KY-012 Aktives Piezo-Buzzer Modul
  12. KY-013 Temperatur-Sensor Modul
  13. KY-015 Kombi-Sensor Temperatur+Feuchtigkeit
  14. KY-016 RGB 5mm LED Modul
  15. KY-017 Neigungsschalter Modul
  16. KY-018 Fotowiderstand Modul
  17. KY-019 5V Relais Modul
  18. KY-020 Neigungs-Schalter Modul
  19. KY-021 Mini Magnet Reed Modul
  20. KY-022 Infrarot Receiver Modul
  21. KY-023 Joystick Modul (XY-Achsen)
  22. KY-024 Linear magnetic Hall Sensor
  23. KY-025 Reed Modul
  24. KY-026 Flammen-Sensor Modul
  25. KY-027 Magic Light Cup Modul
  26. KY-028 Temperatur Sensor Modul (Thermistor)
  27. KY-029 2-Farben (Rot+Grün) 3mm LED Modul
  28. KY-031 Klopf-Sensor Modul
  29. KY-032 Hindernis Detektor Modul
  30. KY-033 Tracking Sensor Modul
  31. KY-034 7 Farben LED Flash-Modul
  32. KY-035 Bihor Magnet Sensor Modul
  33. KY-036 Metall-Touchsensor Modul
  34. KY-037 Mikrofon Sensor Modul (hohe Empfindlichkeit)
  35. KY-038 Mikrofon Sound Sensor Modul
  36. KY-039 Herzschlag Sensor Modul
  37. KY-040 Kodierter Drehschalter (Rotary Encoder)

Was sagt Ihr dazu?

LG, Manfred

PS: Falls Ihr noch Verbindungskabel braucht, empfehle ich diese vom selben Händler, und ein Breadbord ist für den einfachen Testaufbau ebenfalls empfehlenswert;) Oder vielleicht gleich das UNO R3 Starter Kit Extension Board.

 


Wie hat Dir dieser Beitrag gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (1 Bewertungen, Durchschnitt: 5,00 von 5)
Loading...
Veröffentlicht unter Allgemein | 12 Kommentare

Visual Studio Code installation

Falls jemand von euch auch x86 Programme erstellt hier eine Anleitung
für Visual-Studio-Code und MinGW als compiler.

LINK

Veröffentlicht unter Allgemein | Schreib einen Kommentar

Kleines Demo mit DCF77 Funkuhrmodul und I2C Text LCD

Hallo Mikrocontroller Fans,

weil ich hier ein DCF77 Emfangsmodul (DCF1 von Pollin Electronic GmbH) rumliegen hatte, dachte ich mir, das wäre doch ideal für ein kleines Demo mit der neuen I2C Text LCD Library. Ich habe die 96-DCF77-Library (STM32F4) eingebunden und für den STM32F429 portiert.

Das I2C Text LCD habe ich an folgenden Pins angeschlossen:

  1. GND an GND
  2. VCC an +5V
  3. SDA an PC9
  4. SCL an PA8

Das DCF77 Empfangsmodul benötigt folgende Anschlüsse:

  1. VCC an +3V
  2. GND an GND
  3. DATA an PB0
  4. PON – nicht belegt

Features:

  • Wahlweise an 16×2 oder 20×4 LCD verwendbar
  • Automatischer I2C Portscan
  • LCD Hintergrundbeleuchtung mittels User Button ein- und ausschaltbar
  • Grüne LED zeigt aktive Verbindung zum DCF77 Sender
  • Rote LED zeigt Sekundensignal
  • Uhrzeit läuft auch bei unterbrochener Verbindung zum DCF77 Sender weiter

Hier zwei Bilder vom Testaufbau mit Vergleich der ermittelten Zeit zu meiner CASIO Funkuhr:

Main.c:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
//--------------------------------------------------------------
// File     : main.c
// Datum    : 8.03.2018
// Version  : 1.00
// Autor    : Manfred Becker (MB)
// EMail    : -
// Web      : http://mikrocontroller.bplaced.net/
// CPU      : STM32F407 (Discovery-Board)
// IDE      : CooCox CoIDE 1.7.8
// GCC      : 4.7 2012q4
// Module   : CMSIS_BOOT, M4_CMSIS_CORE
//          : stm32_ub_led.c (ab Version 1.0)
//          : stm32_ub_button.c (ab Version 1.0)
//          : stm32_ub_i2c1.c (ab Version 1.3)
//          : stm32_ub_i2c2.c (ab Version 1.3)
//          : stm32_ub_i2c3.c (ab Version 1.3)
//          : stm32_ub_lcd_text_i2c.c (ab Version 1.0)
//          : stm32_ub_dcf77.c (ab Version 1.0)
//          : printf.c (ab Version 07.11.2013)
// Funktion : Demo der LCD Text Anbindung ueber I2C-LoLevel-Library
// Hinweis  : Diese zwei Files muessen auf 8MHz stehen
//              "cmsis_boot/stm32f4xx.h"
//              "cmsis_boot/system_stm32f4xx.c"
//--------------------------------------------------------------
 
#include "main.h"
#include "stm32_ub_lcd_text_i2c.h"
#include "stm32_ub_dcf77.h"
#include "stm32_ub_button.h"
#include "stm32_ub_led.h"
#include "stdio.h" // fuer sprintf() Funktion
 
 
//--------------------------------------------------------------
// Pause (ohne Timer)
// Delay :  in ms
//--------------------------------------------------------------
void Delay(uint32_t delay)
{
	uint32_t ms = delay * (SystemCoreClock / 15000U);
	while(ms--)
	{
	}
}
 
 
int main(void)
{
	LCD_TEXT_DISPLAY_t myLCD = { 
	TI2C3,	// I2C Modul (1=I2C1, 2=I2C2 oder 3=I2C3)
	0,		// I2C Adresse des LCD Displays. Falls unbekannt dann auf 0 setzen und PortScan laufen lassen.
	20,		// Anzahl Zeichen je Zeile
	4, 		// Anzahl Zeilen
	1		// LCD Hintergrundbeleuchtung (0=Aus, 1=Ein)
	};
 
	DCF77_Status_t status,old_status=99;
	uint8_t old_sek = 99;
	uint8_t tick = 0;
	uint8_t ss=0,mm=0,hh=0,DD=0,MM=0,JJ=0;
 
	char buf[20+1];
	char date[10+1];
	char time[8+1];
 
	SystemInit(); // Quarz Einstellungen aktivieren
 
	UB_Button_Init(); // Init der Buttons
	UB_Led_Init();    // Init der LEDs
 
	// Init der I2C1-Schnittstelle
	UB_I2C_Init(&myLCD);
 
	// I2C Port Scan starten?
	if (myLCD.slave_adr==0x00)
	{
		// I2C Port Scan starten von 0x01 bis 0x7F
		if ((myLCD.slave_adr = UB_LCD_TEXT_I2C_PortScan(&myLCD, 0x01, 0x7F)) != 0x00)
		{
			char txt[16];
			sprintf(txt,"I2C-Adr: 0x%02x", myLCD.slave_adr);
 
			// Init vom LC-Display
			UB_LCD_TEXT_I2C_Init(&myLCD);
 
			// Text auf Zeile-1 ausgeben
			UB_LCD_TEXT_I2C_String(&myLCD,0,0,txt);
			UB_LCD_TEXT_I2C_Delay(3000);
		}
		else
		{
			//ToDo: Fehlerbehandlung
		}
	}
 
	// Init vom LC-Display
	UB_LCD_TEXT_I2C_Init(&myLCD);
 
	// init vom DCF77-Modul
	UB_DCF77_Init();
 
	UB_LCD_TEXT_I2C_String(&myLCD,0,0,"DCF77");
 
	while(1)
	{
		// Test auf OnClick vom Button
		if(UB_Button_OnClick(BTN_USER)==true)
		{
			UB_LCD_TEXT_I2C_Backlight_Toggle(&myLCD); // LCD Hintergrundbeleuchtung toggeln
		}
 
		Delay(100); //UB_LCD_TEXT_I2C_Delay(100);
		UB_Led_Off(LED_RED); // rote LED ausschalten
 
 
		status=UB_DCF77_ReadTime();
 
		if(status!=old_status)
		{
			old_status=status;
			if(status==DCF77_NO_SIGNAL)  UB_LCD_TEXT_I2C_String(&myLCD,0,1,"No signal!");
			if(status==DCF77_READING)    UB_LCD_TEXT_I2C_String(&myLCD,0,1,"Reading...");
			if(status==DCF77_TIME_ERROR) UB_LCD_TEXT_I2C_String(&myLCD,0,1,"Error!    ");
			if(status==DCF77_TIME_OK)    UB_LCD_TEXT_I2C_String(&myLCD,0,1,"OK!       ");
		}
		if(status==DCF77_TIME_OK)
		{
			UB_Led_On(LED_GREEN); // grüne LED einschalten
 
			if(DCF77_TIME.sek!=old_sek)
			{
				old_sek=DCF77_TIME.sek;
				hh=DCF77_TIME.std; mm=DCF77_TIME.min; ss=DCF77_TIME.sek;
				DD=DCF77_TIME.tag; MM=DCF77_TIME.monat; JJ=DCF77_TIME.jahr;
 
				sprintf(time,"%02d:%02d:%02d",hh,mm,ss);
				UB_LCD_TEXT_I2C_String(&myLCD,myLCD.maxx-8,0,time);
 
				if (myLCD.maxy>=2)
				{
					sprintf(date,"%02d.%02d.20%02d",DD,MM,JJ);
					UB_LCD_TEXT_I2C_String(&myLCD,myLCD.maxx-10,1,date);
				}
 
				if (myLCD.maxy>=3)
				{
					sprintf(buf,"hh=%02d, mm=%02d, ss=%02d",hh,mm,ss);
					UB_LCD_TEXT_I2C_String(&myLCD,0,2,buf);
				}
				if (myLCD.maxy>=4)
				{
					sprintf(buf,"DD=%02d, MM=%02d, JJ=%02d",DD,MM,JJ);
					UB_LCD_TEXT_I2C_String(&myLCD,0,3,buf);
				}
 
				tick = 0;
 
				UB_Led_On(LED_RED);  // rote LED einschalten
			}
		}
		else
		{
			UB_Led_Off(LED_GREEN); // grüne LED ausschalten
 
			if ((tick++)>=10)
			{
				tick = 0;
				if ((++ss)>=60)
				{
					ss=0;
					if ((++mm)>=60)
					{
						mm=0;
						if ((++hh)>=24)
						{
							hh=0;
						}
					}
				}
				sprintf(time,"%02d:%02d:%02d",hh,mm,ss);
				UB_LCD_TEXT_I2C_String(&myLCD,myLCD.maxx-8,0,time);
				UB_Led_On(LED_RED);  // rote LED einschalten
			}
		}
	}
}

Downloads:

Ich habe jeweils für STM32F407-Disco und STM32F429-Disco die kompletten CooCox Projektordner für euch zum Download bereitgestellt.

STM32F407_Demo_99_LCD_Text_I2C_DCF77
STM32F407_Demo_99_LCD_Text_I2C_DCF77

Hier der komplette CooCox-Projektordner zum Download :


STM32F429_Demo_29_LCD_Text_I2C_DCF77
STM32F429_Demo_29_LCD_Text_I2C_DCF77

Hier der komplette CooCox-Projektordner zum Download :

Viel Spass damit,
Manfred


Wie hat Dir dieser Beitrag gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (1 Bewertungen, Durchschnitt: 5,00 von 5)
Loading...
Veröffentlicht unter STM32F4, STM32F429 | Verschlagwortet mit , , , | Schreib einen Kommentar

Artikel der Woche: UPlay Basic Interpreter per XMC2Go

Hallo Mikrocontroller Fans,

ich hab’s eben erst gesehen: auf der mikrocontroller.net Seite ist UPlay Basic Interpreter per XMC2Go Artikel der Woche.

Tolle Sache;)

Veröffentlicht unter Allgemein | Schreib einen Kommentar

Neues WordPress Plugin installiert: Simple Download Monitor

Bisher kann ich nur mutmaßen, wie viele Downloads meiner Libraries durchgeführt werden. Um das genau zu monitoren habe ich jetzt den Simple Download Monitor installiert.

Um damit ein Download Item zu erstellen müssen folgende Dinge erledigt werden:

  1. WordPress WP-Admin -> Downloads -> Add New
  2. Titel eingeben
  3. Beschreibung eingeben
  4. Datei aus der Mediathek auswählen
  5. Download veröffentlichen
  6. Nun kann entweder der Shortcode kopiert und im Beitrag oder auf der Seite eingefügt werden.
  7. Oder man verwendet im Beitrag oder auf der Seite im WP-Editor den Button „SDM Downloads Button“

Wie hat Dir dieser Beitrag gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...
Veröffentlicht unter WordPress | Verschlagwortet mit , | Schreib einen Kommentar

Neue Library für STM32F407 und STM32F429: LCD-Text-I2C-Library

Hallo Mikrocontroller Fans,

hier ist sie nun meine erste Library um Text LCD Displays seriell via I2C anzubinden.

Ich habe die Umsetzung sowohl für das STM32F407 als auch für das STM32F429 Discovery Board geschrieben:

Bitte gebt mir Feedback, ob die Library auch mit euren Displays funktioniert.

Viel Spass damit,
Manfred

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (1 Bewertungen, Durchschnitt: 4,00 von 5)
Loading...
Veröffentlicht unter STM32F4, STM32F429 | Verschlagwortet mit , , , , , , , | Schreib einen Kommentar

XNet Minimalbeispiel

hier der Anfang einer Doku und ein Minimalbeispiel für zwei Nodes
(STM32F103 und STM32F407)

xnet-UB

xnet_f103

xnet_f407

 

Veröffentlicht unter Allgemein | 1 Kommentar